github.com/cloudwan/edgelq-sdk@v1.15.4/devices/resources/v1/device/device.pb.fieldmask.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/devices/proto/v1/device.proto 3 // DO NOT EDIT!!! 4 5 package device 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 api "github.com/cloudwan/edgelq-sdk/common/api" 23 project "github.com/cloudwan/edgelq-sdk/devices/resources/v1/project" 24 iam_attestation_domain "github.com/cloudwan/edgelq-sdk/iam/resources/v1/attestation_domain" 25 iam_iam_common "github.com/cloudwan/edgelq-sdk/iam/resources/v1/common" 26 iam_service_account "github.com/cloudwan/edgelq-sdk/iam/resources/v1/service_account" 27 logging_bucket "github.com/cloudwan/edgelq-sdk/logging/resources/v1/bucket" 28 monitoring_bucket "github.com/cloudwan/edgelq-sdk/monitoring/resources/v4/bucket" 29 meta "github.com/cloudwan/goten-sdk/types/meta" 30 latlng "google.golang.org/genproto/googleapis/type/latlng" 31 durationpb "google.golang.org/protobuf/types/known/durationpb" 32 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 33 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 34 ) 35 36 // ensure the imports are used 37 var ( 38 _ = new(json.Marshaler) 39 _ = strings.Builder{} 40 41 _ = codes.NotFound 42 _ = status.Status{} 43 _ = new(proto.Message) 44 _ = new(preflect.Message) 45 _ = googlefieldmaskpb.FieldMask{} 46 47 _ = new(gotenobject.FieldMask) 48 ) 49 50 // make sure we're using proto imports 51 var ( 52 _ = &api.HealthCheckSpec{} 53 _ = &project.Project{} 54 _ = &iam_attestation_domain.AttestationDomain{} 55 _ = &iam_iam_common.PCR{} 56 _ = &iam_service_account.ServiceAccount{} 57 _ = &logging_bucket.Bucket{} 58 _ = &monitoring_bucket.Bucket{} 59 _ = &durationpb.Duration{} 60 _ = &fieldmaskpb.FieldMask{} 61 _ = ×tamppb.Timestamp{} 62 _ = &latlng.LatLng{} 63 _ = &meta.Meta{} 64 ) 65 66 type Device_FieldMask struct { 67 Paths []Device_FieldPath 68 } 69 70 func FullDevice_FieldMask() *Device_FieldMask { 71 res := &Device_FieldMask{} 72 res.Paths = append(res.Paths, &Device_FieldTerminalPath{selector: Device_FieldPathSelectorName}) 73 res.Paths = append(res.Paths, &Device_FieldTerminalPath{selector: Device_FieldPathSelectorMetadata}) 74 res.Paths = append(res.Paths, &Device_FieldTerminalPath{selector: Device_FieldPathSelectorDisplayName}) 75 res.Paths = append(res.Paths, &Device_FieldTerminalPath{selector: Device_FieldPathSelectorDescription}) 76 res.Paths = append(res.Paths, &Device_FieldTerminalPath{selector: Device_FieldPathSelectorSpec}) 77 res.Paths = append(res.Paths, &Device_FieldTerminalPath{selector: Device_FieldPathSelectorStatus}) 78 res.Paths = append(res.Paths, &Device_FieldTerminalPath{selector: Device_FieldPathSelectorPublicListingSpec}) 79 return res 80 } 81 82 func (fieldMask *Device_FieldMask) String() string { 83 if fieldMask == nil { 84 return "<nil>" 85 } 86 pathsStr := make([]string, 0, len(fieldMask.Paths)) 87 for _, path := range fieldMask.Paths { 88 pathsStr = append(pathsStr, path.String()) 89 } 90 return strings.Join(pathsStr, ", ") 91 } 92 93 func (fieldMask *Device_FieldMask) IsFull() bool { 94 if fieldMask == nil { 95 return false 96 } 97 presentSelectors := make([]bool, 7) 98 for _, path := range fieldMask.Paths { 99 if asFinal, ok := path.(*Device_FieldTerminalPath); ok { 100 presentSelectors[int(asFinal.selector)] = true 101 } 102 } 103 for _, flag := range presentSelectors { 104 if !flag { 105 return false 106 } 107 } 108 return true 109 } 110 111 func (fieldMask *Device_FieldMask) ProtoReflect() preflect.Message { 112 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 113 return ParseDevice_FieldPath(raw) 114 }) 115 } 116 117 func (fieldMask *Device_FieldMask) ProtoMessage() {} 118 119 func (fieldMask *Device_FieldMask) Reset() { 120 if fieldMask != nil { 121 fieldMask.Paths = nil 122 } 123 } 124 125 func (fieldMask *Device_FieldMask) Subtract(other *Device_FieldMask) *Device_FieldMask { 126 result := &Device_FieldMask{} 127 removedSelectors := make([]bool, 7) 128 otherSubMasks := map[Device_FieldPathSelector]gotenobject.FieldMask{ 129 Device_FieldPathSelectorMetadata: &meta.Meta_FieldMask{}, 130 Device_FieldPathSelectorSpec: &Device_Spec_FieldMask{}, 131 Device_FieldPathSelectorStatus: &Device_Status_FieldMask{}, 132 Device_FieldPathSelectorPublicListingSpec: &Device_PublicListingSpec_FieldMask{}, 133 } 134 mySubMasks := map[Device_FieldPathSelector]gotenobject.FieldMask{ 135 Device_FieldPathSelectorMetadata: &meta.Meta_FieldMask{}, 136 Device_FieldPathSelectorSpec: &Device_Spec_FieldMask{}, 137 Device_FieldPathSelectorStatus: &Device_Status_FieldMask{}, 138 Device_FieldPathSelectorPublicListingSpec: &Device_PublicListingSpec_FieldMask{}, 139 } 140 141 for _, path := range other.GetPaths() { 142 switch tp := path.(type) { 143 case *Device_FieldTerminalPath: 144 removedSelectors[int(tp.selector)] = true 145 case *Device_FieldSubPath: 146 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 147 } 148 } 149 for _, path := range fieldMask.GetPaths() { 150 if !removedSelectors[int(path.Selector())] { 151 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 152 if tp, ok := path.(*Device_FieldTerminalPath); ok { 153 switch tp.selector { 154 case Device_FieldPathSelectorMetadata: 155 mySubMasks[Device_FieldPathSelectorMetadata] = meta.FullMeta_FieldMask() 156 case Device_FieldPathSelectorSpec: 157 mySubMasks[Device_FieldPathSelectorSpec] = FullDevice_Spec_FieldMask() 158 case Device_FieldPathSelectorStatus: 159 mySubMasks[Device_FieldPathSelectorStatus] = FullDevice_Status_FieldMask() 160 case Device_FieldPathSelectorPublicListingSpec: 161 mySubMasks[Device_FieldPathSelectorPublicListingSpec] = FullDevice_PublicListingSpec_FieldMask() 162 } 163 } else if tp, ok := path.(*Device_FieldSubPath); ok { 164 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 165 } 166 } else { 167 result.Paths = append(result.Paths, path) 168 } 169 } 170 } 171 for selector, mySubMask := range mySubMasks { 172 if mySubMask.PathsCount() > 0 { 173 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 174 result.Paths = append(result.Paths, &Device_FieldSubPath{selector: selector, subPath: allowedPath}) 175 } 176 } 177 } 178 179 if len(result.Paths) == 0 { 180 return nil 181 } 182 return result 183 } 184 185 func (fieldMask *Device_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 186 return fieldMask.Subtract(other.(*Device_FieldMask)) 187 } 188 189 // FilterInputFields generates copy of field paths with output_only field paths removed 190 func (fieldMask *Device_FieldMask) FilterInputFields() *Device_FieldMask { 191 result := &Device_FieldMask{} 192 for _, path := range fieldMask.Paths { 193 switch path.Selector() { 194 case Device_FieldPathSelectorMetadata: 195 if _, ok := path.(*Device_FieldTerminalPath); ok { 196 for _, subpath := range meta.FullMeta_FieldMask().FilterInputFields().Paths { 197 result.Paths = append(result.Paths, &Device_FieldSubPath{selector: path.Selector(), subPath: subpath}) 198 } 199 } else if sub, ok := path.(*Device_FieldSubPath); ok { 200 selectedMask := &meta.Meta_FieldMask{ 201 Paths: []meta.Meta_FieldPath{sub.subPath.(meta.Meta_FieldPath)}, 202 } 203 for _, allowedPath := range selectedMask.FilterInputFields().Paths { 204 result.Paths = append(result.Paths, &Device_FieldSubPath{selector: Device_FieldPathSelectorMetadata, subPath: allowedPath}) 205 } 206 } 207 case Device_FieldPathSelectorSpec: 208 if _, ok := path.(*Device_FieldTerminalPath); ok { 209 for _, subpath := range FullDevice_Spec_FieldMask().FilterInputFields().Paths { 210 result.Paths = append(result.Paths, &Device_FieldSubPath{selector: path.Selector(), subPath: subpath}) 211 } 212 } else if sub, ok := path.(*Device_FieldSubPath); ok { 213 selectedMask := &Device_Spec_FieldMask{ 214 Paths: []DeviceSpec_FieldPath{sub.subPath.(DeviceSpec_FieldPath)}, 215 } 216 for _, allowedPath := range selectedMask.FilterInputFields().Paths { 217 result.Paths = append(result.Paths, &Device_FieldSubPath{selector: Device_FieldPathSelectorSpec, subPath: allowedPath}) 218 } 219 } 220 default: 221 result.Paths = append(result.Paths, path) 222 } 223 } 224 return result 225 } 226 227 // ToFieldMask is used for proto conversions 228 func (fieldMask *Device_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 229 protoFieldMask := &googlefieldmaskpb.FieldMask{} 230 for _, path := range fieldMask.Paths { 231 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 232 } 233 return protoFieldMask 234 } 235 236 func (fieldMask *Device_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 237 if fieldMask == nil { 238 return status.Error(codes.Internal, "target field mask is nil") 239 } 240 fieldMask.Paths = make([]Device_FieldPath, 0, len(protoFieldMask.Paths)) 241 for _, strPath := range protoFieldMask.Paths { 242 path, err := ParseDevice_FieldPath(strPath) 243 if err != nil { 244 return err 245 } 246 fieldMask.Paths = append(fieldMask.Paths, path) 247 } 248 return nil 249 } 250 251 // implement methods required by customType 252 func (fieldMask Device_FieldMask) Marshal() ([]byte, error) { 253 protoFieldMask := fieldMask.ToProtoFieldMask() 254 return proto.Marshal(protoFieldMask) 255 } 256 257 func (fieldMask *Device_FieldMask) Unmarshal(data []byte) error { 258 protoFieldMask := &googlefieldmaskpb.FieldMask{} 259 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 260 return err 261 } 262 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 263 return err 264 } 265 return nil 266 } 267 268 func (fieldMask *Device_FieldMask) Size() int { 269 return proto.Size(fieldMask.ToProtoFieldMask()) 270 } 271 272 func (fieldMask Device_FieldMask) MarshalJSON() ([]byte, error) { 273 return json.Marshal(fieldMask.ToProtoFieldMask()) 274 } 275 276 func (fieldMask *Device_FieldMask) UnmarshalJSON(data []byte) error { 277 protoFieldMask := &googlefieldmaskpb.FieldMask{} 278 if err := json.Unmarshal(data, protoFieldMask); err != nil { 279 return err 280 } 281 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 282 return err 283 } 284 return nil 285 } 286 287 func (fieldMask *Device_FieldMask) AppendPath(path Device_FieldPath) { 288 fieldMask.Paths = append(fieldMask.Paths, path) 289 } 290 291 func (fieldMask *Device_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 292 fieldMask.Paths = append(fieldMask.Paths, path.(Device_FieldPath)) 293 } 294 295 func (fieldMask *Device_FieldMask) GetPaths() []Device_FieldPath { 296 if fieldMask == nil { 297 return nil 298 } 299 return fieldMask.Paths 300 } 301 302 func (fieldMask *Device_FieldMask) GetRawPaths() []gotenobject.FieldPath { 303 if fieldMask == nil { 304 return nil 305 } 306 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 307 for _, path := range fieldMask.Paths { 308 rawPaths = append(rawPaths, path) 309 } 310 return rawPaths 311 } 312 313 func (fieldMask *Device_FieldMask) SetFromCliFlag(raw string) error { 314 path, err := ParseDevice_FieldPath(raw) 315 if err != nil { 316 return err 317 } 318 fieldMask.Paths = append(fieldMask.Paths, path) 319 return nil 320 } 321 322 func (fieldMask *Device_FieldMask) Set(target, source *Device) { 323 for _, path := range fieldMask.Paths { 324 val, _ := path.GetSingle(source) 325 // if val is nil, then field does not exist in source, skip 326 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 327 if val != nil { 328 path.WithIValue(val).SetTo(&target) 329 } 330 } 331 } 332 333 func (fieldMask *Device_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 334 fieldMask.Set(target.(*Device), source.(*Device)) 335 } 336 337 func (fieldMask *Device_FieldMask) Project(source *Device) *Device { 338 if source == nil { 339 return nil 340 } 341 if fieldMask == nil { 342 return source 343 } 344 result := &Device{} 345 metadataMask := &meta.Meta_FieldMask{} 346 wholeMetadataAccepted := false 347 specMask := &Device_Spec_FieldMask{} 348 wholeSpecAccepted := false 349 statusMask := &Device_Status_FieldMask{} 350 wholeStatusAccepted := false 351 publicListingSpecMask := &Device_PublicListingSpec_FieldMask{} 352 wholePublicListingSpecAccepted := false 353 354 for _, p := range fieldMask.Paths { 355 switch tp := p.(type) { 356 case *Device_FieldTerminalPath: 357 switch tp.selector { 358 case Device_FieldPathSelectorName: 359 result.Name = source.Name 360 case Device_FieldPathSelectorMetadata: 361 result.Metadata = source.Metadata 362 wholeMetadataAccepted = true 363 case Device_FieldPathSelectorDisplayName: 364 result.DisplayName = source.DisplayName 365 case Device_FieldPathSelectorDescription: 366 result.Description = source.Description 367 case Device_FieldPathSelectorSpec: 368 result.Spec = source.Spec 369 wholeSpecAccepted = true 370 case Device_FieldPathSelectorStatus: 371 result.Status = source.Status 372 wholeStatusAccepted = true 373 case Device_FieldPathSelectorPublicListingSpec: 374 result.PublicListingSpec = source.PublicListingSpec 375 wholePublicListingSpecAccepted = true 376 } 377 case *Device_FieldSubPath: 378 switch tp.selector { 379 case Device_FieldPathSelectorMetadata: 380 metadataMask.AppendPath(tp.subPath.(meta.Meta_FieldPath)) 381 case Device_FieldPathSelectorSpec: 382 specMask.AppendPath(tp.subPath.(DeviceSpec_FieldPath)) 383 case Device_FieldPathSelectorStatus: 384 statusMask.AppendPath(tp.subPath.(DeviceStatus_FieldPath)) 385 case Device_FieldPathSelectorPublicListingSpec: 386 publicListingSpecMask.AppendPath(tp.subPath.(DevicePublicListingSpec_FieldPath)) 387 } 388 } 389 } 390 if wholeMetadataAccepted == false && len(metadataMask.Paths) > 0 { 391 result.Metadata = metadataMask.Project(source.GetMetadata()) 392 } 393 if wholeSpecAccepted == false && len(specMask.Paths) > 0 { 394 result.Spec = specMask.Project(source.GetSpec()) 395 } 396 if wholeStatusAccepted == false && len(statusMask.Paths) > 0 { 397 result.Status = statusMask.Project(source.GetStatus()) 398 } 399 if wholePublicListingSpecAccepted == false && len(publicListingSpecMask.Paths) > 0 { 400 result.PublicListingSpec = publicListingSpecMask.Project(source.GetPublicListingSpec()) 401 } 402 return result 403 } 404 405 func (fieldMask *Device_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 406 return fieldMask.Project(source.(*Device)) 407 } 408 409 func (fieldMask *Device_FieldMask) PathsCount() int { 410 if fieldMask == nil { 411 return 0 412 } 413 return len(fieldMask.Paths) 414 } 415 416 type Device_Spec_FieldMask struct { 417 Paths []DeviceSpec_FieldPath 418 } 419 420 func FullDevice_Spec_FieldMask() *Device_Spec_FieldMask { 421 res := &Device_Spec_FieldMask{} 422 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorServiceAccount}) 423 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorLogBucket}) 424 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorMetricsBucket}) 425 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorOsVersion}) 426 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorNetplanYamlConfig}) 427 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorNetplanApiConfigMode}) 428 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorOsImageUrl}) 429 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorSshConfig}) 430 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorAttestationConfig}) 431 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorDisableDeviceDiscovery}) 432 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorLoggingConfig}) 433 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorProxyConfig}) 434 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorLocation}) 435 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorUsbGuard}) 436 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorHealthChecks}) 437 res.Paths = append(res.Paths, &DeviceSpec_FieldTerminalPath{selector: DeviceSpec_FieldPathSelectorDisableNetworkConfigFallback}) 438 return res 439 } 440 441 func (fieldMask *Device_Spec_FieldMask) String() string { 442 if fieldMask == nil { 443 return "<nil>" 444 } 445 pathsStr := make([]string, 0, len(fieldMask.Paths)) 446 for _, path := range fieldMask.Paths { 447 pathsStr = append(pathsStr, path.String()) 448 } 449 return strings.Join(pathsStr, ", ") 450 } 451 452 func (fieldMask *Device_Spec_FieldMask) IsFull() bool { 453 if fieldMask == nil { 454 return false 455 } 456 presentSelectors := make([]bool, 16) 457 for _, path := range fieldMask.Paths { 458 if asFinal, ok := path.(*DeviceSpec_FieldTerminalPath); ok { 459 presentSelectors[int(asFinal.selector)] = true 460 } 461 } 462 for _, flag := range presentSelectors { 463 if !flag { 464 return false 465 } 466 } 467 return true 468 } 469 470 func (fieldMask *Device_Spec_FieldMask) ProtoReflect() preflect.Message { 471 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 472 return ParseDeviceSpec_FieldPath(raw) 473 }) 474 } 475 476 func (fieldMask *Device_Spec_FieldMask) ProtoMessage() {} 477 478 func (fieldMask *Device_Spec_FieldMask) Reset() { 479 if fieldMask != nil { 480 fieldMask.Paths = nil 481 } 482 } 483 484 func (fieldMask *Device_Spec_FieldMask) Subtract(other *Device_Spec_FieldMask) *Device_Spec_FieldMask { 485 result := &Device_Spec_FieldMask{} 486 removedSelectors := make([]bool, 16) 487 otherSubMasks := map[DeviceSpec_FieldPathSelector]gotenobject.FieldMask{ 488 DeviceSpec_FieldPathSelectorSshConfig: &Device_Spec_SSHConfig_FieldMask{}, 489 DeviceSpec_FieldPathSelectorAttestationConfig: &Device_Spec_AttestationConfig_FieldMask{}, 490 DeviceSpec_FieldPathSelectorLoggingConfig: &Device_Spec_LoggingConfig_FieldMask{}, 491 DeviceSpec_FieldPathSelectorProxyConfig: &Device_Spec_ProxyConfig_FieldMask{}, 492 DeviceSpec_FieldPathSelectorLocation: &Device_Spec_Location_FieldMask{}, 493 DeviceSpec_FieldPathSelectorUsbGuard: &Device_Spec_USBGuard_FieldMask{}, 494 } 495 mySubMasks := map[DeviceSpec_FieldPathSelector]gotenobject.FieldMask{ 496 DeviceSpec_FieldPathSelectorSshConfig: &Device_Spec_SSHConfig_FieldMask{}, 497 DeviceSpec_FieldPathSelectorAttestationConfig: &Device_Spec_AttestationConfig_FieldMask{}, 498 DeviceSpec_FieldPathSelectorLoggingConfig: &Device_Spec_LoggingConfig_FieldMask{}, 499 DeviceSpec_FieldPathSelectorProxyConfig: &Device_Spec_ProxyConfig_FieldMask{}, 500 DeviceSpec_FieldPathSelectorLocation: &Device_Spec_Location_FieldMask{}, 501 DeviceSpec_FieldPathSelectorUsbGuard: &Device_Spec_USBGuard_FieldMask{}, 502 } 503 504 for _, path := range other.GetPaths() { 505 switch tp := path.(type) { 506 case *DeviceSpec_FieldTerminalPath: 507 removedSelectors[int(tp.selector)] = true 508 case *DeviceSpec_FieldSubPath: 509 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 510 } 511 } 512 for _, path := range fieldMask.GetPaths() { 513 if !removedSelectors[int(path.Selector())] { 514 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 515 if tp, ok := path.(*DeviceSpec_FieldTerminalPath); ok { 516 switch tp.selector { 517 case DeviceSpec_FieldPathSelectorSshConfig: 518 mySubMasks[DeviceSpec_FieldPathSelectorSshConfig] = FullDevice_Spec_SSHConfig_FieldMask() 519 case DeviceSpec_FieldPathSelectorAttestationConfig: 520 mySubMasks[DeviceSpec_FieldPathSelectorAttestationConfig] = FullDevice_Spec_AttestationConfig_FieldMask() 521 case DeviceSpec_FieldPathSelectorLoggingConfig: 522 mySubMasks[DeviceSpec_FieldPathSelectorLoggingConfig] = FullDevice_Spec_LoggingConfig_FieldMask() 523 case DeviceSpec_FieldPathSelectorProxyConfig: 524 mySubMasks[DeviceSpec_FieldPathSelectorProxyConfig] = FullDevice_Spec_ProxyConfig_FieldMask() 525 case DeviceSpec_FieldPathSelectorLocation: 526 mySubMasks[DeviceSpec_FieldPathSelectorLocation] = FullDevice_Spec_Location_FieldMask() 527 case DeviceSpec_FieldPathSelectorUsbGuard: 528 mySubMasks[DeviceSpec_FieldPathSelectorUsbGuard] = FullDevice_Spec_USBGuard_FieldMask() 529 } 530 } else if tp, ok := path.(*DeviceSpec_FieldSubPath); ok { 531 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 532 } 533 } else { 534 result.Paths = append(result.Paths, path) 535 } 536 } 537 } 538 for selector, mySubMask := range mySubMasks { 539 if mySubMask.PathsCount() > 0 { 540 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 541 result.Paths = append(result.Paths, &DeviceSpec_FieldSubPath{selector: selector, subPath: allowedPath}) 542 } 543 } 544 } 545 546 if len(result.Paths) == 0 { 547 return nil 548 } 549 return result 550 } 551 552 func (fieldMask *Device_Spec_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 553 return fieldMask.Subtract(other.(*Device_Spec_FieldMask)) 554 } 555 556 // FilterInputFields generates copy of field paths with output_only field paths removed 557 func (fieldMask *Device_Spec_FieldMask) FilterInputFields() *Device_Spec_FieldMask { 558 result := &Device_Spec_FieldMask{} 559 for _, path := range fieldMask.Paths { 560 switch path.Selector() { 561 case DeviceSpec_FieldPathSelectorLogBucket: 562 case DeviceSpec_FieldPathSelectorMetricsBucket: 563 default: 564 result.Paths = append(result.Paths, path) 565 } 566 } 567 return result 568 } 569 570 // ToFieldMask is used for proto conversions 571 func (fieldMask *Device_Spec_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 572 protoFieldMask := &googlefieldmaskpb.FieldMask{} 573 for _, path := range fieldMask.Paths { 574 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 575 } 576 return protoFieldMask 577 } 578 579 func (fieldMask *Device_Spec_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 580 if fieldMask == nil { 581 return status.Error(codes.Internal, "target field mask is nil") 582 } 583 fieldMask.Paths = make([]DeviceSpec_FieldPath, 0, len(protoFieldMask.Paths)) 584 for _, strPath := range protoFieldMask.Paths { 585 path, err := ParseDeviceSpec_FieldPath(strPath) 586 if err != nil { 587 return err 588 } 589 fieldMask.Paths = append(fieldMask.Paths, path) 590 } 591 return nil 592 } 593 594 // implement methods required by customType 595 func (fieldMask Device_Spec_FieldMask) Marshal() ([]byte, error) { 596 protoFieldMask := fieldMask.ToProtoFieldMask() 597 return proto.Marshal(protoFieldMask) 598 } 599 600 func (fieldMask *Device_Spec_FieldMask) Unmarshal(data []byte) error { 601 protoFieldMask := &googlefieldmaskpb.FieldMask{} 602 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 603 return err 604 } 605 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 606 return err 607 } 608 return nil 609 } 610 611 func (fieldMask *Device_Spec_FieldMask) Size() int { 612 return proto.Size(fieldMask.ToProtoFieldMask()) 613 } 614 615 func (fieldMask Device_Spec_FieldMask) MarshalJSON() ([]byte, error) { 616 return json.Marshal(fieldMask.ToProtoFieldMask()) 617 } 618 619 func (fieldMask *Device_Spec_FieldMask) UnmarshalJSON(data []byte) error { 620 protoFieldMask := &googlefieldmaskpb.FieldMask{} 621 if err := json.Unmarshal(data, protoFieldMask); err != nil { 622 return err 623 } 624 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 625 return err 626 } 627 return nil 628 } 629 630 func (fieldMask *Device_Spec_FieldMask) AppendPath(path DeviceSpec_FieldPath) { 631 fieldMask.Paths = append(fieldMask.Paths, path) 632 } 633 634 func (fieldMask *Device_Spec_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 635 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceSpec_FieldPath)) 636 } 637 638 func (fieldMask *Device_Spec_FieldMask) GetPaths() []DeviceSpec_FieldPath { 639 if fieldMask == nil { 640 return nil 641 } 642 return fieldMask.Paths 643 } 644 645 func (fieldMask *Device_Spec_FieldMask) GetRawPaths() []gotenobject.FieldPath { 646 if fieldMask == nil { 647 return nil 648 } 649 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 650 for _, path := range fieldMask.Paths { 651 rawPaths = append(rawPaths, path) 652 } 653 return rawPaths 654 } 655 656 func (fieldMask *Device_Spec_FieldMask) SetFromCliFlag(raw string) error { 657 path, err := ParseDeviceSpec_FieldPath(raw) 658 if err != nil { 659 return err 660 } 661 fieldMask.Paths = append(fieldMask.Paths, path) 662 return nil 663 } 664 665 func (fieldMask *Device_Spec_FieldMask) Set(target, source *Device_Spec) { 666 for _, path := range fieldMask.Paths { 667 val, _ := path.GetSingle(source) 668 // if val is nil, then field does not exist in source, skip 669 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 670 if val != nil { 671 path.WithIValue(val).SetTo(&target) 672 } 673 } 674 } 675 676 func (fieldMask *Device_Spec_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 677 fieldMask.Set(target.(*Device_Spec), source.(*Device_Spec)) 678 } 679 680 func (fieldMask *Device_Spec_FieldMask) Project(source *Device_Spec) *Device_Spec { 681 if source == nil { 682 return nil 683 } 684 if fieldMask == nil { 685 return source 686 } 687 result := &Device_Spec{} 688 sshConfigMask := &Device_Spec_SSHConfig_FieldMask{} 689 wholeSshConfigAccepted := false 690 attestationConfigMask := &Device_Spec_AttestationConfig_FieldMask{} 691 wholeAttestationConfigAccepted := false 692 loggingConfigMask := &Device_Spec_LoggingConfig_FieldMask{} 693 wholeLoggingConfigAccepted := false 694 proxyConfigMask := &Device_Spec_ProxyConfig_FieldMask{} 695 wholeProxyConfigAccepted := false 696 locationMask := &Device_Spec_Location_FieldMask{} 697 wholeLocationAccepted := false 698 usbGuardMask := &Device_Spec_USBGuard_FieldMask{} 699 wholeUsbGuardAccepted := false 700 701 for _, p := range fieldMask.Paths { 702 switch tp := p.(type) { 703 case *DeviceSpec_FieldTerminalPath: 704 switch tp.selector { 705 case DeviceSpec_FieldPathSelectorServiceAccount: 706 result.ServiceAccount = source.ServiceAccount 707 case DeviceSpec_FieldPathSelectorLogBucket: 708 result.LogBucket = source.LogBucket 709 case DeviceSpec_FieldPathSelectorMetricsBucket: 710 result.MetricsBucket = source.MetricsBucket 711 case DeviceSpec_FieldPathSelectorOsVersion: 712 result.OsVersion = source.OsVersion 713 case DeviceSpec_FieldPathSelectorNetplanYamlConfig: 714 result.NetplanYamlConfig = source.NetplanYamlConfig 715 case DeviceSpec_FieldPathSelectorNetplanApiConfigMode: 716 result.NetplanApiConfigMode = source.NetplanApiConfigMode 717 case DeviceSpec_FieldPathSelectorOsImageUrl: 718 result.OsImageUrl = source.OsImageUrl 719 case DeviceSpec_FieldPathSelectorSshConfig: 720 result.SshConfig = source.SshConfig 721 wholeSshConfigAccepted = true 722 case DeviceSpec_FieldPathSelectorAttestationConfig: 723 result.AttestationConfig = source.AttestationConfig 724 wholeAttestationConfigAccepted = true 725 case DeviceSpec_FieldPathSelectorDisableDeviceDiscovery: 726 result.DisableDeviceDiscovery = source.DisableDeviceDiscovery 727 case DeviceSpec_FieldPathSelectorLoggingConfig: 728 result.LoggingConfig = source.LoggingConfig 729 wholeLoggingConfigAccepted = true 730 case DeviceSpec_FieldPathSelectorProxyConfig: 731 result.ProxyConfig = source.ProxyConfig 732 wholeProxyConfigAccepted = true 733 case DeviceSpec_FieldPathSelectorLocation: 734 result.Location = source.Location 735 wholeLocationAccepted = true 736 case DeviceSpec_FieldPathSelectorUsbGuard: 737 result.UsbGuard = source.UsbGuard 738 wholeUsbGuardAccepted = true 739 case DeviceSpec_FieldPathSelectorHealthChecks: 740 result.HealthChecks = source.HealthChecks 741 case DeviceSpec_FieldPathSelectorDisableNetworkConfigFallback: 742 result.DisableNetworkConfigFallback = source.DisableNetworkConfigFallback 743 } 744 case *DeviceSpec_FieldSubPath: 745 switch tp.selector { 746 case DeviceSpec_FieldPathSelectorSshConfig: 747 sshConfigMask.AppendPath(tp.subPath.(DeviceSpecSSHConfig_FieldPath)) 748 case DeviceSpec_FieldPathSelectorAttestationConfig: 749 attestationConfigMask.AppendPath(tp.subPath.(DeviceSpecAttestationConfig_FieldPath)) 750 case DeviceSpec_FieldPathSelectorLoggingConfig: 751 loggingConfigMask.AppendPath(tp.subPath.(DeviceSpecLoggingConfig_FieldPath)) 752 case DeviceSpec_FieldPathSelectorProxyConfig: 753 proxyConfigMask.AppendPath(tp.subPath.(DeviceSpecProxyConfig_FieldPath)) 754 case DeviceSpec_FieldPathSelectorLocation: 755 locationMask.AppendPath(tp.subPath.(DeviceSpecLocation_FieldPath)) 756 case DeviceSpec_FieldPathSelectorUsbGuard: 757 usbGuardMask.AppendPath(tp.subPath.(DeviceSpecUSBGuard_FieldPath)) 758 } 759 } 760 } 761 if wholeSshConfigAccepted == false && len(sshConfigMask.Paths) > 0 { 762 result.SshConfig = sshConfigMask.Project(source.GetSshConfig()) 763 } 764 if wholeAttestationConfigAccepted == false && len(attestationConfigMask.Paths) > 0 { 765 result.AttestationConfig = attestationConfigMask.Project(source.GetAttestationConfig()) 766 } 767 if wholeLoggingConfigAccepted == false && len(loggingConfigMask.Paths) > 0 { 768 result.LoggingConfig = loggingConfigMask.Project(source.GetLoggingConfig()) 769 } 770 if wholeProxyConfigAccepted == false && len(proxyConfigMask.Paths) > 0 { 771 result.ProxyConfig = proxyConfigMask.Project(source.GetProxyConfig()) 772 } 773 if wholeLocationAccepted == false && len(locationMask.Paths) > 0 { 774 result.Location = locationMask.Project(source.GetLocation()) 775 } 776 if wholeUsbGuardAccepted == false && len(usbGuardMask.Paths) > 0 { 777 result.UsbGuard = usbGuardMask.Project(source.GetUsbGuard()) 778 } 779 return result 780 } 781 782 func (fieldMask *Device_Spec_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 783 return fieldMask.Project(source.(*Device_Spec)) 784 } 785 786 func (fieldMask *Device_Spec_FieldMask) PathsCount() int { 787 if fieldMask == nil { 788 return 0 789 } 790 return len(fieldMask.Paths) 791 } 792 793 type Device_Status_FieldMask struct { 794 Paths []DeviceStatus_FieldPath 795 } 796 797 func FullDevice_Status_FieldMask() *Device_Status_FieldMask { 798 res := &Device_Status_FieldMask{} 799 res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorAddresses}) 800 res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorConditions}) 801 res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorNetworkConfigState}) 802 res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorProxyConfigStatus}) 803 res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorDeviceInfo}) 804 res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorAttestationStatus}) 805 res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorNormalizedAddress}) 806 res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorConnectionStatus}) 807 res.Paths = append(res.Paths, &DeviceStatus_FieldTerminalPath{selector: DeviceStatus_FieldPathSelectorConnectionStatusChangeTime}) 808 return res 809 } 810 811 func (fieldMask *Device_Status_FieldMask) String() string { 812 if fieldMask == nil { 813 return "<nil>" 814 } 815 pathsStr := make([]string, 0, len(fieldMask.Paths)) 816 for _, path := range fieldMask.Paths { 817 pathsStr = append(pathsStr, path.String()) 818 } 819 return strings.Join(pathsStr, ", ") 820 } 821 822 func (fieldMask *Device_Status_FieldMask) IsFull() bool { 823 if fieldMask == nil { 824 return false 825 } 826 presentSelectors := make([]bool, 9) 827 for _, path := range fieldMask.Paths { 828 if asFinal, ok := path.(*DeviceStatus_FieldTerminalPath); ok { 829 presentSelectors[int(asFinal.selector)] = true 830 } 831 } 832 for _, flag := range presentSelectors { 833 if !flag { 834 return false 835 } 836 } 837 return true 838 } 839 840 func (fieldMask *Device_Status_FieldMask) ProtoReflect() preflect.Message { 841 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 842 return ParseDeviceStatus_FieldPath(raw) 843 }) 844 } 845 846 func (fieldMask *Device_Status_FieldMask) ProtoMessage() {} 847 848 func (fieldMask *Device_Status_FieldMask) Reset() { 849 if fieldMask != nil { 850 fieldMask.Paths = nil 851 } 852 } 853 854 func (fieldMask *Device_Status_FieldMask) Subtract(other *Device_Status_FieldMask) *Device_Status_FieldMask { 855 result := &Device_Status_FieldMask{} 856 removedSelectors := make([]bool, 9) 857 otherSubMasks := map[DeviceStatus_FieldPathSelector]gotenobject.FieldMask{ 858 DeviceStatus_FieldPathSelectorAddresses: &Device_Status_Address_FieldMask{}, 859 DeviceStatus_FieldPathSelectorConditions: &Device_Status_Condition_FieldMask{}, 860 DeviceStatus_FieldPathSelectorNetworkConfigState: &Device_Status_NetworkConfigState_FieldMask{}, 861 DeviceStatus_FieldPathSelectorProxyConfigStatus: &Device_Status_ProxyConfigStatus_FieldMask{}, 862 DeviceStatus_FieldPathSelectorDeviceInfo: &Device_Status_DeviceInfo_FieldMask{}, 863 DeviceStatus_FieldPathSelectorAttestationStatus: &iam_iam_common.PCR_FieldMask{}, 864 DeviceStatus_FieldPathSelectorNormalizedAddress: &Device_Status_NormalizedAddress_FieldMask{}, 865 } 866 mySubMasks := map[DeviceStatus_FieldPathSelector]gotenobject.FieldMask{ 867 DeviceStatus_FieldPathSelectorAddresses: &Device_Status_Address_FieldMask{}, 868 DeviceStatus_FieldPathSelectorConditions: &Device_Status_Condition_FieldMask{}, 869 DeviceStatus_FieldPathSelectorNetworkConfigState: &Device_Status_NetworkConfigState_FieldMask{}, 870 DeviceStatus_FieldPathSelectorProxyConfigStatus: &Device_Status_ProxyConfigStatus_FieldMask{}, 871 DeviceStatus_FieldPathSelectorDeviceInfo: &Device_Status_DeviceInfo_FieldMask{}, 872 DeviceStatus_FieldPathSelectorAttestationStatus: &iam_iam_common.PCR_FieldMask{}, 873 DeviceStatus_FieldPathSelectorNormalizedAddress: &Device_Status_NormalizedAddress_FieldMask{}, 874 } 875 876 for _, path := range other.GetPaths() { 877 switch tp := path.(type) { 878 case *DeviceStatus_FieldTerminalPath: 879 removedSelectors[int(tp.selector)] = true 880 case *DeviceStatus_FieldSubPath: 881 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 882 } 883 } 884 for _, path := range fieldMask.GetPaths() { 885 if !removedSelectors[int(path.Selector())] { 886 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 887 if tp, ok := path.(*DeviceStatus_FieldTerminalPath); ok { 888 switch tp.selector { 889 case DeviceStatus_FieldPathSelectorAddresses: 890 mySubMasks[DeviceStatus_FieldPathSelectorAddresses] = FullDevice_Status_Address_FieldMask() 891 case DeviceStatus_FieldPathSelectorConditions: 892 mySubMasks[DeviceStatus_FieldPathSelectorConditions] = FullDevice_Status_Condition_FieldMask() 893 case DeviceStatus_FieldPathSelectorNetworkConfigState: 894 mySubMasks[DeviceStatus_FieldPathSelectorNetworkConfigState] = FullDevice_Status_NetworkConfigState_FieldMask() 895 case DeviceStatus_FieldPathSelectorProxyConfigStatus: 896 mySubMasks[DeviceStatus_FieldPathSelectorProxyConfigStatus] = FullDevice_Status_ProxyConfigStatus_FieldMask() 897 case DeviceStatus_FieldPathSelectorDeviceInfo: 898 mySubMasks[DeviceStatus_FieldPathSelectorDeviceInfo] = FullDevice_Status_DeviceInfo_FieldMask() 899 case DeviceStatus_FieldPathSelectorAttestationStatus: 900 mySubMasks[DeviceStatus_FieldPathSelectorAttestationStatus] = iam_iam_common.FullPCR_FieldMask() 901 case DeviceStatus_FieldPathSelectorNormalizedAddress: 902 mySubMasks[DeviceStatus_FieldPathSelectorNormalizedAddress] = FullDevice_Status_NormalizedAddress_FieldMask() 903 } 904 } else if tp, ok := path.(*DeviceStatus_FieldSubPath); ok { 905 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 906 } 907 } else { 908 result.Paths = append(result.Paths, path) 909 } 910 } 911 } 912 for selector, mySubMask := range mySubMasks { 913 if mySubMask.PathsCount() > 0 { 914 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 915 result.Paths = append(result.Paths, &DeviceStatus_FieldSubPath{selector: selector, subPath: allowedPath}) 916 } 917 } 918 } 919 920 if len(result.Paths) == 0 { 921 return nil 922 } 923 return result 924 } 925 926 func (fieldMask *Device_Status_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 927 return fieldMask.Subtract(other.(*Device_Status_FieldMask)) 928 } 929 930 // FilterInputFields generates copy of field paths with output_only field paths removed 931 func (fieldMask *Device_Status_FieldMask) FilterInputFields() *Device_Status_FieldMask { 932 result := &Device_Status_FieldMask{} 933 result.Paths = append(result.Paths, fieldMask.Paths...) 934 return result 935 } 936 937 // ToFieldMask is used for proto conversions 938 func (fieldMask *Device_Status_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 939 protoFieldMask := &googlefieldmaskpb.FieldMask{} 940 for _, path := range fieldMask.Paths { 941 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 942 } 943 return protoFieldMask 944 } 945 946 func (fieldMask *Device_Status_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 947 if fieldMask == nil { 948 return status.Error(codes.Internal, "target field mask is nil") 949 } 950 fieldMask.Paths = make([]DeviceStatus_FieldPath, 0, len(protoFieldMask.Paths)) 951 for _, strPath := range protoFieldMask.Paths { 952 path, err := ParseDeviceStatus_FieldPath(strPath) 953 if err != nil { 954 return err 955 } 956 fieldMask.Paths = append(fieldMask.Paths, path) 957 } 958 return nil 959 } 960 961 // implement methods required by customType 962 func (fieldMask Device_Status_FieldMask) Marshal() ([]byte, error) { 963 protoFieldMask := fieldMask.ToProtoFieldMask() 964 return proto.Marshal(protoFieldMask) 965 } 966 967 func (fieldMask *Device_Status_FieldMask) Unmarshal(data []byte) error { 968 protoFieldMask := &googlefieldmaskpb.FieldMask{} 969 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 970 return err 971 } 972 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 973 return err 974 } 975 return nil 976 } 977 978 func (fieldMask *Device_Status_FieldMask) Size() int { 979 return proto.Size(fieldMask.ToProtoFieldMask()) 980 } 981 982 func (fieldMask Device_Status_FieldMask) MarshalJSON() ([]byte, error) { 983 return json.Marshal(fieldMask.ToProtoFieldMask()) 984 } 985 986 func (fieldMask *Device_Status_FieldMask) UnmarshalJSON(data []byte) error { 987 protoFieldMask := &googlefieldmaskpb.FieldMask{} 988 if err := json.Unmarshal(data, protoFieldMask); err != nil { 989 return err 990 } 991 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 992 return err 993 } 994 return nil 995 } 996 997 func (fieldMask *Device_Status_FieldMask) AppendPath(path DeviceStatus_FieldPath) { 998 fieldMask.Paths = append(fieldMask.Paths, path) 999 } 1000 1001 func (fieldMask *Device_Status_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 1002 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatus_FieldPath)) 1003 } 1004 1005 func (fieldMask *Device_Status_FieldMask) GetPaths() []DeviceStatus_FieldPath { 1006 if fieldMask == nil { 1007 return nil 1008 } 1009 return fieldMask.Paths 1010 } 1011 1012 func (fieldMask *Device_Status_FieldMask) GetRawPaths() []gotenobject.FieldPath { 1013 if fieldMask == nil { 1014 return nil 1015 } 1016 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 1017 for _, path := range fieldMask.Paths { 1018 rawPaths = append(rawPaths, path) 1019 } 1020 return rawPaths 1021 } 1022 1023 func (fieldMask *Device_Status_FieldMask) SetFromCliFlag(raw string) error { 1024 path, err := ParseDeviceStatus_FieldPath(raw) 1025 if err != nil { 1026 return err 1027 } 1028 fieldMask.Paths = append(fieldMask.Paths, path) 1029 return nil 1030 } 1031 1032 func (fieldMask *Device_Status_FieldMask) Set(target, source *Device_Status) { 1033 for _, path := range fieldMask.Paths { 1034 val, _ := path.GetSingle(source) 1035 // if val is nil, then field does not exist in source, skip 1036 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 1037 if val != nil { 1038 path.WithIValue(val).SetTo(&target) 1039 } 1040 } 1041 } 1042 1043 func (fieldMask *Device_Status_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 1044 fieldMask.Set(target.(*Device_Status), source.(*Device_Status)) 1045 } 1046 1047 func (fieldMask *Device_Status_FieldMask) Project(source *Device_Status) *Device_Status { 1048 if source == nil { 1049 return nil 1050 } 1051 if fieldMask == nil { 1052 return source 1053 } 1054 result := &Device_Status{} 1055 addressesMask := &Device_Status_Address_FieldMask{} 1056 wholeAddressesAccepted := false 1057 conditionsMask := &Device_Status_Condition_FieldMask{} 1058 wholeConditionsAccepted := false 1059 networkConfigStateMask := &Device_Status_NetworkConfigState_FieldMask{} 1060 wholeNetworkConfigStateAccepted := false 1061 proxyConfigStatusMask := &Device_Status_ProxyConfigStatus_FieldMask{} 1062 wholeProxyConfigStatusAccepted := false 1063 deviceInfoMask := &Device_Status_DeviceInfo_FieldMask{} 1064 wholeDeviceInfoAccepted := false 1065 attestationStatusMask := &iam_iam_common.PCR_FieldMask{} 1066 wholeAttestationStatusAccepted := false 1067 normalizedAddressMask := &Device_Status_NormalizedAddress_FieldMask{} 1068 wholeNormalizedAddressAccepted := false 1069 1070 for _, p := range fieldMask.Paths { 1071 switch tp := p.(type) { 1072 case *DeviceStatus_FieldTerminalPath: 1073 switch tp.selector { 1074 case DeviceStatus_FieldPathSelectorAddresses: 1075 result.Addresses = source.Addresses 1076 wholeAddressesAccepted = true 1077 case DeviceStatus_FieldPathSelectorConditions: 1078 result.Conditions = source.Conditions 1079 wholeConditionsAccepted = true 1080 case DeviceStatus_FieldPathSelectorNetworkConfigState: 1081 result.NetworkConfigState = source.NetworkConfigState 1082 wholeNetworkConfigStateAccepted = true 1083 case DeviceStatus_FieldPathSelectorProxyConfigStatus: 1084 result.ProxyConfigStatus = source.ProxyConfigStatus 1085 wholeProxyConfigStatusAccepted = true 1086 case DeviceStatus_FieldPathSelectorDeviceInfo: 1087 result.DeviceInfo = source.DeviceInfo 1088 wholeDeviceInfoAccepted = true 1089 case DeviceStatus_FieldPathSelectorAttestationStatus: 1090 result.AttestationStatus = source.AttestationStatus 1091 wholeAttestationStatusAccepted = true 1092 case DeviceStatus_FieldPathSelectorNormalizedAddress: 1093 result.NormalizedAddress = source.NormalizedAddress 1094 wholeNormalizedAddressAccepted = true 1095 case DeviceStatus_FieldPathSelectorConnectionStatus: 1096 result.ConnectionStatus = source.ConnectionStatus 1097 case DeviceStatus_FieldPathSelectorConnectionStatusChangeTime: 1098 result.ConnectionStatusChangeTime = source.ConnectionStatusChangeTime 1099 } 1100 case *DeviceStatus_FieldSubPath: 1101 switch tp.selector { 1102 case DeviceStatus_FieldPathSelectorAddresses: 1103 addressesMask.AppendPath(tp.subPath.(DeviceStatusAddress_FieldPath)) 1104 case DeviceStatus_FieldPathSelectorConditions: 1105 conditionsMask.AppendPath(tp.subPath.(DeviceStatusCondition_FieldPath)) 1106 case DeviceStatus_FieldPathSelectorNetworkConfigState: 1107 networkConfigStateMask.AppendPath(tp.subPath.(DeviceStatusNetworkConfigState_FieldPath)) 1108 case DeviceStatus_FieldPathSelectorProxyConfigStatus: 1109 proxyConfigStatusMask.AppendPath(tp.subPath.(DeviceStatusProxyConfigStatus_FieldPath)) 1110 case DeviceStatus_FieldPathSelectorDeviceInfo: 1111 deviceInfoMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfo_FieldPath)) 1112 case DeviceStatus_FieldPathSelectorAttestationStatus: 1113 attestationStatusMask.AppendPath(tp.subPath.(iam_iam_common.PCR_FieldPath)) 1114 case DeviceStatus_FieldPathSelectorNormalizedAddress: 1115 normalizedAddressMask.AppendPath(tp.subPath.(DeviceStatusNormalizedAddress_FieldPath)) 1116 } 1117 } 1118 } 1119 if wholeAddressesAccepted == false && len(addressesMask.Paths) > 0 { 1120 for _, sourceItem := range source.GetAddresses() { 1121 result.Addresses = append(result.Addresses, addressesMask.Project(sourceItem)) 1122 } 1123 } 1124 if wholeConditionsAccepted == false && len(conditionsMask.Paths) > 0 { 1125 for _, sourceItem := range source.GetConditions() { 1126 result.Conditions = append(result.Conditions, conditionsMask.Project(sourceItem)) 1127 } 1128 } 1129 if wholeNetworkConfigStateAccepted == false && len(networkConfigStateMask.Paths) > 0 { 1130 result.NetworkConfigState = networkConfigStateMask.Project(source.GetNetworkConfigState()) 1131 } 1132 if wholeProxyConfigStatusAccepted == false && len(proxyConfigStatusMask.Paths) > 0 { 1133 result.ProxyConfigStatus = proxyConfigStatusMask.Project(source.GetProxyConfigStatus()) 1134 } 1135 if wholeDeviceInfoAccepted == false && len(deviceInfoMask.Paths) > 0 { 1136 result.DeviceInfo = deviceInfoMask.Project(source.GetDeviceInfo()) 1137 } 1138 if wholeAttestationStatusAccepted == false && len(attestationStatusMask.Paths) > 0 { 1139 for _, sourceItem := range source.GetAttestationStatus() { 1140 result.AttestationStatus = append(result.AttestationStatus, attestationStatusMask.Project(sourceItem)) 1141 } 1142 } 1143 if wholeNormalizedAddressAccepted == false && len(normalizedAddressMask.Paths) > 0 { 1144 result.NormalizedAddress = normalizedAddressMask.Project(source.GetNormalizedAddress()) 1145 } 1146 return result 1147 } 1148 1149 func (fieldMask *Device_Status_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 1150 return fieldMask.Project(source.(*Device_Status)) 1151 } 1152 1153 func (fieldMask *Device_Status_FieldMask) PathsCount() int { 1154 if fieldMask == nil { 1155 return 0 1156 } 1157 return len(fieldMask.Paths) 1158 } 1159 1160 type Device_PublicListingSpec_FieldMask struct { 1161 Paths []DevicePublicListingSpec_FieldPath 1162 } 1163 1164 func FullDevice_PublicListingSpec_FieldMask() *Device_PublicListingSpec_FieldMask { 1165 res := &Device_PublicListingSpec_FieldMask{} 1166 res.Paths = append(res.Paths, &DevicePublicListingSpec_FieldTerminalPath{selector: DevicePublicListingSpec_FieldPathSelectorEnabled}) 1167 res.Paths = append(res.Paths, &DevicePublicListingSpec_FieldTerminalPath{selector: DevicePublicListingSpec_FieldPathSelectorFieldMask}) 1168 return res 1169 } 1170 1171 func (fieldMask *Device_PublicListingSpec_FieldMask) String() string { 1172 if fieldMask == nil { 1173 return "<nil>" 1174 } 1175 pathsStr := make([]string, 0, len(fieldMask.Paths)) 1176 for _, path := range fieldMask.Paths { 1177 pathsStr = append(pathsStr, path.String()) 1178 } 1179 return strings.Join(pathsStr, ", ") 1180 } 1181 1182 func (fieldMask *Device_PublicListingSpec_FieldMask) IsFull() bool { 1183 if fieldMask == nil { 1184 return false 1185 } 1186 presentSelectors := make([]bool, 2) 1187 for _, path := range fieldMask.Paths { 1188 if asFinal, ok := path.(*DevicePublicListingSpec_FieldTerminalPath); ok { 1189 presentSelectors[int(asFinal.selector)] = true 1190 } 1191 } 1192 for _, flag := range presentSelectors { 1193 if !flag { 1194 return false 1195 } 1196 } 1197 return true 1198 } 1199 1200 func (fieldMask *Device_PublicListingSpec_FieldMask) ProtoReflect() preflect.Message { 1201 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 1202 return ParseDevicePublicListingSpec_FieldPath(raw) 1203 }) 1204 } 1205 1206 func (fieldMask *Device_PublicListingSpec_FieldMask) ProtoMessage() {} 1207 1208 func (fieldMask *Device_PublicListingSpec_FieldMask) Reset() { 1209 if fieldMask != nil { 1210 fieldMask.Paths = nil 1211 } 1212 } 1213 1214 func (fieldMask *Device_PublicListingSpec_FieldMask) Subtract(other *Device_PublicListingSpec_FieldMask) *Device_PublicListingSpec_FieldMask { 1215 result := &Device_PublicListingSpec_FieldMask{} 1216 removedSelectors := make([]bool, 2) 1217 1218 for _, path := range other.GetPaths() { 1219 switch tp := path.(type) { 1220 case *DevicePublicListingSpec_FieldTerminalPath: 1221 removedSelectors[int(tp.selector)] = true 1222 } 1223 } 1224 for _, path := range fieldMask.GetPaths() { 1225 if !removedSelectors[int(path.Selector())] { 1226 result.Paths = append(result.Paths, path) 1227 } 1228 } 1229 1230 if len(result.Paths) == 0 { 1231 return nil 1232 } 1233 return result 1234 } 1235 1236 func (fieldMask *Device_PublicListingSpec_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 1237 return fieldMask.Subtract(other.(*Device_PublicListingSpec_FieldMask)) 1238 } 1239 1240 // FilterInputFields generates copy of field paths with output_only field paths removed 1241 func (fieldMask *Device_PublicListingSpec_FieldMask) FilterInputFields() *Device_PublicListingSpec_FieldMask { 1242 result := &Device_PublicListingSpec_FieldMask{} 1243 result.Paths = append(result.Paths, fieldMask.Paths...) 1244 return result 1245 } 1246 1247 // ToFieldMask is used for proto conversions 1248 func (fieldMask *Device_PublicListingSpec_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 1249 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1250 for _, path := range fieldMask.Paths { 1251 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 1252 } 1253 return protoFieldMask 1254 } 1255 1256 func (fieldMask *Device_PublicListingSpec_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 1257 if fieldMask == nil { 1258 return status.Error(codes.Internal, "target field mask is nil") 1259 } 1260 fieldMask.Paths = make([]DevicePublicListingSpec_FieldPath, 0, len(protoFieldMask.Paths)) 1261 for _, strPath := range protoFieldMask.Paths { 1262 path, err := ParseDevicePublicListingSpec_FieldPath(strPath) 1263 if err != nil { 1264 return err 1265 } 1266 fieldMask.Paths = append(fieldMask.Paths, path) 1267 } 1268 return nil 1269 } 1270 1271 // implement methods required by customType 1272 func (fieldMask Device_PublicListingSpec_FieldMask) Marshal() ([]byte, error) { 1273 protoFieldMask := fieldMask.ToProtoFieldMask() 1274 return proto.Marshal(protoFieldMask) 1275 } 1276 1277 func (fieldMask *Device_PublicListingSpec_FieldMask) Unmarshal(data []byte) error { 1278 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1279 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 1280 return err 1281 } 1282 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1283 return err 1284 } 1285 return nil 1286 } 1287 1288 func (fieldMask *Device_PublicListingSpec_FieldMask) Size() int { 1289 return proto.Size(fieldMask.ToProtoFieldMask()) 1290 } 1291 1292 func (fieldMask Device_PublicListingSpec_FieldMask) MarshalJSON() ([]byte, error) { 1293 return json.Marshal(fieldMask.ToProtoFieldMask()) 1294 } 1295 1296 func (fieldMask *Device_PublicListingSpec_FieldMask) UnmarshalJSON(data []byte) error { 1297 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1298 if err := json.Unmarshal(data, protoFieldMask); err != nil { 1299 return err 1300 } 1301 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1302 return err 1303 } 1304 return nil 1305 } 1306 1307 func (fieldMask *Device_PublicListingSpec_FieldMask) AppendPath(path DevicePublicListingSpec_FieldPath) { 1308 fieldMask.Paths = append(fieldMask.Paths, path) 1309 } 1310 1311 func (fieldMask *Device_PublicListingSpec_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 1312 fieldMask.Paths = append(fieldMask.Paths, path.(DevicePublicListingSpec_FieldPath)) 1313 } 1314 1315 func (fieldMask *Device_PublicListingSpec_FieldMask) GetPaths() []DevicePublicListingSpec_FieldPath { 1316 if fieldMask == nil { 1317 return nil 1318 } 1319 return fieldMask.Paths 1320 } 1321 1322 func (fieldMask *Device_PublicListingSpec_FieldMask) GetRawPaths() []gotenobject.FieldPath { 1323 if fieldMask == nil { 1324 return nil 1325 } 1326 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 1327 for _, path := range fieldMask.Paths { 1328 rawPaths = append(rawPaths, path) 1329 } 1330 return rawPaths 1331 } 1332 1333 func (fieldMask *Device_PublicListingSpec_FieldMask) SetFromCliFlag(raw string) error { 1334 path, err := ParseDevicePublicListingSpec_FieldPath(raw) 1335 if err != nil { 1336 return err 1337 } 1338 fieldMask.Paths = append(fieldMask.Paths, path) 1339 return nil 1340 } 1341 1342 func (fieldMask *Device_PublicListingSpec_FieldMask) Set(target, source *Device_PublicListingSpec) { 1343 for _, path := range fieldMask.Paths { 1344 val, _ := path.GetSingle(source) 1345 // if val is nil, then field does not exist in source, skip 1346 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 1347 if val != nil { 1348 path.WithIValue(val).SetTo(&target) 1349 } 1350 } 1351 } 1352 1353 func (fieldMask *Device_PublicListingSpec_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 1354 fieldMask.Set(target.(*Device_PublicListingSpec), source.(*Device_PublicListingSpec)) 1355 } 1356 1357 func (fieldMask *Device_PublicListingSpec_FieldMask) Project(source *Device_PublicListingSpec) *Device_PublicListingSpec { 1358 if source == nil { 1359 return nil 1360 } 1361 if fieldMask == nil { 1362 return source 1363 } 1364 result := &Device_PublicListingSpec{} 1365 1366 for _, p := range fieldMask.Paths { 1367 switch tp := p.(type) { 1368 case *DevicePublicListingSpec_FieldTerminalPath: 1369 switch tp.selector { 1370 case DevicePublicListingSpec_FieldPathSelectorEnabled: 1371 result.Enabled = source.Enabled 1372 case DevicePublicListingSpec_FieldPathSelectorFieldMask: 1373 result.FieldMask = source.FieldMask 1374 } 1375 } 1376 } 1377 return result 1378 } 1379 1380 func (fieldMask *Device_PublicListingSpec_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 1381 return fieldMask.Project(source.(*Device_PublicListingSpec)) 1382 } 1383 1384 func (fieldMask *Device_PublicListingSpec_FieldMask) PathsCount() int { 1385 if fieldMask == nil { 1386 return 0 1387 } 1388 return len(fieldMask.Paths) 1389 } 1390 1391 type Device_Spec_SSHConfig_FieldMask struct { 1392 Paths []DeviceSpecSSHConfig_FieldPath 1393 } 1394 1395 func FullDevice_Spec_SSHConfig_FieldMask() *Device_Spec_SSHConfig_FieldMask { 1396 res := &Device_Spec_SSHConfig_FieldMask{} 1397 res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorDisableSshServer}) 1398 res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorDisableSshPassword}) 1399 res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorSshAuthorized}) 1400 res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorIpAllowList}) 1401 res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorIpDenyList}) 1402 res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorRejectPeriod}) 1403 res.Paths = append(res.Paths, &DeviceSpecSSHConfig_FieldTerminalPath{selector: DeviceSpecSSHConfig_FieldPathSelectorDisableSshAuthkey}) 1404 return res 1405 } 1406 1407 func (fieldMask *Device_Spec_SSHConfig_FieldMask) String() string { 1408 if fieldMask == nil { 1409 return "<nil>" 1410 } 1411 pathsStr := make([]string, 0, len(fieldMask.Paths)) 1412 for _, path := range fieldMask.Paths { 1413 pathsStr = append(pathsStr, path.String()) 1414 } 1415 return strings.Join(pathsStr, ", ") 1416 } 1417 1418 func (fieldMask *Device_Spec_SSHConfig_FieldMask) IsFull() bool { 1419 if fieldMask == nil { 1420 return false 1421 } 1422 presentSelectors := make([]bool, 7) 1423 for _, path := range fieldMask.Paths { 1424 if asFinal, ok := path.(*DeviceSpecSSHConfig_FieldTerminalPath); ok { 1425 presentSelectors[int(asFinal.selector)] = true 1426 } 1427 } 1428 for _, flag := range presentSelectors { 1429 if !flag { 1430 return false 1431 } 1432 } 1433 return true 1434 } 1435 1436 func (fieldMask *Device_Spec_SSHConfig_FieldMask) ProtoReflect() preflect.Message { 1437 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 1438 return ParseDeviceSpecSSHConfig_FieldPath(raw) 1439 }) 1440 } 1441 1442 func (fieldMask *Device_Spec_SSHConfig_FieldMask) ProtoMessage() {} 1443 1444 func (fieldMask *Device_Spec_SSHConfig_FieldMask) Reset() { 1445 if fieldMask != nil { 1446 fieldMask.Paths = nil 1447 } 1448 } 1449 1450 func (fieldMask *Device_Spec_SSHConfig_FieldMask) Subtract(other *Device_Spec_SSHConfig_FieldMask) *Device_Spec_SSHConfig_FieldMask { 1451 result := &Device_Spec_SSHConfig_FieldMask{} 1452 removedSelectors := make([]bool, 7) 1453 otherSubMasks := map[DeviceSpecSSHConfig_FieldPathSelector]gotenobject.FieldMask{ 1454 DeviceSpecSSHConfig_FieldPathSelectorSshAuthorized: &Device_Spec_SSHConfig_AuthKey_FieldMask{}, 1455 } 1456 mySubMasks := map[DeviceSpecSSHConfig_FieldPathSelector]gotenobject.FieldMask{ 1457 DeviceSpecSSHConfig_FieldPathSelectorSshAuthorized: &Device_Spec_SSHConfig_AuthKey_FieldMask{}, 1458 } 1459 1460 for _, path := range other.GetPaths() { 1461 switch tp := path.(type) { 1462 case *DeviceSpecSSHConfig_FieldTerminalPath: 1463 removedSelectors[int(tp.selector)] = true 1464 case *DeviceSpecSSHConfig_FieldSubPath: 1465 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 1466 } 1467 } 1468 for _, path := range fieldMask.GetPaths() { 1469 if !removedSelectors[int(path.Selector())] { 1470 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 1471 if tp, ok := path.(*DeviceSpecSSHConfig_FieldTerminalPath); ok { 1472 switch tp.selector { 1473 case DeviceSpecSSHConfig_FieldPathSelectorSshAuthorized: 1474 mySubMasks[DeviceSpecSSHConfig_FieldPathSelectorSshAuthorized] = FullDevice_Spec_SSHConfig_AuthKey_FieldMask() 1475 } 1476 } else if tp, ok := path.(*DeviceSpecSSHConfig_FieldSubPath); ok { 1477 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 1478 } 1479 } else { 1480 result.Paths = append(result.Paths, path) 1481 } 1482 } 1483 } 1484 for selector, mySubMask := range mySubMasks { 1485 if mySubMask.PathsCount() > 0 { 1486 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 1487 result.Paths = append(result.Paths, &DeviceSpecSSHConfig_FieldSubPath{selector: selector, subPath: allowedPath}) 1488 } 1489 } 1490 } 1491 1492 if len(result.Paths) == 0 { 1493 return nil 1494 } 1495 return result 1496 } 1497 1498 func (fieldMask *Device_Spec_SSHConfig_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 1499 return fieldMask.Subtract(other.(*Device_Spec_SSHConfig_FieldMask)) 1500 } 1501 1502 // FilterInputFields generates copy of field paths with output_only field paths removed 1503 func (fieldMask *Device_Spec_SSHConfig_FieldMask) FilterInputFields() *Device_Spec_SSHConfig_FieldMask { 1504 result := &Device_Spec_SSHConfig_FieldMask{} 1505 result.Paths = append(result.Paths, fieldMask.Paths...) 1506 return result 1507 } 1508 1509 // ToFieldMask is used for proto conversions 1510 func (fieldMask *Device_Spec_SSHConfig_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 1511 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1512 for _, path := range fieldMask.Paths { 1513 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 1514 } 1515 return protoFieldMask 1516 } 1517 1518 func (fieldMask *Device_Spec_SSHConfig_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 1519 if fieldMask == nil { 1520 return status.Error(codes.Internal, "target field mask is nil") 1521 } 1522 fieldMask.Paths = make([]DeviceSpecSSHConfig_FieldPath, 0, len(protoFieldMask.Paths)) 1523 for _, strPath := range protoFieldMask.Paths { 1524 path, err := ParseDeviceSpecSSHConfig_FieldPath(strPath) 1525 if err != nil { 1526 return err 1527 } 1528 fieldMask.Paths = append(fieldMask.Paths, path) 1529 } 1530 return nil 1531 } 1532 1533 // implement methods required by customType 1534 func (fieldMask Device_Spec_SSHConfig_FieldMask) Marshal() ([]byte, error) { 1535 protoFieldMask := fieldMask.ToProtoFieldMask() 1536 return proto.Marshal(protoFieldMask) 1537 } 1538 1539 func (fieldMask *Device_Spec_SSHConfig_FieldMask) Unmarshal(data []byte) error { 1540 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1541 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 1542 return err 1543 } 1544 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1545 return err 1546 } 1547 return nil 1548 } 1549 1550 func (fieldMask *Device_Spec_SSHConfig_FieldMask) Size() int { 1551 return proto.Size(fieldMask.ToProtoFieldMask()) 1552 } 1553 1554 func (fieldMask Device_Spec_SSHConfig_FieldMask) MarshalJSON() ([]byte, error) { 1555 return json.Marshal(fieldMask.ToProtoFieldMask()) 1556 } 1557 1558 func (fieldMask *Device_Spec_SSHConfig_FieldMask) UnmarshalJSON(data []byte) error { 1559 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1560 if err := json.Unmarshal(data, protoFieldMask); err != nil { 1561 return err 1562 } 1563 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1564 return err 1565 } 1566 return nil 1567 } 1568 1569 func (fieldMask *Device_Spec_SSHConfig_FieldMask) AppendPath(path DeviceSpecSSHConfig_FieldPath) { 1570 fieldMask.Paths = append(fieldMask.Paths, path) 1571 } 1572 1573 func (fieldMask *Device_Spec_SSHConfig_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 1574 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceSpecSSHConfig_FieldPath)) 1575 } 1576 1577 func (fieldMask *Device_Spec_SSHConfig_FieldMask) GetPaths() []DeviceSpecSSHConfig_FieldPath { 1578 if fieldMask == nil { 1579 return nil 1580 } 1581 return fieldMask.Paths 1582 } 1583 1584 func (fieldMask *Device_Spec_SSHConfig_FieldMask) GetRawPaths() []gotenobject.FieldPath { 1585 if fieldMask == nil { 1586 return nil 1587 } 1588 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 1589 for _, path := range fieldMask.Paths { 1590 rawPaths = append(rawPaths, path) 1591 } 1592 return rawPaths 1593 } 1594 1595 func (fieldMask *Device_Spec_SSHConfig_FieldMask) SetFromCliFlag(raw string) error { 1596 path, err := ParseDeviceSpecSSHConfig_FieldPath(raw) 1597 if err != nil { 1598 return err 1599 } 1600 fieldMask.Paths = append(fieldMask.Paths, path) 1601 return nil 1602 } 1603 1604 func (fieldMask *Device_Spec_SSHConfig_FieldMask) Set(target, source *Device_Spec_SSHConfig) { 1605 for _, path := range fieldMask.Paths { 1606 val, _ := path.GetSingle(source) 1607 // if val is nil, then field does not exist in source, skip 1608 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 1609 if val != nil { 1610 path.WithIValue(val).SetTo(&target) 1611 } 1612 } 1613 } 1614 1615 func (fieldMask *Device_Spec_SSHConfig_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 1616 fieldMask.Set(target.(*Device_Spec_SSHConfig), source.(*Device_Spec_SSHConfig)) 1617 } 1618 1619 func (fieldMask *Device_Spec_SSHConfig_FieldMask) Project(source *Device_Spec_SSHConfig) *Device_Spec_SSHConfig { 1620 if source == nil { 1621 return nil 1622 } 1623 if fieldMask == nil { 1624 return source 1625 } 1626 result := &Device_Spec_SSHConfig{} 1627 sshAuthorizedMask := &Device_Spec_SSHConfig_AuthKey_FieldMask{} 1628 wholeSshAuthorizedAccepted := false 1629 1630 for _, p := range fieldMask.Paths { 1631 switch tp := p.(type) { 1632 case *DeviceSpecSSHConfig_FieldTerminalPath: 1633 switch tp.selector { 1634 case DeviceSpecSSHConfig_FieldPathSelectorDisableSshServer: 1635 result.DisableSshServer = source.DisableSshServer 1636 case DeviceSpecSSHConfig_FieldPathSelectorDisableSshPassword: 1637 result.DisableSshPassword = source.DisableSshPassword 1638 case DeviceSpecSSHConfig_FieldPathSelectorSshAuthorized: 1639 result.SshAuthorized = source.SshAuthorized 1640 wholeSshAuthorizedAccepted = true 1641 case DeviceSpecSSHConfig_FieldPathSelectorIpAllowList: 1642 result.IpAllowList = source.IpAllowList 1643 case DeviceSpecSSHConfig_FieldPathSelectorIpDenyList: 1644 result.IpDenyList = source.IpDenyList 1645 case DeviceSpecSSHConfig_FieldPathSelectorRejectPeriod: 1646 result.RejectPeriod = source.RejectPeriod 1647 case DeviceSpecSSHConfig_FieldPathSelectorDisableSshAuthkey: 1648 result.DisableSshAuthkey = source.DisableSshAuthkey 1649 } 1650 case *DeviceSpecSSHConfig_FieldSubPath: 1651 switch tp.selector { 1652 case DeviceSpecSSHConfig_FieldPathSelectorSshAuthorized: 1653 sshAuthorizedMask.AppendPath(tp.subPath.(DeviceSpecSSHConfigAuthKey_FieldPath)) 1654 } 1655 } 1656 } 1657 if wholeSshAuthorizedAccepted == false && len(sshAuthorizedMask.Paths) > 0 { 1658 for _, sourceItem := range source.GetSshAuthorized() { 1659 result.SshAuthorized = append(result.SshAuthorized, sshAuthorizedMask.Project(sourceItem)) 1660 } 1661 } 1662 return result 1663 } 1664 1665 func (fieldMask *Device_Spec_SSHConfig_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 1666 return fieldMask.Project(source.(*Device_Spec_SSHConfig)) 1667 } 1668 1669 func (fieldMask *Device_Spec_SSHConfig_FieldMask) PathsCount() int { 1670 if fieldMask == nil { 1671 return 0 1672 } 1673 return len(fieldMask.Paths) 1674 } 1675 1676 type Device_Spec_AttestationConfig_FieldMask struct { 1677 Paths []DeviceSpecAttestationConfig_FieldPath 1678 } 1679 1680 func FullDevice_Spec_AttestationConfig_FieldMask() *Device_Spec_AttestationConfig_FieldMask { 1681 res := &Device_Spec_AttestationConfig_FieldMask{} 1682 res.Paths = append(res.Paths, &DeviceSpecAttestationConfig_FieldTerminalPath{selector: DeviceSpecAttestationConfig_FieldPathSelectorAttestationExpected}) 1683 res.Paths = append(res.Paths, &DeviceSpecAttestationConfig_FieldTerminalPath{selector: DeviceSpecAttestationConfig_FieldPathSelectorAttestationDomain}) 1684 return res 1685 } 1686 1687 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) String() string { 1688 if fieldMask == nil { 1689 return "<nil>" 1690 } 1691 pathsStr := make([]string, 0, len(fieldMask.Paths)) 1692 for _, path := range fieldMask.Paths { 1693 pathsStr = append(pathsStr, path.String()) 1694 } 1695 return strings.Join(pathsStr, ", ") 1696 } 1697 1698 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) IsFull() bool { 1699 if fieldMask == nil { 1700 return false 1701 } 1702 presentSelectors := make([]bool, 2) 1703 for _, path := range fieldMask.Paths { 1704 if asFinal, ok := path.(*DeviceSpecAttestationConfig_FieldTerminalPath); ok { 1705 presentSelectors[int(asFinal.selector)] = true 1706 } 1707 } 1708 for _, flag := range presentSelectors { 1709 if !flag { 1710 return false 1711 } 1712 } 1713 return true 1714 } 1715 1716 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) ProtoReflect() preflect.Message { 1717 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 1718 return ParseDeviceSpecAttestationConfig_FieldPath(raw) 1719 }) 1720 } 1721 1722 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) ProtoMessage() {} 1723 1724 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) Reset() { 1725 if fieldMask != nil { 1726 fieldMask.Paths = nil 1727 } 1728 } 1729 1730 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) Subtract(other *Device_Spec_AttestationConfig_FieldMask) *Device_Spec_AttestationConfig_FieldMask { 1731 result := &Device_Spec_AttestationConfig_FieldMask{} 1732 removedSelectors := make([]bool, 2) 1733 1734 for _, path := range other.GetPaths() { 1735 switch tp := path.(type) { 1736 case *DeviceSpecAttestationConfig_FieldTerminalPath: 1737 removedSelectors[int(tp.selector)] = true 1738 } 1739 } 1740 for _, path := range fieldMask.GetPaths() { 1741 if !removedSelectors[int(path.Selector())] { 1742 result.Paths = append(result.Paths, path) 1743 } 1744 } 1745 1746 if len(result.Paths) == 0 { 1747 return nil 1748 } 1749 return result 1750 } 1751 1752 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 1753 return fieldMask.Subtract(other.(*Device_Spec_AttestationConfig_FieldMask)) 1754 } 1755 1756 // FilterInputFields generates copy of field paths with output_only field paths removed 1757 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) FilterInputFields() *Device_Spec_AttestationConfig_FieldMask { 1758 result := &Device_Spec_AttestationConfig_FieldMask{} 1759 result.Paths = append(result.Paths, fieldMask.Paths...) 1760 return result 1761 } 1762 1763 // ToFieldMask is used for proto conversions 1764 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 1765 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1766 for _, path := range fieldMask.Paths { 1767 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 1768 } 1769 return protoFieldMask 1770 } 1771 1772 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 1773 if fieldMask == nil { 1774 return status.Error(codes.Internal, "target field mask is nil") 1775 } 1776 fieldMask.Paths = make([]DeviceSpecAttestationConfig_FieldPath, 0, len(protoFieldMask.Paths)) 1777 for _, strPath := range protoFieldMask.Paths { 1778 path, err := ParseDeviceSpecAttestationConfig_FieldPath(strPath) 1779 if err != nil { 1780 return err 1781 } 1782 fieldMask.Paths = append(fieldMask.Paths, path) 1783 } 1784 return nil 1785 } 1786 1787 // implement methods required by customType 1788 func (fieldMask Device_Spec_AttestationConfig_FieldMask) Marshal() ([]byte, error) { 1789 protoFieldMask := fieldMask.ToProtoFieldMask() 1790 return proto.Marshal(protoFieldMask) 1791 } 1792 1793 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) Unmarshal(data []byte) error { 1794 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1795 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 1796 return err 1797 } 1798 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1799 return err 1800 } 1801 return nil 1802 } 1803 1804 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) Size() int { 1805 return proto.Size(fieldMask.ToProtoFieldMask()) 1806 } 1807 1808 func (fieldMask Device_Spec_AttestationConfig_FieldMask) MarshalJSON() ([]byte, error) { 1809 return json.Marshal(fieldMask.ToProtoFieldMask()) 1810 } 1811 1812 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) UnmarshalJSON(data []byte) error { 1813 protoFieldMask := &googlefieldmaskpb.FieldMask{} 1814 if err := json.Unmarshal(data, protoFieldMask); err != nil { 1815 return err 1816 } 1817 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 1818 return err 1819 } 1820 return nil 1821 } 1822 1823 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) AppendPath(path DeviceSpecAttestationConfig_FieldPath) { 1824 fieldMask.Paths = append(fieldMask.Paths, path) 1825 } 1826 1827 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 1828 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceSpecAttestationConfig_FieldPath)) 1829 } 1830 1831 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) GetPaths() []DeviceSpecAttestationConfig_FieldPath { 1832 if fieldMask == nil { 1833 return nil 1834 } 1835 return fieldMask.Paths 1836 } 1837 1838 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) GetRawPaths() []gotenobject.FieldPath { 1839 if fieldMask == nil { 1840 return nil 1841 } 1842 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 1843 for _, path := range fieldMask.Paths { 1844 rawPaths = append(rawPaths, path) 1845 } 1846 return rawPaths 1847 } 1848 1849 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) SetFromCliFlag(raw string) error { 1850 path, err := ParseDeviceSpecAttestationConfig_FieldPath(raw) 1851 if err != nil { 1852 return err 1853 } 1854 fieldMask.Paths = append(fieldMask.Paths, path) 1855 return nil 1856 } 1857 1858 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) Set(target, source *Device_Spec_AttestationConfig) { 1859 for _, path := range fieldMask.Paths { 1860 val, _ := path.GetSingle(source) 1861 // if val is nil, then field does not exist in source, skip 1862 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 1863 if val != nil { 1864 path.WithIValue(val).SetTo(&target) 1865 } 1866 } 1867 } 1868 1869 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 1870 fieldMask.Set(target.(*Device_Spec_AttestationConfig), source.(*Device_Spec_AttestationConfig)) 1871 } 1872 1873 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) Project(source *Device_Spec_AttestationConfig) *Device_Spec_AttestationConfig { 1874 if source == nil { 1875 return nil 1876 } 1877 if fieldMask == nil { 1878 return source 1879 } 1880 result := &Device_Spec_AttestationConfig{} 1881 1882 for _, p := range fieldMask.Paths { 1883 switch tp := p.(type) { 1884 case *DeviceSpecAttestationConfig_FieldTerminalPath: 1885 switch tp.selector { 1886 case DeviceSpecAttestationConfig_FieldPathSelectorAttestationExpected: 1887 result.AttestationExpected = source.AttestationExpected 1888 case DeviceSpecAttestationConfig_FieldPathSelectorAttestationDomain: 1889 result.AttestationDomain = source.AttestationDomain 1890 } 1891 } 1892 } 1893 return result 1894 } 1895 1896 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 1897 return fieldMask.Project(source.(*Device_Spec_AttestationConfig)) 1898 } 1899 1900 func (fieldMask *Device_Spec_AttestationConfig_FieldMask) PathsCount() int { 1901 if fieldMask == nil { 1902 return 0 1903 } 1904 return len(fieldMask.Paths) 1905 } 1906 1907 type Device_Spec_LoggingConfig_FieldMask struct { 1908 Paths []DeviceSpecLoggingConfig_FieldPath 1909 } 1910 1911 func FullDevice_Spec_LoggingConfig_FieldMask() *Device_Spec_LoggingConfig_FieldMask { 1912 res := &Device_Spec_LoggingConfig_FieldMask{} 1913 res.Paths = append(res.Paths, &DeviceSpecLoggingConfig_FieldTerminalPath{selector: DeviceSpecLoggingConfig_FieldPathSelectorPriority}) 1914 res.Paths = append(res.Paths, &DeviceSpecLoggingConfig_FieldTerminalPath{selector: DeviceSpecLoggingConfig_FieldPathSelectorUnits}) 1915 res.Paths = append(res.Paths, &DeviceSpecLoggingConfig_FieldTerminalPath{selector: DeviceSpecLoggingConfig_FieldPathSelectorEnableJournalExport}) 1916 res.Paths = append(res.Paths, &DeviceSpecLoggingConfig_FieldTerminalPath{selector: DeviceSpecLoggingConfig_FieldPathSelectorContainerLoggingConfig}) 1917 return res 1918 } 1919 1920 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) String() string { 1921 if fieldMask == nil { 1922 return "<nil>" 1923 } 1924 pathsStr := make([]string, 0, len(fieldMask.Paths)) 1925 for _, path := range fieldMask.Paths { 1926 pathsStr = append(pathsStr, path.String()) 1927 } 1928 return strings.Join(pathsStr, ", ") 1929 } 1930 1931 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) IsFull() bool { 1932 if fieldMask == nil { 1933 return false 1934 } 1935 presentSelectors := make([]bool, 4) 1936 for _, path := range fieldMask.Paths { 1937 if asFinal, ok := path.(*DeviceSpecLoggingConfig_FieldTerminalPath); ok { 1938 presentSelectors[int(asFinal.selector)] = true 1939 } 1940 } 1941 for _, flag := range presentSelectors { 1942 if !flag { 1943 return false 1944 } 1945 } 1946 return true 1947 } 1948 1949 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) ProtoReflect() preflect.Message { 1950 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 1951 return ParseDeviceSpecLoggingConfig_FieldPath(raw) 1952 }) 1953 } 1954 1955 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) ProtoMessage() {} 1956 1957 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) Reset() { 1958 if fieldMask != nil { 1959 fieldMask.Paths = nil 1960 } 1961 } 1962 1963 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) Subtract(other *Device_Spec_LoggingConfig_FieldMask) *Device_Spec_LoggingConfig_FieldMask { 1964 result := &Device_Spec_LoggingConfig_FieldMask{} 1965 removedSelectors := make([]bool, 4) 1966 otherSubMasks := map[DeviceSpecLoggingConfig_FieldPathSelector]gotenobject.FieldMask{ 1967 DeviceSpecLoggingConfig_FieldPathSelectorContainerLoggingConfig: &Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask{}, 1968 } 1969 mySubMasks := map[DeviceSpecLoggingConfig_FieldPathSelector]gotenobject.FieldMask{ 1970 DeviceSpecLoggingConfig_FieldPathSelectorContainerLoggingConfig: &Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask{}, 1971 } 1972 1973 for _, path := range other.GetPaths() { 1974 switch tp := path.(type) { 1975 case *DeviceSpecLoggingConfig_FieldTerminalPath: 1976 removedSelectors[int(tp.selector)] = true 1977 case *DeviceSpecLoggingConfig_FieldSubPath: 1978 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 1979 } 1980 } 1981 for _, path := range fieldMask.GetPaths() { 1982 if !removedSelectors[int(path.Selector())] { 1983 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 1984 if tp, ok := path.(*DeviceSpecLoggingConfig_FieldTerminalPath); ok { 1985 switch tp.selector { 1986 case DeviceSpecLoggingConfig_FieldPathSelectorContainerLoggingConfig: 1987 mySubMasks[DeviceSpecLoggingConfig_FieldPathSelectorContainerLoggingConfig] = FullDevice_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask() 1988 } 1989 } else if tp, ok := path.(*DeviceSpecLoggingConfig_FieldSubPath); ok { 1990 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 1991 } 1992 } else { 1993 result.Paths = append(result.Paths, path) 1994 } 1995 } 1996 } 1997 for selector, mySubMask := range mySubMasks { 1998 if mySubMask.PathsCount() > 0 { 1999 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 2000 result.Paths = append(result.Paths, &DeviceSpecLoggingConfig_FieldSubPath{selector: selector, subPath: allowedPath}) 2001 } 2002 } 2003 } 2004 2005 if len(result.Paths) == 0 { 2006 return nil 2007 } 2008 return result 2009 } 2010 2011 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 2012 return fieldMask.Subtract(other.(*Device_Spec_LoggingConfig_FieldMask)) 2013 } 2014 2015 // FilterInputFields generates copy of field paths with output_only field paths removed 2016 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) FilterInputFields() *Device_Spec_LoggingConfig_FieldMask { 2017 result := &Device_Spec_LoggingConfig_FieldMask{} 2018 result.Paths = append(result.Paths, fieldMask.Paths...) 2019 return result 2020 } 2021 2022 // ToFieldMask is used for proto conversions 2023 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 2024 protoFieldMask := &googlefieldmaskpb.FieldMask{} 2025 for _, path := range fieldMask.Paths { 2026 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 2027 } 2028 return protoFieldMask 2029 } 2030 2031 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 2032 if fieldMask == nil { 2033 return status.Error(codes.Internal, "target field mask is nil") 2034 } 2035 fieldMask.Paths = make([]DeviceSpecLoggingConfig_FieldPath, 0, len(protoFieldMask.Paths)) 2036 for _, strPath := range protoFieldMask.Paths { 2037 path, err := ParseDeviceSpecLoggingConfig_FieldPath(strPath) 2038 if err != nil { 2039 return err 2040 } 2041 fieldMask.Paths = append(fieldMask.Paths, path) 2042 } 2043 return nil 2044 } 2045 2046 // implement methods required by customType 2047 func (fieldMask Device_Spec_LoggingConfig_FieldMask) Marshal() ([]byte, error) { 2048 protoFieldMask := fieldMask.ToProtoFieldMask() 2049 return proto.Marshal(protoFieldMask) 2050 } 2051 2052 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) Unmarshal(data []byte) error { 2053 protoFieldMask := &googlefieldmaskpb.FieldMask{} 2054 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 2055 return err 2056 } 2057 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 2058 return err 2059 } 2060 return nil 2061 } 2062 2063 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) Size() int { 2064 return proto.Size(fieldMask.ToProtoFieldMask()) 2065 } 2066 2067 func (fieldMask Device_Spec_LoggingConfig_FieldMask) MarshalJSON() ([]byte, error) { 2068 return json.Marshal(fieldMask.ToProtoFieldMask()) 2069 } 2070 2071 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) UnmarshalJSON(data []byte) error { 2072 protoFieldMask := &googlefieldmaskpb.FieldMask{} 2073 if err := json.Unmarshal(data, protoFieldMask); err != nil { 2074 return err 2075 } 2076 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 2077 return err 2078 } 2079 return nil 2080 } 2081 2082 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) AppendPath(path DeviceSpecLoggingConfig_FieldPath) { 2083 fieldMask.Paths = append(fieldMask.Paths, path) 2084 } 2085 2086 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 2087 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceSpecLoggingConfig_FieldPath)) 2088 } 2089 2090 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) GetPaths() []DeviceSpecLoggingConfig_FieldPath { 2091 if fieldMask == nil { 2092 return nil 2093 } 2094 return fieldMask.Paths 2095 } 2096 2097 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) GetRawPaths() []gotenobject.FieldPath { 2098 if fieldMask == nil { 2099 return nil 2100 } 2101 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 2102 for _, path := range fieldMask.Paths { 2103 rawPaths = append(rawPaths, path) 2104 } 2105 return rawPaths 2106 } 2107 2108 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) SetFromCliFlag(raw string) error { 2109 path, err := ParseDeviceSpecLoggingConfig_FieldPath(raw) 2110 if err != nil { 2111 return err 2112 } 2113 fieldMask.Paths = append(fieldMask.Paths, path) 2114 return nil 2115 } 2116 2117 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) Set(target, source *Device_Spec_LoggingConfig) { 2118 for _, path := range fieldMask.Paths { 2119 val, _ := path.GetSingle(source) 2120 // if val is nil, then field does not exist in source, skip 2121 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 2122 if val != nil { 2123 path.WithIValue(val).SetTo(&target) 2124 } 2125 } 2126 } 2127 2128 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 2129 fieldMask.Set(target.(*Device_Spec_LoggingConfig), source.(*Device_Spec_LoggingConfig)) 2130 } 2131 2132 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) Project(source *Device_Spec_LoggingConfig) *Device_Spec_LoggingConfig { 2133 if source == nil { 2134 return nil 2135 } 2136 if fieldMask == nil { 2137 return source 2138 } 2139 result := &Device_Spec_LoggingConfig{} 2140 containerLoggingConfigMask := &Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask{} 2141 wholeContainerLoggingConfigAccepted := false 2142 2143 for _, p := range fieldMask.Paths { 2144 switch tp := p.(type) { 2145 case *DeviceSpecLoggingConfig_FieldTerminalPath: 2146 switch tp.selector { 2147 case DeviceSpecLoggingConfig_FieldPathSelectorPriority: 2148 result.Priority = source.Priority 2149 case DeviceSpecLoggingConfig_FieldPathSelectorUnits: 2150 result.Units = source.Units 2151 case DeviceSpecLoggingConfig_FieldPathSelectorEnableJournalExport: 2152 result.EnableJournalExport = source.EnableJournalExport 2153 case DeviceSpecLoggingConfig_FieldPathSelectorContainerLoggingConfig: 2154 result.ContainerLoggingConfig = source.ContainerLoggingConfig 2155 wholeContainerLoggingConfigAccepted = true 2156 } 2157 case *DeviceSpecLoggingConfig_FieldSubPath: 2158 switch tp.selector { 2159 case DeviceSpecLoggingConfig_FieldPathSelectorContainerLoggingConfig: 2160 containerLoggingConfigMask.AppendPath(tp.subPath.(DeviceSpecLoggingConfigContainerLoggingConfig_FieldPath)) 2161 } 2162 } 2163 } 2164 if wholeContainerLoggingConfigAccepted == false && len(containerLoggingConfigMask.Paths) > 0 { 2165 result.ContainerLoggingConfig = containerLoggingConfigMask.Project(source.GetContainerLoggingConfig()) 2166 } 2167 return result 2168 } 2169 2170 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 2171 return fieldMask.Project(source.(*Device_Spec_LoggingConfig)) 2172 } 2173 2174 func (fieldMask *Device_Spec_LoggingConfig_FieldMask) PathsCount() int { 2175 if fieldMask == nil { 2176 return 0 2177 } 2178 return len(fieldMask.Paths) 2179 } 2180 2181 type Device_Spec_ProxyConfig_FieldMask struct { 2182 Paths []DeviceSpecProxyConfig_FieldPath 2183 } 2184 2185 func FullDevice_Spec_ProxyConfig_FieldMask() *Device_Spec_ProxyConfig_FieldMask { 2186 res := &Device_Spec_ProxyConfig_FieldMask{} 2187 res.Paths = append(res.Paths, &DeviceSpecProxyConfig_FieldTerminalPath{selector: DeviceSpecProxyConfig_FieldPathSelectorHttpProxy}) 2188 res.Paths = append(res.Paths, &DeviceSpecProxyConfig_FieldTerminalPath{selector: DeviceSpecProxyConfig_FieldPathSelectorHttpsProxy}) 2189 res.Paths = append(res.Paths, &DeviceSpecProxyConfig_FieldTerminalPath{selector: DeviceSpecProxyConfig_FieldPathSelectorNoProxy}) 2190 res.Paths = append(res.Paths, &DeviceSpecProxyConfig_FieldTerminalPath{selector: DeviceSpecProxyConfig_FieldPathSelectorProxyInterfaces}) 2191 return res 2192 } 2193 2194 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) String() string { 2195 if fieldMask == nil { 2196 return "<nil>" 2197 } 2198 pathsStr := make([]string, 0, len(fieldMask.Paths)) 2199 for _, path := range fieldMask.Paths { 2200 pathsStr = append(pathsStr, path.String()) 2201 } 2202 return strings.Join(pathsStr, ", ") 2203 } 2204 2205 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) IsFull() bool { 2206 if fieldMask == nil { 2207 return false 2208 } 2209 presentSelectors := make([]bool, 4) 2210 for _, path := range fieldMask.Paths { 2211 if asFinal, ok := path.(*DeviceSpecProxyConfig_FieldTerminalPath); ok { 2212 presentSelectors[int(asFinal.selector)] = true 2213 } 2214 } 2215 for _, flag := range presentSelectors { 2216 if !flag { 2217 return false 2218 } 2219 } 2220 return true 2221 } 2222 2223 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) ProtoReflect() preflect.Message { 2224 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 2225 return ParseDeviceSpecProxyConfig_FieldPath(raw) 2226 }) 2227 } 2228 2229 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) ProtoMessage() {} 2230 2231 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) Reset() { 2232 if fieldMask != nil { 2233 fieldMask.Paths = nil 2234 } 2235 } 2236 2237 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) Subtract(other *Device_Spec_ProxyConfig_FieldMask) *Device_Spec_ProxyConfig_FieldMask { 2238 result := &Device_Spec_ProxyConfig_FieldMask{} 2239 removedSelectors := make([]bool, 4) 2240 2241 for _, path := range other.GetPaths() { 2242 switch tp := path.(type) { 2243 case *DeviceSpecProxyConfig_FieldTerminalPath: 2244 removedSelectors[int(tp.selector)] = true 2245 } 2246 } 2247 for _, path := range fieldMask.GetPaths() { 2248 if !removedSelectors[int(path.Selector())] { 2249 result.Paths = append(result.Paths, path) 2250 } 2251 } 2252 2253 if len(result.Paths) == 0 { 2254 return nil 2255 } 2256 return result 2257 } 2258 2259 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 2260 return fieldMask.Subtract(other.(*Device_Spec_ProxyConfig_FieldMask)) 2261 } 2262 2263 // FilterInputFields generates copy of field paths with output_only field paths removed 2264 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) FilterInputFields() *Device_Spec_ProxyConfig_FieldMask { 2265 result := &Device_Spec_ProxyConfig_FieldMask{} 2266 result.Paths = append(result.Paths, fieldMask.Paths...) 2267 return result 2268 } 2269 2270 // ToFieldMask is used for proto conversions 2271 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 2272 protoFieldMask := &googlefieldmaskpb.FieldMask{} 2273 for _, path := range fieldMask.Paths { 2274 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 2275 } 2276 return protoFieldMask 2277 } 2278 2279 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 2280 if fieldMask == nil { 2281 return status.Error(codes.Internal, "target field mask is nil") 2282 } 2283 fieldMask.Paths = make([]DeviceSpecProxyConfig_FieldPath, 0, len(protoFieldMask.Paths)) 2284 for _, strPath := range protoFieldMask.Paths { 2285 path, err := ParseDeviceSpecProxyConfig_FieldPath(strPath) 2286 if err != nil { 2287 return err 2288 } 2289 fieldMask.Paths = append(fieldMask.Paths, path) 2290 } 2291 return nil 2292 } 2293 2294 // implement methods required by customType 2295 func (fieldMask Device_Spec_ProxyConfig_FieldMask) Marshal() ([]byte, error) { 2296 protoFieldMask := fieldMask.ToProtoFieldMask() 2297 return proto.Marshal(protoFieldMask) 2298 } 2299 2300 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) Unmarshal(data []byte) error { 2301 protoFieldMask := &googlefieldmaskpb.FieldMask{} 2302 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 2303 return err 2304 } 2305 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 2306 return err 2307 } 2308 return nil 2309 } 2310 2311 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) Size() int { 2312 return proto.Size(fieldMask.ToProtoFieldMask()) 2313 } 2314 2315 func (fieldMask Device_Spec_ProxyConfig_FieldMask) MarshalJSON() ([]byte, error) { 2316 return json.Marshal(fieldMask.ToProtoFieldMask()) 2317 } 2318 2319 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) UnmarshalJSON(data []byte) error { 2320 protoFieldMask := &googlefieldmaskpb.FieldMask{} 2321 if err := json.Unmarshal(data, protoFieldMask); err != nil { 2322 return err 2323 } 2324 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 2325 return err 2326 } 2327 return nil 2328 } 2329 2330 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) AppendPath(path DeviceSpecProxyConfig_FieldPath) { 2331 fieldMask.Paths = append(fieldMask.Paths, path) 2332 } 2333 2334 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 2335 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceSpecProxyConfig_FieldPath)) 2336 } 2337 2338 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) GetPaths() []DeviceSpecProxyConfig_FieldPath { 2339 if fieldMask == nil { 2340 return nil 2341 } 2342 return fieldMask.Paths 2343 } 2344 2345 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) GetRawPaths() []gotenobject.FieldPath { 2346 if fieldMask == nil { 2347 return nil 2348 } 2349 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 2350 for _, path := range fieldMask.Paths { 2351 rawPaths = append(rawPaths, path) 2352 } 2353 return rawPaths 2354 } 2355 2356 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) SetFromCliFlag(raw string) error { 2357 path, err := ParseDeviceSpecProxyConfig_FieldPath(raw) 2358 if err != nil { 2359 return err 2360 } 2361 fieldMask.Paths = append(fieldMask.Paths, path) 2362 return nil 2363 } 2364 2365 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) Set(target, source *Device_Spec_ProxyConfig) { 2366 for _, path := range fieldMask.Paths { 2367 val, _ := path.GetSingle(source) 2368 // if val is nil, then field does not exist in source, skip 2369 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 2370 if val != nil { 2371 path.WithIValue(val).SetTo(&target) 2372 } 2373 } 2374 } 2375 2376 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 2377 fieldMask.Set(target.(*Device_Spec_ProxyConfig), source.(*Device_Spec_ProxyConfig)) 2378 } 2379 2380 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) Project(source *Device_Spec_ProxyConfig) *Device_Spec_ProxyConfig { 2381 if source == nil { 2382 return nil 2383 } 2384 if fieldMask == nil { 2385 return source 2386 } 2387 result := &Device_Spec_ProxyConfig{} 2388 2389 for _, p := range fieldMask.Paths { 2390 switch tp := p.(type) { 2391 case *DeviceSpecProxyConfig_FieldTerminalPath: 2392 switch tp.selector { 2393 case DeviceSpecProxyConfig_FieldPathSelectorHttpProxy: 2394 result.HttpProxy = source.HttpProxy 2395 case DeviceSpecProxyConfig_FieldPathSelectorHttpsProxy: 2396 result.HttpsProxy = source.HttpsProxy 2397 case DeviceSpecProxyConfig_FieldPathSelectorNoProxy: 2398 result.NoProxy = source.NoProxy 2399 case DeviceSpecProxyConfig_FieldPathSelectorProxyInterfaces: 2400 result.ProxyInterfaces = source.ProxyInterfaces 2401 } 2402 } 2403 } 2404 return result 2405 } 2406 2407 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 2408 return fieldMask.Project(source.(*Device_Spec_ProxyConfig)) 2409 } 2410 2411 func (fieldMask *Device_Spec_ProxyConfig_FieldMask) PathsCount() int { 2412 if fieldMask == nil { 2413 return 0 2414 } 2415 return len(fieldMask.Paths) 2416 } 2417 2418 type Device_Spec_Location_FieldMask struct { 2419 Paths []DeviceSpecLocation_FieldPath 2420 } 2421 2422 func FullDevice_Spec_Location_FieldMask() *Device_Spec_Location_FieldMask { 2423 res := &Device_Spec_Location_FieldMask{} 2424 res.Paths = append(res.Paths, &DeviceSpecLocation_FieldTerminalPath{selector: DeviceSpecLocation_FieldPathSelectorAddress}) 2425 res.Paths = append(res.Paths, &DeviceSpecLocation_FieldTerminalPath{selector: DeviceSpecLocation_FieldPathSelectorPlacement}) 2426 return res 2427 } 2428 2429 func (fieldMask *Device_Spec_Location_FieldMask) String() string { 2430 if fieldMask == nil { 2431 return "<nil>" 2432 } 2433 pathsStr := make([]string, 0, len(fieldMask.Paths)) 2434 for _, path := range fieldMask.Paths { 2435 pathsStr = append(pathsStr, path.String()) 2436 } 2437 return strings.Join(pathsStr, ", ") 2438 } 2439 2440 func (fieldMask *Device_Spec_Location_FieldMask) IsFull() bool { 2441 if fieldMask == nil { 2442 return false 2443 } 2444 presentSelectors := make([]bool, 2) 2445 for _, path := range fieldMask.Paths { 2446 if asFinal, ok := path.(*DeviceSpecLocation_FieldTerminalPath); ok { 2447 presentSelectors[int(asFinal.selector)] = true 2448 } 2449 } 2450 for _, flag := range presentSelectors { 2451 if !flag { 2452 return false 2453 } 2454 } 2455 return true 2456 } 2457 2458 func (fieldMask *Device_Spec_Location_FieldMask) ProtoReflect() preflect.Message { 2459 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 2460 return ParseDeviceSpecLocation_FieldPath(raw) 2461 }) 2462 } 2463 2464 func (fieldMask *Device_Spec_Location_FieldMask) ProtoMessage() {} 2465 2466 func (fieldMask *Device_Spec_Location_FieldMask) Reset() { 2467 if fieldMask != nil { 2468 fieldMask.Paths = nil 2469 } 2470 } 2471 2472 func (fieldMask *Device_Spec_Location_FieldMask) Subtract(other *Device_Spec_Location_FieldMask) *Device_Spec_Location_FieldMask { 2473 result := &Device_Spec_Location_FieldMask{} 2474 removedSelectors := make([]bool, 2) 2475 2476 for _, path := range other.GetPaths() { 2477 switch tp := path.(type) { 2478 case *DeviceSpecLocation_FieldTerminalPath: 2479 removedSelectors[int(tp.selector)] = true 2480 } 2481 } 2482 for _, path := range fieldMask.GetPaths() { 2483 if !removedSelectors[int(path.Selector())] { 2484 result.Paths = append(result.Paths, path) 2485 } 2486 } 2487 2488 if len(result.Paths) == 0 { 2489 return nil 2490 } 2491 return result 2492 } 2493 2494 func (fieldMask *Device_Spec_Location_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 2495 return fieldMask.Subtract(other.(*Device_Spec_Location_FieldMask)) 2496 } 2497 2498 // FilterInputFields generates copy of field paths with output_only field paths removed 2499 func (fieldMask *Device_Spec_Location_FieldMask) FilterInputFields() *Device_Spec_Location_FieldMask { 2500 result := &Device_Spec_Location_FieldMask{} 2501 result.Paths = append(result.Paths, fieldMask.Paths...) 2502 return result 2503 } 2504 2505 // ToFieldMask is used for proto conversions 2506 func (fieldMask *Device_Spec_Location_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 2507 protoFieldMask := &googlefieldmaskpb.FieldMask{} 2508 for _, path := range fieldMask.Paths { 2509 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 2510 } 2511 return protoFieldMask 2512 } 2513 2514 func (fieldMask *Device_Spec_Location_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 2515 if fieldMask == nil { 2516 return status.Error(codes.Internal, "target field mask is nil") 2517 } 2518 fieldMask.Paths = make([]DeviceSpecLocation_FieldPath, 0, len(protoFieldMask.Paths)) 2519 for _, strPath := range protoFieldMask.Paths { 2520 path, err := ParseDeviceSpecLocation_FieldPath(strPath) 2521 if err != nil { 2522 return err 2523 } 2524 fieldMask.Paths = append(fieldMask.Paths, path) 2525 } 2526 return nil 2527 } 2528 2529 // implement methods required by customType 2530 func (fieldMask Device_Spec_Location_FieldMask) Marshal() ([]byte, error) { 2531 protoFieldMask := fieldMask.ToProtoFieldMask() 2532 return proto.Marshal(protoFieldMask) 2533 } 2534 2535 func (fieldMask *Device_Spec_Location_FieldMask) Unmarshal(data []byte) error { 2536 protoFieldMask := &googlefieldmaskpb.FieldMask{} 2537 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 2538 return err 2539 } 2540 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 2541 return err 2542 } 2543 return nil 2544 } 2545 2546 func (fieldMask *Device_Spec_Location_FieldMask) Size() int { 2547 return proto.Size(fieldMask.ToProtoFieldMask()) 2548 } 2549 2550 func (fieldMask Device_Spec_Location_FieldMask) MarshalJSON() ([]byte, error) { 2551 return json.Marshal(fieldMask.ToProtoFieldMask()) 2552 } 2553 2554 func (fieldMask *Device_Spec_Location_FieldMask) UnmarshalJSON(data []byte) error { 2555 protoFieldMask := &googlefieldmaskpb.FieldMask{} 2556 if err := json.Unmarshal(data, protoFieldMask); err != nil { 2557 return err 2558 } 2559 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 2560 return err 2561 } 2562 return nil 2563 } 2564 2565 func (fieldMask *Device_Spec_Location_FieldMask) AppendPath(path DeviceSpecLocation_FieldPath) { 2566 fieldMask.Paths = append(fieldMask.Paths, path) 2567 } 2568 2569 func (fieldMask *Device_Spec_Location_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 2570 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceSpecLocation_FieldPath)) 2571 } 2572 2573 func (fieldMask *Device_Spec_Location_FieldMask) GetPaths() []DeviceSpecLocation_FieldPath { 2574 if fieldMask == nil { 2575 return nil 2576 } 2577 return fieldMask.Paths 2578 } 2579 2580 func (fieldMask *Device_Spec_Location_FieldMask) GetRawPaths() []gotenobject.FieldPath { 2581 if fieldMask == nil { 2582 return nil 2583 } 2584 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 2585 for _, path := range fieldMask.Paths { 2586 rawPaths = append(rawPaths, path) 2587 } 2588 return rawPaths 2589 } 2590 2591 func (fieldMask *Device_Spec_Location_FieldMask) SetFromCliFlag(raw string) error { 2592 path, err := ParseDeviceSpecLocation_FieldPath(raw) 2593 if err != nil { 2594 return err 2595 } 2596 fieldMask.Paths = append(fieldMask.Paths, path) 2597 return nil 2598 } 2599 2600 func (fieldMask *Device_Spec_Location_FieldMask) Set(target, source *Device_Spec_Location) { 2601 for _, path := range fieldMask.Paths { 2602 val, _ := path.GetSingle(source) 2603 // if val is nil, then field does not exist in source, skip 2604 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 2605 if val != nil { 2606 path.WithIValue(val).SetTo(&target) 2607 } 2608 } 2609 } 2610 2611 func (fieldMask *Device_Spec_Location_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 2612 fieldMask.Set(target.(*Device_Spec_Location), source.(*Device_Spec_Location)) 2613 } 2614 2615 func (fieldMask *Device_Spec_Location_FieldMask) Project(source *Device_Spec_Location) *Device_Spec_Location { 2616 if source == nil { 2617 return nil 2618 } 2619 if fieldMask == nil { 2620 return source 2621 } 2622 result := &Device_Spec_Location{} 2623 2624 for _, p := range fieldMask.Paths { 2625 switch tp := p.(type) { 2626 case *DeviceSpecLocation_FieldTerminalPath: 2627 switch tp.selector { 2628 case DeviceSpecLocation_FieldPathSelectorAddress: 2629 result.Address = source.Address 2630 case DeviceSpecLocation_FieldPathSelectorPlacement: 2631 result.Placement = source.Placement 2632 } 2633 } 2634 } 2635 return result 2636 } 2637 2638 func (fieldMask *Device_Spec_Location_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 2639 return fieldMask.Project(source.(*Device_Spec_Location)) 2640 } 2641 2642 func (fieldMask *Device_Spec_Location_FieldMask) PathsCount() int { 2643 if fieldMask == nil { 2644 return 0 2645 } 2646 return len(fieldMask.Paths) 2647 } 2648 2649 type Device_Spec_USBGuard_FieldMask struct { 2650 Paths []DeviceSpecUSBGuard_FieldPath 2651 } 2652 2653 func FullDevice_Spec_USBGuard_FieldMask() *Device_Spec_USBGuard_FieldMask { 2654 res := &Device_Spec_USBGuard_FieldMask{} 2655 res.Paths = append(res.Paths, &DeviceSpecUSBGuard_FieldTerminalPath{selector: DeviceSpecUSBGuard_FieldPathSelectorEnable}) 2656 res.Paths = append(res.Paths, &DeviceSpecUSBGuard_FieldTerminalPath{selector: DeviceSpecUSBGuard_FieldPathSelectorWhiteList}) 2657 return res 2658 } 2659 2660 func (fieldMask *Device_Spec_USBGuard_FieldMask) String() string { 2661 if fieldMask == nil { 2662 return "<nil>" 2663 } 2664 pathsStr := make([]string, 0, len(fieldMask.Paths)) 2665 for _, path := range fieldMask.Paths { 2666 pathsStr = append(pathsStr, path.String()) 2667 } 2668 return strings.Join(pathsStr, ", ") 2669 } 2670 2671 func (fieldMask *Device_Spec_USBGuard_FieldMask) IsFull() bool { 2672 if fieldMask == nil { 2673 return false 2674 } 2675 presentSelectors := make([]bool, 2) 2676 for _, path := range fieldMask.Paths { 2677 if asFinal, ok := path.(*DeviceSpecUSBGuard_FieldTerminalPath); ok { 2678 presentSelectors[int(asFinal.selector)] = true 2679 } 2680 } 2681 for _, flag := range presentSelectors { 2682 if !flag { 2683 return false 2684 } 2685 } 2686 return true 2687 } 2688 2689 func (fieldMask *Device_Spec_USBGuard_FieldMask) ProtoReflect() preflect.Message { 2690 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 2691 return ParseDeviceSpecUSBGuard_FieldPath(raw) 2692 }) 2693 } 2694 2695 func (fieldMask *Device_Spec_USBGuard_FieldMask) ProtoMessage() {} 2696 2697 func (fieldMask *Device_Spec_USBGuard_FieldMask) Reset() { 2698 if fieldMask != nil { 2699 fieldMask.Paths = nil 2700 } 2701 } 2702 2703 func (fieldMask *Device_Spec_USBGuard_FieldMask) Subtract(other *Device_Spec_USBGuard_FieldMask) *Device_Spec_USBGuard_FieldMask { 2704 result := &Device_Spec_USBGuard_FieldMask{} 2705 removedSelectors := make([]bool, 2) 2706 otherSubMasks := map[DeviceSpecUSBGuard_FieldPathSelector]gotenobject.FieldMask{ 2707 DeviceSpecUSBGuard_FieldPathSelectorWhiteList: &Device_Spec_USBGuard_WhiteList_FieldMask{}, 2708 } 2709 mySubMasks := map[DeviceSpecUSBGuard_FieldPathSelector]gotenobject.FieldMask{ 2710 DeviceSpecUSBGuard_FieldPathSelectorWhiteList: &Device_Spec_USBGuard_WhiteList_FieldMask{}, 2711 } 2712 2713 for _, path := range other.GetPaths() { 2714 switch tp := path.(type) { 2715 case *DeviceSpecUSBGuard_FieldTerminalPath: 2716 removedSelectors[int(tp.selector)] = true 2717 case *DeviceSpecUSBGuard_FieldSubPath: 2718 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 2719 } 2720 } 2721 for _, path := range fieldMask.GetPaths() { 2722 if !removedSelectors[int(path.Selector())] { 2723 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 2724 if tp, ok := path.(*DeviceSpecUSBGuard_FieldTerminalPath); ok { 2725 switch tp.selector { 2726 case DeviceSpecUSBGuard_FieldPathSelectorWhiteList: 2727 mySubMasks[DeviceSpecUSBGuard_FieldPathSelectorWhiteList] = FullDevice_Spec_USBGuard_WhiteList_FieldMask() 2728 } 2729 } else if tp, ok := path.(*DeviceSpecUSBGuard_FieldSubPath); ok { 2730 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 2731 } 2732 } else { 2733 result.Paths = append(result.Paths, path) 2734 } 2735 } 2736 } 2737 for selector, mySubMask := range mySubMasks { 2738 if mySubMask.PathsCount() > 0 { 2739 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 2740 result.Paths = append(result.Paths, &DeviceSpecUSBGuard_FieldSubPath{selector: selector, subPath: allowedPath}) 2741 } 2742 } 2743 } 2744 2745 if len(result.Paths) == 0 { 2746 return nil 2747 } 2748 return result 2749 } 2750 2751 func (fieldMask *Device_Spec_USBGuard_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 2752 return fieldMask.Subtract(other.(*Device_Spec_USBGuard_FieldMask)) 2753 } 2754 2755 // FilterInputFields generates copy of field paths with output_only field paths removed 2756 func (fieldMask *Device_Spec_USBGuard_FieldMask) FilterInputFields() *Device_Spec_USBGuard_FieldMask { 2757 result := &Device_Spec_USBGuard_FieldMask{} 2758 result.Paths = append(result.Paths, fieldMask.Paths...) 2759 return result 2760 } 2761 2762 // ToFieldMask is used for proto conversions 2763 func (fieldMask *Device_Spec_USBGuard_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 2764 protoFieldMask := &googlefieldmaskpb.FieldMask{} 2765 for _, path := range fieldMask.Paths { 2766 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 2767 } 2768 return protoFieldMask 2769 } 2770 2771 func (fieldMask *Device_Spec_USBGuard_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 2772 if fieldMask == nil { 2773 return status.Error(codes.Internal, "target field mask is nil") 2774 } 2775 fieldMask.Paths = make([]DeviceSpecUSBGuard_FieldPath, 0, len(protoFieldMask.Paths)) 2776 for _, strPath := range protoFieldMask.Paths { 2777 path, err := ParseDeviceSpecUSBGuard_FieldPath(strPath) 2778 if err != nil { 2779 return err 2780 } 2781 fieldMask.Paths = append(fieldMask.Paths, path) 2782 } 2783 return nil 2784 } 2785 2786 // implement methods required by customType 2787 func (fieldMask Device_Spec_USBGuard_FieldMask) Marshal() ([]byte, error) { 2788 protoFieldMask := fieldMask.ToProtoFieldMask() 2789 return proto.Marshal(protoFieldMask) 2790 } 2791 2792 func (fieldMask *Device_Spec_USBGuard_FieldMask) Unmarshal(data []byte) error { 2793 protoFieldMask := &googlefieldmaskpb.FieldMask{} 2794 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 2795 return err 2796 } 2797 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 2798 return err 2799 } 2800 return nil 2801 } 2802 2803 func (fieldMask *Device_Spec_USBGuard_FieldMask) Size() int { 2804 return proto.Size(fieldMask.ToProtoFieldMask()) 2805 } 2806 2807 func (fieldMask Device_Spec_USBGuard_FieldMask) MarshalJSON() ([]byte, error) { 2808 return json.Marshal(fieldMask.ToProtoFieldMask()) 2809 } 2810 2811 func (fieldMask *Device_Spec_USBGuard_FieldMask) UnmarshalJSON(data []byte) error { 2812 protoFieldMask := &googlefieldmaskpb.FieldMask{} 2813 if err := json.Unmarshal(data, protoFieldMask); err != nil { 2814 return err 2815 } 2816 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 2817 return err 2818 } 2819 return nil 2820 } 2821 2822 func (fieldMask *Device_Spec_USBGuard_FieldMask) AppendPath(path DeviceSpecUSBGuard_FieldPath) { 2823 fieldMask.Paths = append(fieldMask.Paths, path) 2824 } 2825 2826 func (fieldMask *Device_Spec_USBGuard_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 2827 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceSpecUSBGuard_FieldPath)) 2828 } 2829 2830 func (fieldMask *Device_Spec_USBGuard_FieldMask) GetPaths() []DeviceSpecUSBGuard_FieldPath { 2831 if fieldMask == nil { 2832 return nil 2833 } 2834 return fieldMask.Paths 2835 } 2836 2837 func (fieldMask *Device_Spec_USBGuard_FieldMask) GetRawPaths() []gotenobject.FieldPath { 2838 if fieldMask == nil { 2839 return nil 2840 } 2841 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 2842 for _, path := range fieldMask.Paths { 2843 rawPaths = append(rawPaths, path) 2844 } 2845 return rawPaths 2846 } 2847 2848 func (fieldMask *Device_Spec_USBGuard_FieldMask) SetFromCliFlag(raw string) error { 2849 path, err := ParseDeviceSpecUSBGuard_FieldPath(raw) 2850 if err != nil { 2851 return err 2852 } 2853 fieldMask.Paths = append(fieldMask.Paths, path) 2854 return nil 2855 } 2856 2857 func (fieldMask *Device_Spec_USBGuard_FieldMask) Set(target, source *Device_Spec_USBGuard) { 2858 for _, path := range fieldMask.Paths { 2859 val, _ := path.GetSingle(source) 2860 // if val is nil, then field does not exist in source, skip 2861 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 2862 if val != nil { 2863 path.WithIValue(val).SetTo(&target) 2864 } 2865 } 2866 } 2867 2868 func (fieldMask *Device_Spec_USBGuard_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 2869 fieldMask.Set(target.(*Device_Spec_USBGuard), source.(*Device_Spec_USBGuard)) 2870 } 2871 2872 func (fieldMask *Device_Spec_USBGuard_FieldMask) Project(source *Device_Spec_USBGuard) *Device_Spec_USBGuard { 2873 if source == nil { 2874 return nil 2875 } 2876 if fieldMask == nil { 2877 return source 2878 } 2879 result := &Device_Spec_USBGuard{} 2880 whiteListMask := &Device_Spec_USBGuard_WhiteList_FieldMask{} 2881 wholeWhiteListAccepted := false 2882 2883 for _, p := range fieldMask.Paths { 2884 switch tp := p.(type) { 2885 case *DeviceSpecUSBGuard_FieldTerminalPath: 2886 switch tp.selector { 2887 case DeviceSpecUSBGuard_FieldPathSelectorEnable: 2888 result.Enable = source.Enable 2889 case DeviceSpecUSBGuard_FieldPathSelectorWhiteList: 2890 result.WhiteList = source.WhiteList 2891 wholeWhiteListAccepted = true 2892 } 2893 case *DeviceSpecUSBGuard_FieldSubPath: 2894 switch tp.selector { 2895 case DeviceSpecUSBGuard_FieldPathSelectorWhiteList: 2896 whiteListMask.AppendPath(tp.subPath.(DeviceSpecUSBGuardWhiteList_FieldPath)) 2897 } 2898 } 2899 } 2900 if wholeWhiteListAccepted == false && len(whiteListMask.Paths) > 0 { 2901 for _, sourceItem := range source.GetWhiteList() { 2902 result.WhiteList = append(result.WhiteList, whiteListMask.Project(sourceItem)) 2903 } 2904 } 2905 return result 2906 } 2907 2908 func (fieldMask *Device_Spec_USBGuard_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 2909 return fieldMask.Project(source.(*Device_Spec_USBGuard)) 2910 } 2911 2912 func (fieldMask *Device_Spec_USBGuard_FieldMask) PathsCount() int { 2913 if fieldMask == nil { 2914 return 0 2915 } 2916 return len(fieldMask.Paths) 2917 } 2918 2919 type Device_Spec_SSHConfig_AuthKey_FieldMask struct { 2920 Paths []DeviceSpecSSHConfigAuthKey_FieldPath 2921 } 2922 2923 func FullDevice_Spec_SSHConfig_AuthKey_FieldMask() *Device_Spec_SSHConfig_AuthKey_FieldMask { 2924 res := &Device_Spec_SSHConfig_AuthKey_FieldMask{} 2925 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorSshaKey}) 2926 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorCertAuthority}) 2927 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorCommand}) 2928 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorEnvironment}) 2929 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorFrom}) 2930 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoAgentForwarding}) 2931 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoPortForwarding}) 2932 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoPty}) 2933 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoUserRc}) 2934 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoX11Forwarding}) 2935 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorPermitopen}) 2936 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorPrincipals}) 2937 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorTunnel}) 2938 res.Paths = append(res.Paths, &DeviceSpecSSHConfigAuthKey_FieldTerminalPath{selector: DeviceSpecSSHConfigAuthKey_FieldPathSelectorRestrict}) 2939 return res 2940 } 2941 2942 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) String() string { 2943 if fieldMask == nil { 2944 return "<nil>" 2945 } 2946 pathsStr := make([]string, 0, len(fieldMask.Paths)) 2947 for _, path := range fieldMask.Paths { 2948 pathsStr = append(pathsStr, path.String()) 2949 } 2950 return strings.Join(pathsStr, ", ") 2951 } 2952 2953 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) IsFull() bool { 2954 if fieldMask == nil { 2955 return false 2956 } 2957 presentSelectors := make([]bool, 14) 2958 for _, path := range fieldMask.Paths { 2959 if asFinal, ok := path.(*DeviceSpecSSHConfigAuthKey_FieldTerminalPath); ok { 2960 presentSelectors[int(asFinal.selector)] = true 2961 } 2962 } 2963 for _, flag := range presentSelectors { 2964 if !flag { 2965 return false 2966 } 2967 } 2968 return true 2969 } 2970 2971 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) ProtoReflect() preflect.Message { 2972 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 2973 return ParseDeviceSpecSSHConfigAuthKey_FieldPath(raw) 2974 }) 2975 } 2976 2977 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) ProtoMessage() {} 2978 2979 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) Reset() { 2980 if fieldMask != nil { 2981 fieldMask.Paths = nil 2982 } 2983 } 2984 2985 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) Subtract(other *Device_Spec_SSHConfig_AuthKey_FieldMask) *Device_Spec_SSHConfig_AuthKey_FieldMask { 2986 result := &Device_Spec_SSHConfig_AuthKey_FieldMask{} 2987 removedSelectors := make([]bool, 14) 2988 2989 for _, path := range other.GetPaths() { 2990 switch tp := path.(type) { 2991 case *DeviceSpecSSHConfigAuthKey_FieldTerminalPath: 2992 removedSelectors[int(tp.selector)] = true 2993 } 2994 } 2995 for _, path := range fieldMask.GetPaths() { 2996 if !removedSelectors[int(path.Selector())] { 2997 result.Paths = append(result.Paths, path) 2998 } 2999 } 3000 3001 if len(result.Paths) == 0 { 3002 return nil 3003 } 3004 return result 3005 } 3006 3007 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 3008 return fieldMask.Subtract(other.(*Device_Spec_SSHConfig_AuthKey_FieldMask)) 3009 } 3010 3011 // FilterInputFields generates copy of field paths with output_only field paths removed 3012 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) FilterInputFields() *Device_Spec_SSHConfig_AuthKey_FieldMask { 3013 result := &Device_Spec_SSHConfig_AuthKey_FieldMask{} 3014 result.Paths = append(result.Paths, fieldMask.Paths...) 3015 return result 3016 } 3017 3018 // ToFieldMask is used for proto conversions 3019 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 3020 protoFieldMask := &googlefieldmaskpb.FieldMask{} 3021 for _, path := range fieldMask.Paths { 3022 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 3023 } 3024 return protoFieldMask 3025 } 3026 3027 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 3028 if fieldMask == nil { 3029 return status.Error(codes.Internal, "target field mask is nil") 3030 } 3031 fieldMask.Paths = make([]DeviceSpecSSHConfigAuthKey_FieldPath, 0, len(protoFieldMask.Paths)) 3032 for _, strPath := range protoFieldMask.Paths { 3033 path, err := ParseDeviceSpecSSHConfigAuthKey_FieldPath(strPath) 3034 if err != nil { 3035 return err 3036 } 3037 fieldMask.Paths = append(fieldMask.Paths, path) 3038 } 3039 return nil 3040 } 3041 3042 // implement methods required by customType 3043 func (fieldMask Device_Spec_SSHConfig_AuthKey_FieldMask) Marshal() ([]byte, error) { 3044 protoFieldMask := fieldMask.ToProtoFieldMask() 3045 return proto.Marshal(protoFieldMask) 3046 } 3047 3048 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) Unmarshal(data []byte) error { 3049 protoFieldMask := &googlefieldmaskpb.FieldMask{} 3050 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 3051 return err 3052 } 3053 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 3054 return err 3055 } 3056 return nil 3057 } 3058 3059 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) Size() int { 3060 return proto.Size(fieldMask.ToProtoFieldMask()) 3061 } 3062 3063 func (fieldMask Device_Spec_SSHConfig_AuthKey_FieldMask) MarshalJSON() ([]byte, error) { 3064 return json.Marshal(fieldMask.ToProtoFieldMask()) 3065 } 3066 3067 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) UnmarshalJSON(data []byte) error { 3068 protoFieldMask := &googlefieldmaskpb.FieldMask{} 3069 if err := json.Unmarshal(data, protoFieldMask); err != nil { 3070 return err 3071 } 3072 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 3073 return err 3074 } 3075 return nil 3076 } 3077 3078 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) AppendPath(path DeviceSpecSSHConfigAuthKey_FieldPath) { 3079 fieldMask.Paths = append(fieldMask.Paths, path) 3080 } 3081 3082 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 3083 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceSpecSSHConfigAuthKey_FieldPath)) 3084 } 3085 3086 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) GetPaths() []DeviceSpecSSHConfigAuthKey_FieldPath { 3087 if fieldMask == nil { 3088 return nil 3089 } 3090 return fieldMask.Paths 3091 } 3092 3093 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) GetRawPaths() []gotenobject.FieldPath { 3094 if fieldMask == nil { 3095 return nil 3096 } 3097 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 3098 for _, path := range fieldMask.Paths { 3099 rawPaths = append(rawPaths, path) 3100 } 3101 return rawPaths 3102 } 3103 3104 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) SetFromCliFlag(raw string) error { 3105 path, err := ParseDeviceSpecSSHConfigAuthKey_FieldPath(raw) 3106 if err != nil { 3107 return err 3108 } 3109 fieldMask.Paths = append(fieldMask.Paths, path) 3110 return nil 3111 } 3112 3113 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) Set(target, source *Device_Spec_SSHConfig_AuthKey) { 3114 for _, path := range fieldMask.Paths { 3115 val, _ := path.GetSingle(source) 3116 // if val is nil, then field does not exist in source, skip 3117 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 3118 if val != nil { 3119 path.WithIValue(val).SetTo(&target) 3120 } 3121 } 3122 } 3123 3124 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 3125 fieldMask.Set(target.(*Device_Spec_SSHConfig_AuthKey), source.(*Device_Spec_SSHConfig_AuthKey)) 3126 } 3127 3128 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) Project(source *Device_Spec_SSHConfig_AuthKey) *Device_Spec_SSHConfig_AuthKey { 3129 if source == nil { 3130 return nil 3131 } 3132 if fieldMask == nil { 3133 return source 3134 } 3135 result := &Device_Spec_SSHConfig_AuthKey{} 3136 3137 for _, p := range fieldMask.Paths { 3138 switch tp := p.(type) { 3139 case *DeviceSpecSSHConfigAuthKey_FieldTerminalPath: 3140 switch tp.selector { 3141 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorSshaKey: 3142 result.SshaKey = source.SshaKey 3143 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorCertAuthority: 3144 result.CertAuthority = source.CertAuthority 3145 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorCommand: 3146 result.Command = source.Command 3147 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorEnvironment: 3148 result.Environment = source.Environment 3149 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorFrom: 3150 result.From = source.From 3151 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoAgentForwarding: 3152 result.NoAgentForwarding = source.NoAgentForwarding 3153 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoPortForwarding: 3154 result.NoPortForwarding = source.NoPortForwarding 3155 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoPty: 3156 result.NoPty = source.NoPty 3157 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoUserRc: 3158 result.NoUserRc = source.NoUserRc 3159 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorNoX11Forwarding: 3160 result.NoX11Forwarding = source.NoX11Forwarding 3161 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorPermitopen: 3162 result.Permitopen = source.Permitopen 3163 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorPrincipals: 3164 result.Principals = source.Principals 3165 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorTunnel: 3166 result.Tunnel = source.Tunnel 3167 case DeviceSpecSSHConfigAuthKey_FieldPathSelectorRestrict: 3168 result.Restrict = source.Restrict 3169 } 3170 } 3171 } 3172 return result 3173 } 3174 3175 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 3176 return fieldMask.Project(source.(*Device_Spec_SSHConfig_AuthKey)) 3177 } 3178 3179 func (fieldMask *Device_Spec_SSHConfig_AuthKey_FieldMask) PathsCount() int { 3180 if fieldMask == nil { 3181 return 0 3182 } 3183 return len(fieldMask.Paths) 3184 } 3185 3186 type Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask struct { 3187 Paths []DeviceSpecLoggingConfigContainerLoggingConfig_FieldPath 3188 } 3189 3190 func FullDevice_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask() *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask { 3191 res := &Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask{} 3192 res.Paths = append(res.Paths, &DeviceSpecLoggingConfigContainerLoggingConfig_FieldTerminalPath{selector: DeviceSpecLoggingConfigContainerLoggingConfig_FieldPathSelectorEnableContainerLogExport}) 3193 return res 3194 } 3195 3196 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) String() string { 3197 if fieldMask == nil { 3198 return "<nil>" 3199 } 3200 pathsStr := make([]string, 0, len(fieldMask.Paths)) 3201 for _, path := range fieldMask.Paths { 3202 pathsStr = append(pathsStr, path.String()) 3203 } 3204 return strings.Join(pathsStr, ", ") 3205 } 3206 3207 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) IsFull() bool { 3208 if fieldMask == nil { 3209 return false 3210 } 3211 presentSelectors := make([]bool, 1) 3212 for _, path := range fieldMask.Paths { 3213 if asFinal, ok := path.(*DeviceSpecLoggingConfigContainerLoggingConfig_FieldTerminalPath); ok { 3214 presentSelectors[int(asFinal.selector)] = true 3215 } 3216 } 3217 for _, flag := range presentSelectors { 3218 if !flag { 3219 return false 3220 } 3221 } 3222 return true 3223 } 3224 3225 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) ProtoReflect() preflect.Message { 3226 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 3227 return ParseDeviceSpecLoggingConfigContainerLoggingConfig_FieldPath(raw) 3228 }) 3229 } 3230 3231 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) ProtoMessage() {} 3232 3233 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) Reset() { 3234 if fieldMask != nil { 3235 fieldMask.Paths = nil 3236 } 3237 } 3238 3239 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) Subtract(other *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask { 3240 result := &Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask{} 3241 removedSelectors := make([]bool, 1) 3242 3243 for _, path := range other.GetPaths() { 3244 switch tp := path.(type) { 3245 case *DeviceSpecLoggingConfigContainerLoggingConfig_FieldTerminalPath: 3246 removedSelectors[int(tp.selector)] = true 3247 } 3248 } 3249 for _, path := range fieldMask.GetPaths() { 3250 if !removedSelectors[int(path.Selector())] { 3251 result.Paths = append(result.Paths, path) 3252 } 3253 } 3254 3255 if len(result.Paths) == 0 { 3256 return nil 3257 } 3258 return result 3259 } 3260 3261 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 3262 return fieldMask.Subtract(other.(*Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask)) 3263 } 3264 3265 // FilterInputFields generates copy of field paths with output_only field paths removed 3266 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) FilterInputFields() *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask { 3267 result := &Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask{} 3268 result.Paths = append(result.Paths, fieldMask.Paths...) 3269 return result 3270 } 3271 3272 // ToFieldMask is used for proto conversions 3273 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 3274 protoFieldMask := &googlefieldmaskpb.FieldMask{} 3275 for _, path := range fieldMask.Paths { 3276 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 3277 } 3278 return protoFieldMask 3279 } 3280 3281 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 3282 if fieldMask == nil { 3283 return status.Error(codes.Internal, "target field mask is nil") 3284 } 3285 fieldMask.Paths = make([]DeviceSpecLoggingConfigContainerLoggingConfig_FieldPath, 0, len(protoFieldMask.Paths)) 3286 for _, strPath := range protoFieldMask.Paths { 3287 path, err := ParseDeviceSpecLoggingConfigContainerLoggingConfig_FieldPath(strPath) 3288 if err != nil { 3289 return err 3290 } 3291 fieldMask.Paths = append(fieldMask.Paths, path) 3292 } 3293 return nil 3294 } 3295 3296 // implement methods required by customType 3297 func (fieldMask Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) Marshal() ([]byte, error) { 3298 protoFieldMask := fieldMask.ToProtoFieldMask() 3299 return proto.Marshal(protoFieldMask) 3300 } 3301 3302 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) Unmarshal(data []byte) error { 3303 protoFieldMask := &googlefieldmaskpb.FieldMask{} 3304 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 3305 return err 3306 } 3307 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 3308 return err 3309 } 3310 return nil 3311 } 3312 3313 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) Size() int { 3314 return proto.Size(fieldMask.ToProtoFieldMask()) 3315 } 3316 3317 func (fieldMask Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) MarshalJSON() ([]byte, error) { 3318 return json.Marshal(fieldMask.ToProtoFieldMask()) 3319 } 3320 3321 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) UnmarshalJSON(data []byte) error { 3322 protoFieldMask := &googlefieldmaskpb.FieldMask{} 3323 if err := json.Unmarshal(data, protoFieldMask); err != nil { 3324 return err 3325 } 3326 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 3327 return err 3328 } 3329 return nil 3330 } 3331 3332 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) AppendPath(path DeviceSpecLoggingConfigContainerLoggingConfig_FieldPath) { 3333 fieldMask.Paths = append(fieldMask.Paths, path) 3334 } 3335 3336 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 3337 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceSpecLoggingConfigContainerLoggingConfig_FieldPath)) 3338 } 3339 3340 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) GetPaths() []DeviceSpecLoggingConfigContainerLoggingConfig_FieldPath { 3341 if fieldMask == nil { 3342 return nil 3343 } 3344 return fieldMask.Paths 3345 } 3346 3347 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) GetRawPaths() []gotenobject.FieldPath { 3348 if fieldMask == nil { 3349 return nil 3350 } 3351 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 3352 for _, path := range fieldMask.Paths { 3353 rawPaths = append(rawPaths, path) 3354 } 3355 return rawPaths 3356 } 3357 3358 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) SetFromCliFlag(raw string) error { 3359 path, err := ParseDeviceSpecLoggingConfigContainerLoggingConfig_FieldPath(raw) 3360 if err != nil { 3361 return err 3362 } 3363 fieldMask.Paths = append(fieldMask.Paths, path) 3364 return nil 3365 } 3366 3367 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) Set(target, source *Device_Spec_LoggingConfig_ContainerLoggingConfig) { 3368 for _, path := range fieldMask.Paths { 3369 val, _ := path.GetSingle(source) 3370 // if val is nil, then field does not exist in source, skip 3371 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 3372 if val != nil { 3373 path.WithIValue(val).SetTo(&target) 3374 } 3375 } 3376 } 3377 3378 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 3379 fieldMask.Set(target.(*Device_Spec_LoggingConfig_ContainerLoggingConfig), source.(*Device_Spec_LoggingConfig_ContainerLoggingConfig)) 3380 } 3381 3382 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) Project(source *Device_Spec_LoggingConfig_ContainerLoggingConfig) *Device_Spec_LoggingConfig_ContainerLoggingConfig { 3383 if source == nil { 3384 return nil 3385 } 3386 if fieldMask == nil { 3387 return source 3388 } 3389 result := &Device_Spec_LoggingConfig_ContainerLoggingConfig{} 3390 3391 for _, p := range fieldMask.Paths { 3392 switch tp := p.(type) { 3393 case *DeviceSpecLoggingConfigContainerLoggingConfig_FieldTerminalPath: 3394 switch tp.selector { 3395 case DeviceSpecLoggingConfigContainerLoggingConfig_FieldPathSelectorEnableContainerLogExport: 3396 result.EnableContainerLogExport = source.EnableContainerLogExport 3397 } 3398 } 3399 } 3400 return result 3401 } 3402 3403 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 3404 return fieldMask.Project(source.(*Device_Spec_LoggingConfig_ContainerLoggingConfig)) 3405 } 3406 3407 func (fieldMask *Device_Spec_LoggingConfig_ContainerLoggingConfig_FieldMask) PathsCount() int { 3408 if fieldMask == nil { 3409 return 0 3410 } 3411 return len(fieldMask.Paths) 3412 } 3413 3414 type Device_Spec_USBGuard_Port_FieldMask struct { 3415 Paths []DeviceSpecUSBGuardPort_FieldPath 3416 } 3417 3418 func FullDevice_Spec_USBGuard_Port_FieldMask() *Device_Spec_USBGuard_Port_FieldMask { 3419 res := &Device_Spec_USBGuard_Port_FieldMask{} 3420 res.Paths = append(res.Paths, &DeviceSpecUSBGuardPort_FieldTerminalPath{selector: DeviceSpecUSBGuardPort_FieldPathSelectorEquals}) 3421 res.Paths = append(res.Paths, &DeviceSpecUSBGuardPort_FieldTerminalPath{selector: DeviceSpecUSBGuardPort_FieldPathSelectorOneOf}) 3422 return res 3423 } 3424 3425 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) String() string { 3426 if fieldMask == nil { 3427 return "<nil>" 3428 } 3429 pathsStr := make([]string, 0, len(fieldMask.Paths)) 3430 for _, path := range fieldMask.Paths { 3431 pathsStr = append(pathsStr, path.String()) 3432 } 3433 return strings.Join(pathsStr, ", ") 3434 } 3435 3436 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) IsFull() bool { 3437 if fieldMask == nil { 3438 return false 3439 } 3440 presentSelectors := make([]bool, 2) 3441 for _, path := range fieldMask.Paths { 3442 if asFinal, ok := path.(*DeviceSpecUSBGuardPort_FieldTerminalPath); ok { 3443 presentSelectors[int(asFinal.selector)] = true 3444 } 3445 } 3446 for _, flag := range presentSelectors { 3447 if !flag { 3448 return false 3449 } 3450 } 3451 return true 3452 } 3453 3454 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) ProtoReflect() preflect.Message { 3455 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 3456 return ParseDeviceSpecUSBGuardPort_FieldPath(raw) 3457 }) 3458 } 3459 3460 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) ProtoMessage() {} 3461 3462 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) Reset() { 3463 if fieldMask != nil { 3464 fieldMask.Paths = nil 3465 } 3466 } 3467 3468 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) Subtract(other *Device_Spec_USBGuard_Port_FieldMask) *Device_Spec_USBGuard_Port_FieldMask { 3469 result := &Device_Spec_USBGuard_Port_FieldMask{} 3470 removedSelectors := make([]bool, 2) 3471 3472 for _, path := range other.GetPaths() { 3473 switch tp := path.(type) { 3474 case *DeviceSpecUSBGuardPort_FieldTerminalPath: 3475 removedSelectors[int(tp.selector)] = true 3476 } 3477 } 3478 for _, path := range fieldMask.GetPaths() { 3479 if !removedSelectors[int(path.Selector())] { 3480 result.Paths = append(result.Paths, path) 3481 } 3482 } 3483 3484 if len(result.Paths) == 0 { 3485 return nil 3486 } 3487 return result 3488 } 3489 3490 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 3491 return fieldMask.Subtract(other.(*Device_Spec_USBGuard_Port_FieldMask)) 3492 } 3493 3494 // FilterInputFields generates copy of field paths with output_only field paths removed 3495 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) FilterInputFields() *Device_Spec_USBGuard_Port_FieldMask { 3496 result := &Device_Spec_USBGuard_Port_FieldMask{} 3497 result.Paths = append(result.Paths, fieldMask.Paths...) 3498 return result 3499 } 3500 3501 // ToFieldMask is used for proto conversions 3502 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 3503 protoFieldMask := &googlefieldmaskpb.FieldMask{} 3504 for _, path := range fieldMask.Paths { 3505 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 3506 } 3507 return protoFieldMask 3508 } 3509 3510 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 3511 if fieldMask == nil { 3512 return status.Error(codes.Internal, "target field mask is nil") 3513 } 3514 fieldMask.Paths = make([]DeviceSpecUSBGuardPort_FieldPath, 0, len(protoFieldMask.Paths)) 3515 for _, strPath := range protoFieldMask.Paths { 3516 path, err := ParseDeviceSpecUSBGuardPort_FieldPath(strPath) 3517 if err != nil { 3518 return err 3519 } 3520 fieldMask.Paths = append(fieldMask.Paths, path) 3521 } 3522 return nil 3523 } 3524 3525 // implement methods required by customType 3526 func (fieldMask Device_Spec_USBGuard_Port_FieldMask) Marshal() ([]byte, error) { 3527 protoFieldMask := fieldMask.ToProtoFieldMask() 3528 return proto.Marshal(protoFieldMask) 3529 } 3530 3531 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) Unmarshal(data []byte) error { 3532 protoFieldMask := &googlefieldmaskpb.FieldMask{} 3533 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 3534 return err 3535 } 3536 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 3537 return err 3538 } 3539 return nil 3540 } 3541 3542 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) Size() int { 3543 return proto.Size(fieldMask.ToProtoFieldMask()) 3544 } 3545 3546 func (fieldMask Device_Spec_USBGuard_Port_FieldMask) MarshalJSON() ([]byte, error) { 3547 return json.Marshal(fieldMask.ToProtoFieldMask()) 3548 } 3549 3550 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) UnmarshalJSON(data []byte) error { 3551 protoFieldMask := &googlefieldmaskpb.FieldMask{} 3552 if err := json.Unmarshal(data, protoFieldMask); err != nil { 3553 return err 3554 } 3555 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 3556 return err 3557 } 3558 return nil 3559 } 3560 3561 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) AppendPath(path DeviceSpecUSBGuardPort_FieldPath) { 3562 fieldMask.Paths = append(fieldMask.Paths, path) 3563 } 3564 3565 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 3566 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceSpecUSBGuardPort_FieldPath)) 3567 } 3568 3569 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) GetPaths() []DeviceSpecUSBGuardPort_FieldPath { 3570 if fieldMask == nil { 3571 return nil 3572 } 3573 return fieldMask.Paths 3574 } 3575 3576 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) GetRawPaths() []gotenobject.FieldPath { 3577 if fieldMask == nil { 3578 return nil 3579 } 3580 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 3581 for _, path := range fieldMask.Paths { 3582 rawPaths = append(rawPaths, path) 3583 } 3584 return rawPaths 3585 } 3586 3587 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) SetFromCliFlag(raw string) error { 3588 path, err := ParseDeviceSpecUSBGuardPort_FieldPath(raw) 3589 if err != nil { 3590 return err 3591 } 3592 fieldMask.Paths = append(fieldMask.Paths, path) 3593 return nil 3594 } 3595 3596 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) Set(target, source *Device_Spec_USBGuard_Port) { 3597 for _, path := range fieldMask.Paths { 3598 val, _ := path.GetSingle(source) 3599 // if val is nil, then field does not exist in source, skip 3600 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 3601 if val != nil { 3602 path.WithIValue(val).SetTo(&target) 3603 } 3604 } 3605 } 3606 3607 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 3608 fieldMask.Set(target.(*Device_Spec_USBGuard_Port), source.(*Device_Spec_USBGuard_Port)) 3609 } 3610 3611 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) Project(source *Device_Spec_USBGuard_Port) *Device_Spec_USBGuard_Port { 3612 if source == nil { 3613 return nil 3614 } 3615 if fieldMask == nil { 3616 return source 3617 } 3618 result := &Device_Spec_USBGuard_Port{} 3619 3620 for _, p := range fieldMask.Paths { 3621 switch tp := p.(type) { 3622 case *DeviceSpecUSBGuardPort_FieldTerminalPath: 3623 switch tp.selector { 3624 case DeviceSpecUSBGuardPort_FieldPathSelectorEquals: 3625 result.Equals = source.Equals 3626 case DeviceSpecUSBGuardPort_FieldPathSelectorOneOf: 3627 result.OneOf = source.OneOf 3628 } 3629 } 3630 } 3631 return result 3632 } 3633 3634 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 3635 return fieldMask.Project(source.(*Device_Spec_USBGuard_Port)) 3636 } 3637 3638 func (fieldMask *Device_Spec_USBGuard_Port_FieldMask) PathsCount() int { 3639 if fieldMask == nil { 3640 return 0 3641 } 3642 return len(fieldMask.Paths) 3643 } 3644 3645 type Device_Spec_USBGuard_Interface_FieldMask struct { 3646 Paths []DeviceSpecUSBGuardInterface_FieldPath 3647 } 3648 3649 func FullDevice_Spec_USBGuard_Interface_FieldMask() *Device_Spec_USBGuard_Interface_FieldMask { 3650 res := &Device_Spec_USBGuard_Interface_FieldMask{} 3651 res.Paths = append(res.Paths, &DeviceSpecUSBGuardInterface_FieldTerminalPath{selector: DeviceSpecUSBGuardInterface_FieldPathSelectorEquals}) 3652 res.Paths = append(res.Paths, &DeviceSpecUSBGuardInterface_FieldTerminalPath{selector: DeviceSpecUSBGuardInterface_FieldPathSelectorOneOf}) 3653 return res 3654 } 3655 3656 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) String() string { 3657 if fieldMask == nil { 3658 return "<nil>" 3659 } 3660 pathsStr := make([]string, 0, len(fieldMask.Paths)) 3661 for _, path := range fieldMask.Paths { 3662 pathsStr = append(pathsStr, path.String()) 3663 } 3664 return strings.Join(pathsStr, ", ") 3665 } 3666 3667 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) IsFull() bool { 3668 if fieldMask == nil { 3669 return false 3670 } 3671 presentSelectors := make([]bool, 2) 3672 for _, path := range fieldMask.Paths { 3673 if asFinal, ok := path.(*DeviceSpecUSBGuardInterface_FieldTerminalPath); ok { 3674 presentSelectors[int(asFinal.selector)] = true 3675 } 3676 } 3677 for _, flag := range presentSelectors { 3678 if !flag { 3679 return false 3680 } 3681 } 3682 return true 3683 } 3684 3685 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) ProtoReflect() preflect.Message { 3686 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 3687 return ParseDeviceSpecUSBGuardInterface_FieldPath(raw) 3688 }) 3689 } 3690 3691 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) ProtoMessage() {} 3692 3693 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) Reset() { 3694 if fieldMask != nil { 3695 fieldMask.Paths = nil 3696 } 3697 } 3698 3699 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) Subtract(other *Device_Spec_USBGuard_Interface_FieldMask) *Device_Spec_USBGuard_Interface_FieldMask { 3700 result := &Device_Spec_USBGuard_Interface_FieldMask{} 3701 removedSelectors := make([]bool, 2) 3702 3703 for _, path := range other.GetPaths() { 3704 switch tp := path.(type) { 3705 case *DeviceSpecUSBGuardInterface_FieldTerminalPath: 3706 removedSelectors[int(tp.selector)] = true 3707 } 3708 } 3709 for _, path := range fieldMask.GetPaths() { 3710 if !removedSelectors[int(path.Selector())] { 3711 result.Paths = append(result.Paths, path) 3712 } 3713 } 3714 3715 if len(result.Paths) == 0 { 3716 return nil 3717 } 3718 return result 3719 } 3720 3721 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 3722 return fieldMask.Subtract(other.(*Device_Spec_USBGuard_Interface_FieldMask)) 3723 } 3724 3725 // FilterInputFields generates copy of field paths with output_only field paths removed 3726 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) FilterInputFields() *Device_Spec_USBGuard_Interface_FieldMask { 3727 result := &Device_Spec_USBGuard_Interface_FieldMask{} 3728 result.Paths = append(result.Paths, fieldMask.Paths...) 3729 return result 3730 } 3731 3732 // ToFieldMask is used for proto conversions 3733 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 3734 protoFieldMask := &googlefieldmaskpb.FieldMask{} 3735 for _, path := range fieldMask.Paths { 3736 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 3737 } 3738 return protoFieldMask 3739 } 3740 3741 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 3742 if fieldMask == nil { 3743 return status.Error(codes.Internal, "target field mask is nil") 3744 } 3745 fieldMask.Paths = make([]DeviceSpecUSBGuardInterface_FieldPath, 0, len(protoFieldMask.Paths)) 3746 for _, strPath := range protoFieldMask.Paths { 3747 path, err := ParseDeviceSpecUSBGuardInterface_FieldPath(strPath) 3748 if err != nil { 3749 return err 3750 } 3751 fieldMask.Paths = append(fieldMask.Paths, path) 3752 } 3753 return nil 3754 } 3755 3756 // implement methods required by customType 3757 func (fieldMask Device_Spec_USBGuard_Interface_FieldMask) Marshal() ([]byte, error) { 3758 protoFieldMask := fieldMask.ToProtoFieldMask() 3759 return proto.Marshal(protoFieldMask) 3760 } 3761 3762 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) Unmarshal(data []byte) error { 3763 protoFieldMask := &googlefieldmaskpb.FieldMask{} 3764 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 3765 return err 3766 } 3767 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 3768 return err 3769 } 3770 return nil 3771 } 3772 3773 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) Size() int { 3774 return proto.Size(fieldMask.ToProtoFieldMask()) 3775 } 3776 3777 func (fieldMask Device_Spec_USBGuard_Interface_FieldMask) MarshalJSON() ([]byte, error) { 3778 return json.Marshal(fieldMask.ToProtoFieldMask()) 3779 } 3780 3781 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) UnmarshalJSON(data []byte) error { 3782 protoFieldMask := &googlefieldmaskpb.FieldMask{} 3783 if err := json.Unmarshal(data, protoFieldMask); err != nil { 3784 return err 3785 } 3786 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 3787 return err 3788 } 3789 return nil 3790 } 3791 3792 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) AppendPath(path DeviceSpecUSBGuardInterface_FieldPath) { 3793 fieldMask.Paths = append(fieldMask.Paths, path) 3794 } 3795 3796 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 3797 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceSpecUSBGuardInterface_FieldPath)) 3798 } 3799 3800 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) GetPaths() []DeviceSpecUSBGuardInterface_FieldPath { 3801 if fieldMask == nil { 3802 return nil 3803 } 3804 return fieldMask.Paths 3805 } 3806 3807 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) GetRawPaths() []gotenobject.FieldPath { 3808 if fieldMask == nil { 3809 return nil 3810 } 3811 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 3812 for _, path := range fieldMask.Paths { 3813 rawPaths = append(rawPaths, path) 3814 } 3815 return rawPaths 3816 } 3817 3818 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) SetFromCliFlag(raw string) error { 3819 path, err := ParseDeviceSpecUSBGuardInterface_FieldPath(raw) 3820 if err != nil { 3821 return err 3822 } 3823 fieldMask.Paths = append(fieldMask.Paths, path) 3824 return nil 3825 } 3826 3827 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) Set(target, source *Device_Spec_USBGuard_Interface) { 3828 for _, path := range fieldMask.Paths { 3829 val, _ := path.GetSingle(source) 3830 // if val is nil, then field does not exist in source, skip 3831 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 3832 if val != nil { 3833 path.WithIValue(val).SetTo(&target) 3834 } 3835 } 3836 } 3837 3838 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 3839 fieldMask.Set(target.(*Device_Spec_USBGuard_Interface), source.(*Device_Spec_USBGuard_Interface)) 3840 } 3841 3842 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) Project(source *Device_Spec_USBGuard_Interface) *Device_Spec_USBGuard_Interface { 3843 if source == nil { 3844 return nil 3845 } 3846 if fieldMask == nil { 3847 return source 3848 } 3849 result := &Device_Spec_USBGuard_Interface{} 3850 3851 for _, p := range fieldMask.Paths { 3852 switch tp := p.(type) { 3853 case *DeviceSpecUSBGuardInterface_FieldTerminalPath: 3854 switch tp.selector { 3855 case DeviceSpecUSBGuardInterface_FieldPathSelectorEquals: 3856 result.Equals = source.Equals 3857 case DeviceSpecUSBGuardInterface_FieldPathSelectorOneOf: 3858 result.OneOf = source.OneOf 3859 } 3860 } 3861 } 3862 return result 3863 } 3864 3865 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 3866 return fieldMask.Project(source.(*Device_Spec_USBGuard_Interface)) 3867 } 3868 3869 func (fieldMask *Device_Spec_USBGuard_Interface_FieldMask) PathsCount() int { 3870 if fieldMask == nil { 3871 return 0 3872 } 3873 return len(fieldMask.Paths) 3874 } 3875 3876 type Device_Spec_USBGuard_WhiteList_FieldMask struct { 3877 Paths []DeviceSpecUSBGuardWhiteList_FieldPath 3878 } 3879 3880 func FullDevice_Spec_USBGuard_WhiteList_FieldMask() *Device_Spec_USBGuard_WhiteList_FieldMask { 3881 res := &Device_Spec_USBGuard_WhiteList_FieldMask{} 3882 res.Paths = append(res.Paths, &DeviceSpecUSBGuardWhiteList_FieldTerminalPath{selector: DeviceSpecUSBGuardWhiteList_FieldPathSelectorDeviceName}) 3883 res.Paths = append(res.Paths, &DeviceSpecUSBGuardWhiteList_FieldTerminalPath{selector: DeviceSpecUSBGuardWhiteList_FieldPathSelectorDeviceId}) 3884 res.Paths = append(res.Paths, &DeviceSpecUSBGuardWhiteList_FieldTerminalPath{selector: DeviceSpecUSBGuardWhiteList_FieldPathSelectorViaPort}) 3885 res.Paths = append(res.Paths, &DeviceSpecUSBGuardWhiteList_FieldTerminalPath{selector: DeviceSpecUSBGuardWhiteList_FieldPathSelectorWithInterface}) 3886 res.Paths = append(res.Paths, &DeviceSpecUSBGuardWhiteList_FieldTerminalPath{selector: DeviceSpecUSBGuardWhiteList_FieldPathSelectorWithConnectType}) 3887 return res 3888 } 3889 3890 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) String() string { 3891 if fieldMask == nil { 3892 return "<nil>" 3893 } 3894 pathsStr := make([]string, 0, len(fieldMask.Paths)) 3895 for _, path := range fieldMask.Paths { 3896 pathsStr = append(pathsStr, path.String()) 3897 } 3898 return strings.Join(pathsStr, ", ") 3899 } 3900 3901 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) IsFull() bool { 3902 if fieldMask == nil { 3903 return false 3904 } 3905 presentSelectors := make([]bool, 5) 3906 for _, path := range fieldMask.Paths { 3907 if asFinal, ok := path.(*DeviceSpecUSBGuardWhiteList_FieldTerminalPath); ok { 3908 presentSelectors[int(asFinal.selector)] = true 3909 } 3910 } 3911 for _, flag := range presentSelectors { 3912 if !flag { 3913 return false 3914 } 3915 } 3916 return true 3917 } 3918 3919 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) ProtoReflect() preflect.Message { 3920 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 3921 return ParseDeviceSpecUSBGuardWhiteList_FieldPath(raw) 3922 }) 3923 } 3924 3925 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) ProtoMessage() {} 3926 3927 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) Reset() { 3928 if fieldMask != nil { 3929 fieldMask.Paths = nil 3930 } 3931 } 3932 3933 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) Subtract(other *Device_Spec_USBGuard_WhiteList_FieldMask) *Device_Spec_USBGuard_WhiteList_FieldMask { 3934 result := &Device_Spec_USBGuard_WhiteList_FieldMask{} 3935 removedSelectors := make([]bool, 5) 3936 otherSubMasks := map[DeviceSpecUSBGuardWhiteList_FieldPathSelector]gotenobject.FieldMask{ 3937 DeviceSpecUSBGuardWhiteList_FieldPathSelectorViaPort: &Device_Spec_USBGuard_Port_FieldMask{}, 3938 DeviceSpecUSBGuardWhiteList_FieldPathSelectorWithInterface: &Device_Spec_USBGuard_Interface_FieldMask{}, 3939 } 3940 mySubMasks := map[DeviceSpecUSBGuardWhiteList_FieldPathSelector]gotenobject.FieldMask{ 3941 DeviceSpecUSBGuardWhiteList_FieldPathSelectorViaPort: &Device_Spec_USBGuard_Port_FieldMask{}, 3942 DeviceSpecUSBGuardWhiteList_FieldPathSelectorWithInterface: &Device_Spec_USBGuard_Interface_FieldMask{}, 3943 } 3944 3945 for _, path := range other.GetPaths() { 3946 switch tp := path.(type) { 3947 case *DeviceSpecUSBGuardWhiteList_FieldTerminalPath: 3948 removedSelectors[int(tp.selector)] = true 3949 case *DeviceSpecUSBGuardWhiteList_FieldSubPath: 3950 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 3951 } 3952 } 3953 for _, path := range fieldMask.GetPaths() { 3954 if !removedSelectors[int(path.Selector())] { 3955 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 3956 if tp, ok := path.(*DeviceSpecUSBGuardWhiteList_FieldTerminalPath); ok { 3957 switch tp.selector { 3958 case DeviceSpecUSBGuardWhiteList_FieldPathSelectorViaPort: 3959 mySubMasks[DeviceSpecUSBGuardWhiteList_FieldPathSelectorViaPort] = FullDevice_Spec_USBGuard_Port_FieldMask() 3960 case DeviceSpecUSBGuardWhiteList_FieldPathSelectorWithInterface: 3961 mySubMasks[DeviceSpecUSBGuardWhiteList_FieldPathSelectorWithInterface] = FullDevice_Spec_USBGuard_Interface_FieldMask() 3962 } 3963 } else if tp, ok := path.(*DeviceSpecUSBGuardWhiteList_FieldSubPath); ok { 3964 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 3965 } 3966 } else { 3967 result.Paths = append(result.Paths, path) 3968 } 3969 } 3970 } 3971 for selector, mySubMask := range mySubMasks { 3972 if mySubMask.PathsCount() > 0 { 3973 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 3974 result.Paths = append(result.Paths, &DeviceSpecUSBGuardWhiteList_FieldSubPath{selector: selector, subPath: allowedPath}) 3975 } 3976 } 3977 } 3978 3979 if len(result.Paths) == 0 { 3980 return nil 3981 } 3982 return result 3983 } 3984 3985 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 3986 return fieldMask.Subtract(other.(*Device_Spec_USBGuard_WhiteList_FieldMask)) 3987 } 3988 3989 // FilterInputFields generates copy of field paths with output_only field paths removed 3990 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) FilterInputFields() *Device_Spec_USBGuard_WhiteList_FieldMask { 3991 result := &Device_Spec_USBGuard_WhiteList_FieldMask{} 3992 result.Paths = append(result.Paths, fieldMask.Paths...) 3993 return result 3994 } 3995 3996 // ToFieldMask is used for proto conversions 3997 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 3998 protoFieldMask := &googlefieldmaskpb.FieldMask{} 3999 for _, path := range fieldMask.Paths { 4000 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 4001 } 4002 return protoFieldMask 4003 } 4004 4005 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 4006 if fieldMask == nil { 4007 return status.Error(codes.Internal, "target field mask is nil") 4008 } 4009 fieldMask.Paths = make([]DeviceSpecUSBGuardWhiteList_FieldPath, 0, len(protoFieldMask.Paths)) 4010 for _, strPath := range protoFieldMask.Paths { 4011 path, err := ParseDeviceSpecUSBGuardWhiteList_FieldPath(strPath) 4012 if err != nil { 4013 return err 4014 } 4015 fieldMask.Paths = append(fieldMask.Paths, path) 4016 } 4017 return nil 4018 } 4019 4020 // implement methods required by customType 4021 func (fieldMask Device_Spec_USBGuard_WhiteList_FieldMask) Marshal() ([]byte, error) { 4022 protoFieldMask := fieldMask.ToProtoFieldMask() 4023 return proto.Marshal(protoFieldMask) 4024 } 4025 4026 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) Unmarshal(data []byte) error { 4027 protoFieldMask := &googlefieldmaskpb.FieldMask{} 4028 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 4029 return err 4030 } 4031 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 4032 return err 4033 } 4034 return nil 4035 } 4036 4037 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) Size() int { 4038 return proto.Size(fieldMask.ToProtoFieldMask()) 4039 } 4040 4041 func (fieldMask Device_Spec_USBGuard_WhiteList_FieldMask) MarshalJSON() ([]byte, error) { 4042 return json.Marshal(fieldMask.ToProtoFieldMask()) 4043 } 4044 4045 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) UnmarshalJSON(data []byte) error { 4046 protoFieldMask := &googlefieldmaskpb.FieldMask{} 4047 if err := json.Unmarshal(data, protoFieldMask); err != nil { 4048 return err 4049 } 4050 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 4051 return err 4052 } 4053 return nil 4054 } 4055 4056 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) AppendPath(path DeviceSpecUSBGuardWhiteList_FieldPath) { 4057 fieldMask.Paths = append(fieldMask.Paths, path) 4058 } 4059 4060 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 4061 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceSpecUSBGuardWhiteList_FieldPath)) 4062 } 4063 4064 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) GetPaths() []DeviceSpecUSBGuardWhiteList_FieldPath { 4065 if fieldMask == nil { 4066 return nil 4067 } 4068 return fieldMask.Paths 4069 } 4070 4071 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) GetRawPaths() []gotenobject.FieldPath { 4072 if fieldMask == nil { 4073 return nil 4074 } 4075 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 4076 for _, path := range fieldMask.Paths { 4077 rawPaths = append(rawPaths, path) 4078 } 4079 return rawPaths 4080 } 4081 4082 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) SetFromCliFlag(raw string) error { 4083 path, err := ParseDeviceSpecUSBGuardWhiteList_FieldPath(raw) 4084 if err != nil { 4085 return err 4086 } 4087 fieldMask.Paths = append(fieldMask.Paths, path) 4088 return nil 4089 } 4090 4091 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) Set(target, source *Device_Spec_USBGuard_WhiteList) { 4092 for _, path := range fieldMask.Paths { 4093 val, _ := path.GetSingle(source) 4094 // if val is nil, then field does not exist in source, skip 4095 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 4096 if val != nil { 4097 path.WithIValue(val).SetTo(&target) 4098 } 4099 } 4100 } 4101 4102 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 4103 fieldMask.Set(target.(*Device_Spec_USBGuard_WhiteList), source.(*Device_Spec_USBGuard_WhiteList)) 4104 } 4105 4106 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) Project(source *Device_Spec_USBGuard_WhiteList) *Device_Spec_USBGuard_WhiteList { 4107 if source == nil { 4108 return nil 4109 } 4110 if fieldMask == nil { 4111 return source 4112 } 4113 result := &Device_Spec_USBGuard_WhiteList{} 4114 viaPortMask := &Device_Spec_USBGuard_Port_FieldMask{} 4115 wholeViaPortAccepted := false 4116 withInterfaceMask := &Device_Spec_USBGuard_Interface_FieldMask{} 4117 wholeWithInterfaceAccepted := false 4118 4119 for _, p := range fieldMask.Paths { 4120 switch tp := p.(type) { 4121 case *DeviceSpecUSBGuardWhiteList_FieldTerminalPath: 4122 switch tp.selector { 4123 case DeviceSpecUSBGuardWhiteList_FieldPathSelectorDeviceName: 4124 result.DeviceName = source.DeviceName 4125 case DeviceSpecUSBGuardWhiteList_FieldPathSelectorDeviceId: 4126 result.DeviceId = source.DeviceId 4127 case DeviceSpecUSBGuardWhiteList_FieldPathSelectorViaPort: 4128 result.ViaPort = source.ViaPort 4129 wholeViaPortAccepted = true 4130 case DeviceSpecUSBGuardWhiteList_FieldPathSelectorWithInterface: 4131 result.WithInterface = source.WithInterface 4132 wholeWithInterfaceAccepted = true 4133 case DeviceSpecUSBGuardWhiteList_FieldPathSelectorWithConnectType: 4134 result.WithConnectType = source.WithConnectType 4135 } 4136 case *DeviceSpecUSBGuardWhiteList_FieldSubPath: 4137 switch tp.selector { 4138 case DeviceSpecUSBGuardWhiteList_FieldPathSelectorViaPort: 4139 viaPortMask.AppendPath(tp.subPath.(DeviceSpecUSBGuardPort_FieldPath)) 4140 case DeviceSpecUSBGuardWhiteList_FieldPathSelectorWithInterface: 4141 withInterfaceMask.AppendPath(tp.subPath.(DeviceSpecUSBGuardInterface_FieldPath)) 4142 } 4143 } 4144 } 4145 if wholeViaPortAccepted == false && len(viaPortMask.Paths) > 0 { 4146 result.ViaPort = viaPortMask.Project(source.GetViaPort()) 4147 } 4148 if wholeWithInterfaceAccepted == false && len(withInterfaceMask.Paths) > 0 { 4149 result.WithInterface = withInterfaceMask.Project(source.GetWithInterface()) 4150 } 4151 return result 4152 } 4153 4154 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 4155 return fieldMask.Project(source.(*Device_Spec_USBGuard_WhiteList)) 4156 } 4157 4158 func (fieldMask *Device_Spec_USBGuard_WhiteList_FieldMask) PathsCount() int { 4159 if fieldMask == nil { 4160 return 0 4161 } 4162 return len(fieldMask.Paths) 4163 } 4164 4165 type Device_Status_Address_FieldMask struct { 4166 Paths []DeviceStatusAddress_FieldPath 4167 } 4168 4169 func FullDevice_Status_Address_FieldMask() *Device_Status_Address_FieldMask { 4170 res := &Device_Status_Address_FieldMask{} 4171 res.Paths = append(res.Paths, &DeviceStatusAddress_FieldTerminalPath{selector: DeviceStatusAddress_FieldPathSelectorAddress}) 4172 res.Paths = append(res.Paths, &DeviceStatusAddress_FieldTerminalPath{selector: DeviceStatusAddress_FieldPathSelectorType}) 4173 return res 4174 } 4175 4176 func (fieldMask *Device_Status_Address_FieldMask) String() string { 4177 if fieldMask == nil { 4178 return "<nil>" 4179 } 4180 pathsStr := make([]string, 0, len(fieldMask.Paths)) 4181 for _, path := range fieldMask.Paths { 4182 pathsStr = append(pathsStr, path.String()) 4183 } 4184 return strings.Join(pathsStr, ", ") 4185 } 4186 4187 func (fieldMask *Device_Status_Address_FieldMask) IsFull() bool { 4188 if fieldMask == nil { 4189 return false 4190 } 4191 presentSelectors := make([]bool, 2) 4192 for _, path := range fieldMask.Paths { 4193 if asFinal, ok := path.(*DeviceStatusAddress_FieldTerminalPath); ok { 4194 presentSelectors[int(asFinal.selector)] = true 4195 } 4196 } 4197 for _, flag := range presentSelectors { 4198 if !flag { 4199 return false 4200 } 4201 } 4202 return true 4203 } 4204 4205 func (fieldMask *Device_Status_Address_FieldMask) ProtoReflect() preflect.Message { 4206 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 4207 return ParseDeviceStatusAddress_FieldPath(raw) 4208 }) 4209 } 4210 4211 func (fieldMask *Device_Status_Address_FieldMask) ProtoMessage() {} 4212 4213 func (fieldMask *Device_Status_Address_FieldMask) Reset() { 4214 if fieldMask != nil { 4215 fieldMask.Paths = nil 4216 } 4217 } 4218 4219 func (fieldMask *Device_Status_Address_FieldMask) Subtract(other *Device_Status_Address_FieldMask) *Device_Status_Address_FieldMask { 4220 result := &Device_Status_Address_FieldMask{} 4221 removedSelectors := make([]bool, 2) 4222 4223 for _, path := range other.GetPaths() { 4224 switch tp := path.(type) { 4225 case *DeviceStatusAddress_FieldTerminalPath: 4226 removedSelectors[int(tp.selector)] = true 4227 } 4228 } 4229 for _, path := range fieldMask.GetPaths() { 4230 if !removedSelectors[int(path.Selector())] { 4231 result.Paths = append(result.Paths, path) 4232 } 4233 } 4234 4235 if len(result.Paths) == 0 { 4236 return nil 4237 } 4238 return result 4239 } 4240 4241 func (fieldMask *Device_Status_Address_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 4242 return fieldMask.Subtract(other.(*Device_Status_Address_FieldMask)) 4243 } 4244 4245 // FilterInputFields generates copy of field paths with output_only field paths removed 4246 func (fieldMask *Device_Status_Address_FieldMask) FilterInputFields() *Device_Status_Address_FieldMask { 4247 result := &Device_Status_Address_FieldMask{} 4248 result.Paths = append(result.Paths, fieldMask.Paths...) 4249 return result 4250 } 4251 4252 // ToFieldMask is used for proto conversions 4253 func (fieldMask *Device_Status_Address_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 4254 protoFieldMask := &googlefieldmaskpb.FieldMask{} 4255 for _, path := range fieldMask.Paths { 4256 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 4257 } 4258 return protoFieldMask 4259 } 4260 4261 func (fieldMask *Device_Status_Address_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 4262 if fieldMask == nil { 4263 return status.Error(codes.Internal, "target field mask is nil") 4264 } 4265 fieldMask.Paths = make([]DeviceStatusAddress_FieldPath, 0, len(protoFieldMask.Paths)) 4266 for _, strPath := range protoFieldMask.Paths { 4267 path, err := ParseDeviceStatusAddress_FieldPath(strPath) 4268 if err != nil { 4269 return err 4270 } 4271 fieldMask.Paths = append(fieldMask.Paths, path) 4272 } 4273 return nil 4274 } 4275 4276 // implement methods required by customType 4277 func (fieldMask Device_Status_Address_FieldMask) Marshal() ([]byte, error) { 4278 protoFieldMask := fieldMask.ToProtoFieldMask() 4279 return proto.Marshal(protoFieldMask) 4280 } 4281 4282 func (fieldMask *Device_Status_Address_FieldMask) Unmarshal(data []byte) error { 4283 protoFieldMask := &googlefieldmaskpb.FieldMask{} 4284 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 4285 return err 4286 } 4287 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 4288 return err 4289 } 4290 return nil 4291 } 4292 4293 func (fieldMask *Device_Status_Address_FieldMask) Size() int { 4294 return proto.Size(fieldMask.ToProtoFieldMask()) 4295 } 4296 4297 func (fieldMask Device_Status_Address_FieldMask) MarshalJSON() ([]byte, error) { 4298 return json.Marshal(fieldMask.ToProtoFieldMask()) 4299 } 4300 4301 func (fieldMask *Device_Status_Address_FieldMask) UnmarshalJSON(data []byte) error { 4302 protoFieldMask := &googlefieldmaskpb.FieldMask{} 4303 if err := json.Unmarshal(data, protoFieldMask); err != nil { 4304 return err 4305 } 4306 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 4307 return err 4308 } 4309 return nil 4310 } 4311 4312 func (fieldMask *Device_Status_Address_FieldMask) AppendPath(path DeviceStatusAddress_FieldPath) { 4313 fieldMask.Paths = append(fieldMask.Paths, path) 4314 } 4315 4316 func (fieldMask *Device_Status_Address_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 4317 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusAddress_FieldPath)) 4318 } 4319 4320 func (fieldMask *Device_Status_Address_FieldMask) GetPaths() []DeviceStatusAddress_FieldPath { 4321 if fieldMask == nil { 4322 return nil 4323 } 4324 return fieldMask.Paths 4325 } 4326 4327 func (fieldMask *Device_Status_Address_FieldMask) GetRawPaths() []gotenobject.FieldPath { 4328 if fieldMask == nil { 4329 return nil 4330 } 4331 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 4332 for _, path := range fieldMask.Paths { 4333 rawPaths = append(rawPaths, path) 4334 } 4335 return rawPaths 4336 } 4337 4338 func (fieldMask *Device_Status_Address_FieldMask) SetFromCliFlag(raw string) error { 4339 path, err := ParseDeviceStatusAddress_FieldPath(raw) 4340 if err != nil { 4341 return err 4342 } 4343 fieldMask.Paths = append(fieldMask.Paths, path) 4344 return nil 4345 } 4346 4347 func (fieldMask *Device_Status_Address_FieldMask) Set(target, source *Device_Status_Address) { 4348 for _, path := range fieldMask.Paths { 4349 val, _ := path.GetSingle(source) 4350 // if val is nil, then field does not exist in source, skip 4351 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 4352 if val != nil { 4353 path.WithIValue(val).SetTo(&target) 4354 } 4355 } 4356 } 4357 4358 func (fieldMask *Device_Status_Address_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 4359 fieldMask.Set(target.(*Device_Status_Address), source.(*Device_Status_Address)) 4360 } 4361 4362 func (fieldMask *Device_Status_Address_FieldMask) Project(source *Device_Status_Address) *Device_Status_Address { 4363 if source == nil { 4364 return nil 4365 } 4366 if fieldMask == nil { 4367 return source 4368 } 4369 result := &Device_Status_Address{} 4370 4371 for _, p := range fieldMask.Paths { 4372 switch tp := p.(type) { 4373 case *DeviceStatusAddress_FieldTerminalPath: 4374 switch tp.selector { 4375 case DeviceStatusAddress_FieldPathSelectorAddress: 4376 result.Address = source.Address 4377 case DeviceStatusAddress_FieldPathSelectorType: 4378 result.Type = source.Type 4379 } 4380 } 4381 } 4382 return result 4383 } 4384 4385 func (fieldMask *Device_Status_Address_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 4386 return fieldMask.Project(source.(*Device_Status_Address)) 4387 } 4388 4389 func (fieldMask *Device_Status_Address_FieldMask) PathsCount() int { 4390 if fieldMask == nil { 4391 return 0 4392 } 4393 return len(fieldMask.Paths) 4394 } 4395 4396 type Device_Status_Condition_FieldMask struct { 4397 Paths []DeviceStatusCondition_FieldPath 4398 } 4399 4400 func FullDevice_Status_Condition_FieldMask() *Device_Status_Condition_FieldMask { 4401 res := &Device_Status_Condition_FieldMask{} 4402 res.Paths = append(res.Paths, &DeviceStatusCondition_FieldTerminalPath{selector: DeviceStatusCondition_FieldPathSelectorMessage}) 4403 res.Paths = append(res.Paths, &DeviceStatusCondition_FieldTerminalPath{selector: DeviceStatusCondition_FieldPathSelectorReason}) 4404 res.Paths = append(res.Paths, &DeviceStatusCondition_FieldTerminalPath{selector: DeviceStatusCondition_FieldPathSelectorStatus}) 4405 res.Paths = append(res.Paths, &DeviceStatusCondition_FieldTerminalPath{selector: DeviceStatusCondition_FieldPathSelectorType}) 4406 res.Paths = append(res.Paths, &DeviceStatusCondition_FieldTerminalPath{selector: DeviceStatusCondition_FieldPathSelectorLastHeartBeatTime}) 4407 res.Paths = append(res.Paths, &DeviceStatusCondition_FieldTerminalPath{selector: DeviceStatusCondition_FieldPathSelectorLastTransitionTime}) 4408 return res 4409 } 4410 4411 func (fieldMask *Device_Status_Condition_FieldMask) String() string { 4412 if fieldMask == nil { 4413 return "<nil>" 4414 } 4415 pathsStr := make([]string, 0, len(fieldMask.Paths)) 4416 for _, path := range fieldMask.Paths { 4417 pathsStr = append(pathsStr, path.String()) 4418 } 4419 return strings.Join(pathsStr, ", ") 4420 } 4421 4422 func (fieldMask *Device_Status_Condition_FieldMask) IsFull() bool { 4423 if fieldMask == nil { 4424 return false 4425 } 4426 presentSelectors := make([]bool, 6) 4427 for _, path := range fieldMask.Paths { 4428 if asFinal, ok := path.(*DeviceStatusCondition_FieldTerminalPath); ok { 4429 presentSelectors[int(asFinal.selector)] = true 4430 } 4431 } 4432 for _, flag := range presentSelectors { 4433 if !flag { 4434 return false 4435 } 4436 } 4437 return true 4438 } 4439 4440 func (fieldMask *Device_Status_Condition_FieldMask) ProtoReflect() preflect.Message { 4441 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 4442 return ParseDeviceStatusCondition_FieldPath(raw) 4443 }) 4444 } 4445 4446 func (fieldMask *Device_Status_Condition_FieldMask) ProtoMessage() {} 4447 4448 func (fieldMask *Device_Status_Condition_FieldMask) Reset() { 4449 if fieldMask != nil { 4450 fieldMask.Paths = nil 4451 } 4452 } 4453 4454 func (fieldMask *Device_Status_Condition_FieldMask) Subtract(other *Device_Status_Condition_FieldMask) *Device_Status_Condition_FieldMask { 4455 result := &Device_Status_Condition_FieldMask{} 4456 removedSelectors := make([]bool, 6) 4457 4458 for _, path := range other.GetPaths() { 4459 switch tp := path.(type) { 4460 case *DeviceStatusCondition_FieldTerminalPath: 4461 removedSelectors[int(tp.selector)] = true 4462 } 4463 } 4464 for _, path := range fieldMask.GetPaths() { 4465 if !removedSelectors[int(path.Selector())] { 4466 result.Paths = append(result.Paths, path) 4467 } 4468 } 4469 4470 if len(result.Paths) == 0 { 4471 return nil 4472 } 4473 return result 4474 } 4475 4476 func (fieldMask *Device_Status_Condition_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 4477 return fieldMask.Subtract(other.(*Device_Status_Condition_FieldMask)) 4478 } 4479 4480 // FilterInputFields generates copy of field paths with output_only field paths removed 4481 func (fieldMask *Device_Status_Condition_FieldMask) FilterInputFields() *Device_Status_Condition_FieldMask { 4482 result := &Device_Status_Condition_FieldMask{} 4483 result.Paths = append(result.Paths, fieldMask.Paths...) 4484 return result 4485 } 4486 4487 // ToFieldMask is used for proto conversions 4488 func (fieldMask *Device_Status_Condition_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 4489 protoFieldMask := &googlefieldmaskpb.FieldMask{} 4490 for _, path := range fieldMask.Paths { 4491 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 4492 } 4493 return protoFieldMask 4494 } 4495 4496 func (fieldMask *Device_Status_Condition_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 4497 if fieldMask == nil { 4498 return status.Error(codes.Internal, "target field mask is nil") 4499 } 4500 fieldMask.Paths = make([]DeviceStatusCondition_FieldPath, 0, len(protoFieldMask.Paths)) 4501 for _, strPath := range protoFieldMask.Paths { 4502 path, err := ParseDeviceStatusCondition_FieldPath(strPath) 4503 if err != nil { 4504 return err 4505 } 4506 fieldMask.Paths = append(fieldMask.Paths, path) 4507 } 4508 return nil 4509 } 4510 4511 // implement methods required by customType 4512 func (fieldMask Device_Status_Condition_FieldMask) Marshal() ([]byte, error) { 4513 protoFieldMask := fieldMask.ToProtoFieldMask() 4514 return proto.Marshal(protoFieldMask) 4515 } 4516 4517 func (fieldMask *Device_Status_Condition_FieldMask) Unmarshal(data []byte) error { 4518 protoFieldMask := &googlefieldmaskpb.FieldMask{} 4519 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 4520 return err 4521 } 4522 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 4523 return err 4524 } 4525 return nil 4526 } 4527 4528 func (fieldMask *Device_Status_Condition_FieldMask) Size() int { 4529 return proto.Size(fieldMask.ToProtoFieldMask()) 4530 } 4531 4532 func (fieldMask Device_Status_Condition_FieldMask) MarshalJSON() ([]byte, error) { 4533 return json.Marshal(fieldMask.ToProtoFieldMask()) 4534 } 4535 4536 func (fieldMask *Device_Status_Condition_FieldMask) UnmarshalJSON(data []byte) error { 4537 protoFieldMask := &googlefieldmaskpb.FieldMask{} 4538 if err := json.Unmarshal(data, protoFieldMask); err != nil { 4539 return err 4540 } 4541 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 4542 return err 4543 } 4544 return nil 4545 } 4546 4547 func (fieldMask *Device_Status_Condition_FieldMask) AppendPath(path DeviceStatusCondition_FieldPath) { 4548 fieldMask.Paths = append(fieldMask.Paths, path) 4549 } 4550 4551 func (fieldMask *Device_Status_Condition_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 4552 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusCondition_FieldPath)) 4553 } 4554 4555 func (fieldMask *Device_Status_Condition_FieldMask) GetPaths() []DeviceStatusCondition_FieldPath { 4556 if fieldMask == nil { 4557 return nil 4558 } 4559 return fieldMask.Paths 4560 } 4561 4562 func (fieldMask *Device_Status_Condition_FieldMask) GetRawPaths() []gotenobject.FieldPath { 4563 if fieldMask == nil { 4564 return nil 4565 } 4566 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 4567 for _, path := range fieldMask.Paths { 4568 rawPaths = append(rawPaths, path) 4569 } 4570 return rawPaths 4571 } 4572 4573 func (fieldMask *Device_Status_Condition_FieldMask) SetFromCliFlag(raw string) error { 4574 path, err := ParseDeviceStatusCondition_FieldPath(raw) 4575 if err != nil { 4576 return err 4577 } 4578 fieldMask.Paths = append(fieldMask.Paths, path) 4579 return nil 4580 } 4581 4582 func (fieldMask *Device_Status_Condition_FieldMask) Set(target, source *Device_Status_Condition) { 4583 for _, path := range fieldMask.Paths { 4584 val, _ := path.GetSingle(source) 4585 // if val is nil, then field does not exist in source, skip 4586 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 4587 if val != nil { 4588 path.WithIValue(val).SetTo(&target) 4589 } 4590 } 4591 } 4592 4593 func (fieldMask *Device_Status_Condition_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 4594 fieldMask.Set(target.(*Device_Status_Condition), source.(*Device_Status_Condition)) 4595 } 4596 4597 func (fieldMask *Device_Status_Condition_FieldMask) Project(source *Device_Status_Condition) *Device_Status_Condition { 4598 if source == nil { 4599 return nil 4600 } 4601 if fieldMask == nil { 4602 return source 4603 } 4604 result := &Device_Status_Condition{} 4605 4606 for _, p := range fieldMask.Paths { 4607 switch tp := p.(type) { 4608 case *DeviceStatusCondition_FieldTerminalPath: 4609 switch tp.selector { 4610 case DeviceStatusCondition_FieldPathSelectorMessage: 4611 result.Message = source.Message 4612 case DeviceStatusCondition_FieldPathSelectorReason: 4613 result.Reason = source.Reason 4614 case DeviceStatusCondition_FieldPathSelectorStatus: 4615 result.Status = source.Status 4616 case DeviceStatusCondition_FieldPathSelectorType: 4617 result.Type = source.Type 4618 case DeviceStatusCondition_FieldPathSelectorLastHeartBeatTime: 4619 result.LastHeartBeatTime = source.LastHeartBeatTime 4620 case DeviceStatusCondition_FieldPathSelectorLastTransitionTime: 4621 result.LastTransitionTime = source.LastTransitionTime 4622 } 4623 } 4624 } 4625 return result 4626 } 4627 4628 func (fieldMask *Device_Status_Condition_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 4629 return fieldMask.Project(source.(*Device_Status_Condition)) 4630 } 4631 4632 func (fieldMask *Device_Status_Condition_FieldMask) PathsCount() int { 4633 if fieldMask == nil { 4634 return 0 4635 } 4636 return len(fieldMask.Paths) 4637 } 4638 4639 type Device_Status_NetworkConfigState_FieldMask struct { 4640 Paths []DeviceStatusNetworkConfigState_FieldPath 4641 } 4642 4643 func FullDevice_Status_NetworkConfigState_FieldMask() *Device_Status_NetworkConfigState_FieldMask { 4644 res := &Device_Status_NetworkConfigState_FieldMask{} 4645 res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldTerminalPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorActiveNetworkConfigSource}) 4646 res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldTerminalPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorDesiredNetworkConfigSource}) 4647 res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldTerminalPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorDesiredNetworkConfigError}) 4648 res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldTerminalPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorDefaultNetplanConfig}) 4649 res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldTerminalPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorActiveNetplanConfig}) 4650 res.Paths = append(res.Paths, &DeviceStatusNetworkConfigState_FieldTerminalPath{selector: DeviceStatusNetworkConfigState_FieldPathSelectorDesiredNetplanConfig}) 4651 return res 4652 } 4653 4654 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) String() string { 4655 if fieldMask == nil { 4656 return "<nil>" 4657 } 4658 pathsStr := make([]string, 0, len(fieldMask.Paths)) 4659 for _, path := range fieldMask.Paths { 4660 pathsStr = append(pathsStr, path.String()) 4661 } 4662 return strings.Join(pathsStr, ", ") 4663 } 4664 4665 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) IsFull() bool { 4666 if fieldMask == nil { 4667 return false 4668 } 4669 presentSelectors := make([]bool, 6) 4670 for _, path := range fieldMask.Paths { 4671 if asFinal, ok := path.(*DeviceStatusNetworkConfigState_FieldTerminalPath); ok { 4672 presentSelectors[int(asFinal.selector)] = true 4673 } 4674 } 4675 for _, flag := range presentSelectors { 4676 if !flag { 4677 return false 4678 } 4679 } 4680 return true 4681 } 4682 4683 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) ProtoReflect() preflect.Message { 4684 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 4685 return ParseDeviceStatusNetworkConfigState_FieldPath(raw) 4686 }) 4687 } 4688 4689 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) ProtoMessage() {} 4690 4691 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) Reset() { 4692 if fieldMask != nil { 4693 fieldMask.Paths = nil 4694 } 4695 } 4696 4697 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) Subtract(other *Device_Status_NetworkConfigState_FieldMask) *Device_Status_NetworkConfigState_FieldMask { 4698 result := &Device_Status_NetworkConfigState_FieldMask{} 4699 removedSelectors := make([]bool, 6) 4700 4701 for _, path := range other.GetPaths() { 4702 switch tp := path.(type) { 4703 case *DeviceStatusNetworkConfigState_FieldTerminalPath: 4704 removedSelectors[int(tp.selector)] = true 4705 } 4706 } 4707 for _, path := range fieldMask.GetPaths() { 4708 if !removedSelectors[int(path.Selector())] { 4709 result.Paths = append(result.Paths, path) 4710 } 4711 } 4712 4713 if len(result.Paths) == 0 { 4714 return nil 4715 } 4716 return result 4717 } 4718 4719 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 4720 return fieldMask.Subtract(other.(*Device_Status_NetworkConfigState_FieldMask)) 4721 } 4722 4723 // FilterInputFields generates copy of field paths with output_only field paths removed 4724 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) FilterInputFields() *Device_Status_NetworkConfigState_FieldMask { 4725 result := &Device_Status_NetworkConfigState_FieldMask{} 4726 result.Paths = append(result.Paths, fieldMask.Paths...) 4727 return result 4728 } 4729 4730 // ToFieldMask is used for proto conversions 4731 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 4732 protoFieldMask := &googlefieldmaskpb.FieldMask{} 4733 for _, path := range fieldMask.Paths { 4734 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 4735 } 4736 return protoFieldMask 4737 } 4738 4739 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 4740 if fieldMask == nil { 4741 return status.Error(codes.Internal, "target field mask is nil") 4742 } 4743 fieldMask.Paths = make([]DeviceStatusNetworkConfigState_FieldPath, 0, len(protoFieldMask.Paths)) 4744 for _, strPath := range protoFieldMask.Paths { 4745 path, err := ParseDeviceStatusNetworkConfigState_FieldPath(strPath) 4746 if err != nil { 4747 return err 4748 } 4749 fieldMask.Paths = append(fieldMask.Paths, path) 4750 } 4751 return nil 4752 } 4753 4754 // implement methods required by customType 4755 func (fieldMask Device_Status_NetworkConfigState_FieldMask) Marshal() ([]byte, error) { 4756 protoFieldMask := fieldMask.ToProtoFieldMask() 4757 return proto.Marshal(protoFieldMask) 4758 } 4759 4760 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) Unmarshal(data []byte) error { 4761 protoFieldMask := &googlefieldmaskpb.FieldMask{} 4762 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 4763 return err 4764 } 4765 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 4766 return err 4767 } 4768 return nil 4769 } 4770 4771 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) Size() int { 4772 return proto.Size(fieldMask.ToProtoFieldMask()) 4773 } 4774 4775 func (fieldMask Device_Status_NetworkConfigState_FieldMask) MarshalJSON() ([]byte, error) { 4776 return json.Marshal(fieldMask.ToProtoFieldMask()) 4777 } 4778 4779 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) UnmarshalJSON(data []byte) error { 4780 protoFieldMask := &googlefieldmaskpb.FieldMask{} 4781 if err := json.Unmarshal(data, protoFieldMask); err != nil { 4782 return err 4783 } 4784 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 4785 return err 4786 } 4787 return nil 4788 } 4789 4790 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) AppendPath(path DeviceStatusNetworkConfigState_FieldPath) { 4791 fieldMask.Paths = append(fieldMask.Paths, path) 4792 } 4793 4794 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 4795 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusNetworkConfigState_FieldPath)) 4796 } 4797 4798 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) GetPaths() []DeviceStatusNetworkConfigState_FieldPath { 4799 if fieldMask == nil { 4800 return nil 4801 } 4802 return fieldMask.Paths 4803 } 4804 4805 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) GetRawPaths() []gotenobject.FieldPath { 4806 if fieldMask == nil { 4807 return nil 4808 } 4809 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 4810 for _, path := range fieldMask.Paths { 4811 rawPaths = append(rawPaths, path) 4812 } 4813 return rawPaths 4814 } 4815 4816 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) SetFromCliFlag(raw string) error { 4817 path, err := ParseDeviceStatusNetworkConfigState_FieldPath(raw) 4818 if err != nil { 4819 return err 4820 } 4821 fieldMask.Paths = append(fieldMask.Paths, path) 4822 return nil 4823 } 4824 4825 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) Set(target, source *Device_Status_NetworkConfigState) { 4826 for _, path := range fieldMask.Paths { 4827 val, _ := path.GetSingle(source) 4828 // if val is nil, then field does not exist in source, skip 4829 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 4830 if val != nil { 4831 path.WithIValue(val).SetTo(&target) 4832 } 4833 } 4834 } 4835 4836 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 4837 fieldMask.Set(target.(*Device_Status_NetworkConfigState), source.(*Device_Status_NetworkConfigState)) 4838 } 4839 4840 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) Project(source *Device_Status_NetworkConfigState) *Device_Status_NetworkConfigState { 4841 if source == nil { 4842 return nil 4843 } 4844 if fieldMask == nil { 4845 return source 4846 } 4847 result := &Device_Status_NetworkConfigState{} 4848 4849 for _, p := range fieldMask.Paths { 4850 switch tp := p.(type) { 4851 case *DeviceStatusNetworkConfigState_FieldTerminalPath: 4852 switch tp.selector { 4853 case DeviceStatusNetworkConfigState_FieldPathSelectorActiveNetworkConfigSource: 4854 result.ActiveNetworkConfigSource = source.ActiveNetworkConfigSource 4855 case DeviceStatusNetworkConfigState_FieldPathSelectorDesiredNetworkConfigSource: 4856 result.DesiredNetworkConfigSource = source.DesiredNetworkConfigSource 4857 case DeviceStatusNetworkConfigState_FieldPathSelectorDesiredNetworkConfigError: 4858 result.DesiredNetworkConfigError = source.DesiredNetworkConfigError 4859 case DeviceStatusNetworkConfigState_FieldPathSelectorDefaultNetplanConfig: 4860 result.DefaultNetplanConfig = source.DefaultNetplanConfig 4861 case DeviceStatusNetworkConfigState_FieldPathSelectorActiveNetplanConfig: 4862 result.ActiveNetplanConfig = source.ActiveNetplanConfig 4863 case DeviceStatusNetworkConfigState_FieldPathSelectorDesiredNetplanConfig: 4864 result.DesiredNetplanConfig = source.DesiredNetplanConfig 4865 } 4866 } 4867 } 4868 return result 4869 } 4870 4871 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 4872 return fieldMask.Project(source.(*Device_Status_NetworkConfigState)) 4873 } 4874 4875 func (fieldMask *Device_Status_NetworkConfigState_FieldMask) PathsCount() int { 4876 if fieldMask == nil { 4877 return 0 4878 } 4879 return len(fieldMask.Paths) 4880 } 4881 4882 type Device_Status_ProxyConfigStatus_FieldMask struct { 4883 Paths []DeviceStatusProxyConfigStatus_FieldPath 4884 } 4885 4886 func FullDevice_Status_ProxyConfigStatus_FieldMask() *Device_Status_ProxyConfigStatus_FieldMask { 4887 res := &Device_Status_ProxyConfigStatus_FieldMask{} 4888 res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldTerminalPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorActiveConfigSource}) 4889 res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldTerminalPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorDesiredConfigSource}) 4890 res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldTerminalPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorProxyConfigError}) 4891 res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldTerminalPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorDefaultConfig}) 4892 res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldTerminalPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorActiveConfig}) 4893 res.Paths = append(res.Paths, &DeviceStatusProxyConfigStatus_FieldTerminalPath{selector: DeviceStatusProxyConfigStatus_FieldPathSelectorApiConfig}) 4894 return res 4895 } 4896 4897 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) String() string { 4898 if fieldMask == nil { 4899 return "<nil>" 4900 } 4901 pathsStr := make([]string, 0, len(fieldMask.Paths)) 4902 for _, path := range fieldMask.Paths { 4903 pathsStr = append(pathsStr, path.String()) 4904 } 4905 return strings.Join(pathsStr, ", ") 4906 } 4907 4908 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) IsFull() bool { 4909 if fieldMask == nil { 4910 return false 4911 } 4912 presentSelectors := make([]bool, 6) 4913 for _, path := range fieldMask.Paths { 4914 if asFinal, ok := path.(*DeviceStatusProxyConfigStatus_FieldTerminalPath); ok { 4915 presentSelectors[int(asFinal.selector)] = true 4916 } 4917 } 4918 for _, flag := range presentSelectors { 4919 if !flag { 4920 return false 4921 } 4922 } 4923 return true 4924 } 4925 4926 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) ProtoReflect() preflect.Message { 4927 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 4928 return ParseDeviceStatusProxyConfigStatus_FieldPath(raw) 4929 }) 4930 } 4931 4932 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) ProtoMessage() {} 4933 4934 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) Reset() { 4935 if fieldMask != nil { 4936 fieldMask.Paths = nil 4937 } 4938 } 4939 4940 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) Subtract(other *Device_Status_ProxyConfigStatus_FieldMask) *Device_Status_ProxyConfigStatus_FieldMask { 4941 result := &Device_Status_ProxyConfigStatus_FieldMask{} 4942 removedSelectors := make([]bool, 6) 4943 otherSubMasks := map[DeviceStatusProxyConfigStatus_FieldPathSelector]gotenobject.FieldMask{ 4944 DeviceStatusProxyConfigStatus_FieldPathSelectorDefaultConfig: &Device_Spec_ProxyConfig_FieldMask{}, 4945 DeviceStatusProxyConfigStatus_FieldPathSelectorActiveConfig: &Device_Spec_ProxyConfig_FieldMask{}, 4946 DeviceStatusProxyConfigStatus_FieldPathSelectorApiConfig: &Device_Spec_ProxyConfig_FieldMask{}, 4947 } 4948 mySubMasks := map[DeviceStatusProxyConfigStatus_FieldPathSelector]gotenobject.FieldMask{ 4949 DeviceStatusProxyConfigStatus_FieldPathSelectorDefaultConfig: &Device_Spec_ProxyConfig_FieldMask{}, 4950 DeviceStatusProxyConfigStatus_FieldPathSelectorActiveConfig: &Device_Spec_ProxyConfig_FieldMask{}, 4951 DeviceStatusProxyConfigStatus_FieldPathSelectorApiConfig: &Device_Spec_ProxyConfig_FieldMask{}, 4952 } 4953 4954 for _, path := range other.GetPaths() { 4955 switch tp := path.(type) { 4956 case *DeviceStatusProxyConfigStatus_FieldTerminalPath: 4957 removedSelectors[int(tp.selector)] = true 4958 case *DeviceStatusProxyConfigStatus_FieldSubPath: 4959 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 4960 } 4961 } 4962 for _, path := range fieldMask.GetPaths() { 4963 if !removedSelectors[int(path.Selector())] { 4964 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 4965 if tp, ok := path.(*DeviceStatusProxyConfigStatus_FieldTerminalPath); ok { 4966 switch tp.selector { 4967 case DeviceStatusProxyConfigStatus_FieldPathSelectorDefaultConfig: 4968 mySubMasks[DeviceStatusProxyConfigStatus_FieldPathSelectorDefaultConfig] = FullDevice_Spec_ProxyConfig_FieldMask() 4969 case DeviceStatusProxyConfigStatus_FieldPathSelectorActiveConfig: 4970 mySubMasks[DeviceStatusProxyConfigStatus_FieldPathSelectorActiveConfig] = FullDevice_Spec_ProxyConfig_FieldMask() 4971 case DeviceStatusProxyConfigStatus_FieldPathSelectorApiConfig: 4972 mySubMasks[DeviceStatusProxyConfigStatus_FieldPathSelectorApiConfig] = FullDevice_Spec_ProxyConfig_FieldMask() 4973 } 4974 } else if tp, ok := path.(*DeviceStatusProxyConfigStatus_FieldSubPath); ok { 4975 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 4976 } 4977 } else { 4978 result.Paths = append(result.Paths, path) 4979 } 4980 } 4981 } 4982 for selector, mySubMask := range mySubMasks { 4983 if mySubMask.PathsCount() > 0 { 4984 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 4985 result.Paths = append(result.Paths, &DeviceStatusProxyConfigStatus_FieldSubPath{selector: selector, subPath: allowedPath}) 4986 } 4987 } 4988 } 4989 4990 if len(result.Paths) == 0 { 4991 return nil 4992 } 4993 return result 4994 } 4995 4996 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 4997 return fieldMask.Subtract(other.(*Device_Status_ProxyConfigStatus_FieldMask)) 4998 } 4999 5000 // FilterInputFields generates copy of field paths with output_only field paths removed 5001 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) FilterInputFields() *Device_Status_ProxyConfigStatus_FieldMask { 5002 result := &Device_Status_ProxyConfigStatus_FieldMask{} 5003 result.Paths = append(result.Paths, fieldMask.Paths...) 5004 return result 5005 } 5006 5007 // ToFieldMask is used for proto conversions 5008 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 5009 protoFieldMask := &googlefieldmaskpb.FieldMask{} 5010 for _, path := range fieldMask.Paths { 5011 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 5012 } 5013 return protoFieldMask 5014 } 5015 5016 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 5017 if fieldMask == nil { 5018 return status.Error(codes.Internal, "target field mask is nil") 5019 } 5020 fieldMask.Paths = make([]DeviceStatusProxyConfigStatus_FieldPath, 0, len(protoFieldMask.Paths)) 5021 for _, strPath := range protoFieldMask.Paths { 5022 path, err := ParseDeviceStatusProxyConfigStatus_FieldPath(strPath) 5023 if err != nil { 5024 return err 5025 } 5026 fieldMask.Paths = append(fieldMask.Paths, path) 5027 } 5028 return nil 5029 } 5030 5031 // implement methods required by customType 5032 func (fieldMask Device_Status_ProxyConfigStatus_FieldMask) Marshal() ([]byte, error) { 5033 protoFieldMask := fieldMask.ToProtoFieldMask() 5034 return proto.Marshal(protoFieldMask) 5035 } 5036 5037 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) Unmarshal(data []byte) error { 5038 protoFieldMask := &googlefieldmaskpb.FieldMask{} 5039 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 5040 return err 5041 } 5042 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 5043 return err 5044 } 5045 return nil 5046 } 5047 5048 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) Size() int { 5049 return proto.Size(fieldMask.ToProtoFieldMask()) 5050 } 5051 5052 func (fieldMask Device_Status_ProxyConfigStatus_FieldMask) MarshalJSON() ([]byte, error) { 5053 return json.Marshal(fieldMask.ToProtoFieldMask()) 5054 } 5055 5056 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) UnmarshalJSON(data []byte) error { 5057 protoFieldMask := &googlefieldmaskpb.FieldMask{} 5058 if err := json.Unmarshal(data, protoFieldMask); err != nil { 5059 return err 5060 } 5061 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 5062 return err 5063 } 5064 return nil 5065 } 5066 5067 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) AppendPath(path DeviceStatusProxyConfigStatus_FieldPath) { 5068 fieldMask.Paths = append(fieldMask.Paths, path) 5069 } 5070 5071 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 5072 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusProxyConfigStatus_FieldPath)) 5073 } 5074 5075 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) GetPaths() []DeviceStatusProxyConfigStatus_FieldPath { 5076 if fieldMask == nil { 5077 return nil 5078 } 5079 return fieldMask.Paths 5080 } 5081 5082 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) GetRawPaths() []gotenobject.FieldPath { 5083 if fieldMask == nil { 5084 return nil 5085 } 5086 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 5087 for _, path := range fieldMask.Paths { 5088 rawPaths = append(rawPaths, path) 5089 } 5090 return rawPaths 5091 } 5092 5093 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) SetFromCliFlag(raw string) error { 5094 path, err := ParseDeviceStatusProxyConfigStatus_FieldPath(raw) 5095 if err != nil { 5096 return err 5097 } 5098 fieldMask.Paths = append(fieldMask.Paths, path) 5099 return nil 5100 } 5101 5102 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) Set(target, source *Device_Status_ProxyConfigStatus) { 5103 for _, path := range fieldMask.Paths { 5104 val, _ := path.GetSingle(source) 5105 // if val is nil, then field does not exist in source, skip 5106 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 5107 if val != nil { 5108 path.WithIValue(val).SetTo(&target) 5109 } 5110 } 5111 } 5112 5113 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 5114 fieldMask.Set(target.(*Device_Status_ProxyConfigStatus), source.(*Device_Status_ProxyConfigStatus)) 5115 } 5116 5117 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) Project(source *Device_Status_ProxyConfigStatus) *Device_Status_ProxyConfigStatus { 5118 if source == nil { 5119 return nil 5120 } 5121 if fieldMask == nil { 5122 return source 5123 } 5124 result := &Device_Status_ProxyConfigStatus{} 5125 defaultConfigMask := &Device_Spec_ProxyConfig_FieldMask{} 5126 wholeDefaultConfigAccepted := false 5127 activeConfigMask := &Device_Spec_ProxyConfig_FieldMask{} 5128 wholeActiveConfigAccepted := false 5129 apiConfigMask := &Device_Spec_ProxyConfig_FieldMask{} 5130 wholeApiConfigAccepted := false 5131 5132 for _, p := range fieldMask.Paths { 5133 switch tp := p.(type) { 5134 case *DeviceStatusProxyConfigStatus_FieldTerminalPath: 5135 switch tp.selector { 5136 case DeviceStatusProxyConfigStatus_FieldPathSelectorActiveConfigSource: 5137 result.ActiveConfigSource = source.ActiveConfigSource 5138 case DeviceStatusProxyConfigStatus_FieldPathSelectorDesiredConfigSource: 5139 result.DesiredConfigSource = source.DesiredConfigSource 5140 case DeviceStatusProxyConfigStatus_FieldPathSelectorProxyConfigError: 5141 result.ProxyConfigError = source.ProxyConfigError 5142 case DeviceStatusProxyConfigStatus_FieldPathSelectorDefaultConfig: 5143 result.DefaultConfig = source.DefaultConfig 5144 wholeDefaultConfigAccepted = true 5145 case DeviceStatusProxyConfigStatus_FieldPathSelectorActiveConfig: 5146 result.ActiveConfig = source.ActiveConfig 5147 wholeActiveConfigAccepted = true 5148 case DeviceStatusProxyConfigStatus_FieldPathSelectorApiConfig: 5149 result.ApiConfig = source.ApiConfig 5150 wholeApiConfigAccepted = true 5151 } 5152 case *DeviceStatusProxyConfigStatus_FieldSubPath: 5153 switch tp.selector { 5154 case DeviceStatusProxyConfigStatus_FieldPathSelectorDefaultConfig: 5155 defaultConfigMask.AppendPath(tp.subPath.(DeviceSpecProxyConfig_FieldPath)) 5156 case DeviceStatusProxyConfigStatus_FieldPathSelectorActiveConfig: 5157 activeConfigMask.AppendPath(tp.subPath.(DeviceSpecProxyConfig_FieldPath)) 5158 case DeviceStatusProxyConfigStatus_FieldPathSelectorApiConfig: 5159 apiConfigMask.AppendPath(tp.subPath.(DeviceSpecProxyConfig_FieldPath)) 5160 } 5161 } 5162 } 5163 if wholeDefaultConfigAccepted == false && len(defaultConfigMask.Paths) > 0 { 5164 result.DefaultConfig = defaultConfigMask.Project(source.GetDefaultConfig()) 5165 } 5166 if wholeActiveConfigAccepted == false && len(activeConfigMask.Paths) > 0 { 5167 result.ActiveConfig = activeConfigMask.Project(source.GetActiveConfig()) 5168 } 5169 if wholeApiConfigAccepted == false && len(apiConfigMask.Paths) > 0 { 5170 result.ApiConfig = apiConfigMask.Project(source.GetApiConfig()) 5171 } 5172 return result 5173 } 5174 5175 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 5176 return fieldMask.Project(source.(*Device_Status_ProxyConfigStatus)) 5177 } 5178 5179 func (fieldMask *Device_Status_ProxyConfigStatus_FieldMask) PathsCount() int { 5180 if fieldMask == nil { 5181 return 0 5182 } 5183 return len(fieldMask.Paths) 5184 } 5185 5186 type Device_Status_DeviceInfo_FieldMask struct { 5187 Paths []DeviceStatusDeviceInfo_FieldPath 5188 } 5189 5190 func FullDevice_Status_DeviceInfo_FieldMask() *Device_Status_DeviceInfo_FieldMask { 5191 res := &Device_Status_DeviceInfo_FieldMask{} 5192 res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorArchitecture}) 5193 res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorHardware}) 5194 res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorOperatingSystem}) 5195 res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorKernelVersion}) 5196 res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorOsImage}) 5197 res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorContainerRuntimeVersion}) 5198 res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorOsVersion}) 5199 res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorDriver}) 5200 res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorHardwareInformation}) 5201 res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorNetworkInterfaces}) 5202 res.Paths = append(res.Paths, &DeviceStatusDeviceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfo_FieldPathSelectorControlPlaneInterfaceInfo}) 5203 return res 5204 } 5205 5206 func (fieldMask *Device_Status_DeviceInfo_FieldMask) String() string { 5207 if fieldMask == nil { 5208 return "<nil>" 5209 } 5210 pathsStr := make([]string, 0, len(fieldMask.Paths)) 5211 for _, path := range fieldMask.Paths { 5212 pathsStr = append(pathsStr, path.String()) 5213 } 5214 return strings.Join(pathsStr, ", ") 5215 } 5216 5217 func (fieldMask *Device_Status_DeviceInfo_FieldMask) IsFull() bool { 5218 if fieldMask == nil { 5219 return false 5220 } 5221 presentSelectors := make([]bool, 11) 5222 for _, path := range fieldMask.Paths { 5223 if asFinal, ok := path.(*DeviceStatusDeviceInfo_FieldTerminalPath); ok { 5224 presentSelectors[int(asFinal.selector)] = true 5225 } 5226 } 5227 for _, flag := range presentSelectors { 5228 if !flag { 5229 return false 5230 } 5231 } 5232 return true 5233 } 5234 5235 func (fieldMask *Device_Status_DeviceInfo_FieldMask) ProtoReflect() preflect.Message { 5236 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 5237 return ParseDeviceStatusDeviceInfo_FieldPath(raw) 5238 }) 5239 } 5240 5241 func (fieldMask *Device_Status_DeviceInfo_FieldMask) ProtoMessage() {} 5242 5243 func (fieldMask *Device_Status_DeviceInfo_FieldMask) Reset() { 5244 if fieldMask != nil { 5245 fieldMask.Paths = nil 5246 } 5247 } 5248 5249 func (fieldMask *Device_Status_DeviceInfo_FieldMask) Subtract(other *Device_Status_DeviceInfo_FieldMask) *Device_Status_DeviceInfo_FieldMask { 5250 result := &Device_Status_DeviceInfo_FieldMask{} 5251 removedSelectors := make([]bool, 11) 5252 otherSubMasks := map[DeviceStatusDeviceInfo_FieldPathSelector]gotenobject.FieldMask{ 5253 DeviceStatusDeviceInfo_FieldPathSelectorHardwareInformation: &Device_Status_DeviceInfo_HardwareInformation_FieldMask{}, 5254 DeviceStatusDeviceInfo_FieldPathSelectorControlPlaneInterfaceInfo: &Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask{}, 5255 } 5256 mySubMasks := map[DeviceStatusDeviceInfo_FieldPathSelector]gotenobject.FieldMask{ 5257 DeviceStatusDeviceInfo_FieldPathSelectorHardwareInformation: &Device_Status_DeviceInfo_HardwareInformation_FieldMask{}, 5258 DeviceStatusDeviceInfo_FieldPathSelectorControlPlaneInterfaceInfo: &Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask{}, 5259 } 5260 5261 for _, path := range other.GetPaths() { 5262 switch tp := path.(type) { 5263 case *DeviceStatusDeviceInfo_FieldTerminalPath: 5264 removedSelectors[int(tp.selector)] = true 5265 case *DeviceStatusDeviceInfo_FieldSubPath: 5266 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 5267 } 5268 } 5269 for _, path := range fieldMask.GetPaths() { 5270 if !removedSelectors[int(path.Selector())] { 5271 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 5272 if tp, ok := path.(*DeviceStatusDeviceInfo_FieldTerminalPath); ok { 5273 switch tp.selector { 5274 case DeviceStatusDeviceInfo_FieldPathSelectorHardwareInformation: 5275 mySubMasks[DeviceStatusDeviceInfo_FieldPathSelectorHardwareInformation] = FullDevice_Status_DeviceInfo_HardwareInformation_FieldMask() 5276 case DeviceStatusDeviceInfo_FieldPathSelectorControlPlaneInterfaceInfo: 5277 mySubMasks[DeviceStatusDeviceInfo_FieldPathSelectorControlPlaneInterfaceInfo] = FullDevice_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask() 5278 } 5279 } else if tp, ok := path.(*DeviceStatusDeviceInfo_FieldSubPath); ok { 5280 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 5281 } 5282 } else { 5283 result.Paths = append(result.Paths, path) 5284 } 5285 } 5286 } 5287 for selector, mySubMask := range mySubMasks { 5288 if mySubMask.PathsCount() > 0 { 5289 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 5290 result.Paths = append(result.Paths, &DeviceStatusDeviceInfo_FieldSubPath{selector: selector, subPath: allowedPath}) 5291 } 5292 } 5293 } 5294 5295 if len(result.Paths) == 0 { 5296 return nil 5297 } 5298 return result 5299 } 5300 5301 func (fieldMask *Device_Status_DeviceInfo_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 5302 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_FieldMask)) 5303 } 5304 5305 // FilterInputFields generates copy of field paths with output_only field paths removed 5306 func (fieldMask *Device_Status_DeviceInfo_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_FieldMask { 5307 result := &Device_Status_DeviceInfo_FieldMask{} 5308 result.Paths = append(result.Paths, fieldMask.Paths...) 5309 return result 5310 } 5311 5312 // ToFieldMask is used for proto conversions 5313 func (fieldMask *Device_Status_DeviceInfo_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 5314 protoFieldMask := &googlefieldmaskpb.FieldMask{} 5315 for _, path := range fieldMask.Paths { 5316 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 5317 } 5318 return protoFieldMask 5319 } 5320 5321 func (fieldMask *Device_Status_DeviceInfo_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 5322 if fieldMask == nil { 5323 return status.Error(codes.Internal, "target field mask is nil") 5324 } 5325 fieldMask.Paths = make([]DeviceStatusDeviceInfo_FieldPath, 0, len(protoFieldMask.Paths)) 5326 for _, strPath := range protoFieldMask.Paths { 5327 path, err := ParseDeviceStatusDeviceInfo_FieldPath(strPath) 5328 if err != nil { 5329 return err 5330 } 5331 fieldMask.Paths = append(fieldMask.Paths, path) 5332 } 5333 return nil 5334 } 5335 5336 // implement methods required by customType 5337 func (fieldMask Device_Status_DeviceInfo_FieldMask) Marshal() ([]byte, error) { 5338 protoFieldMask := fieldMask.ToProtoFieldMask() 5339 return proto.Marshal(protoFieldMask) 5340 } 5341 5342 func (fieldMask *Device_Status_DeviceInfo_FieldMask) Unmarshal(data []byte) error { 5343 protoFieldMask := &googlefieldmaskpb.FieldMask{} 5344 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 5345 return err 5346 } 5347 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 5348 return err 5349 } 5350 return nil 5351 } 5352 5353 func (fieldMask *Device_Status_DeviceInfo_FieldMask) Size() int { 5354 return proto.Size(fieldMask.ToProtoFieldMask()) 5355 } 5356 5357 func (fieldMask Device_Status_DeviceInfo_FieldMask) MarshalJSON() ([]byte, error) { 5358 return json.Marshal(fieldMask.ToProtoFieldMask()) 5359 } 5360 5361 func (fieldMask *Device_Status_DeviceInfo_FieldMask) UnmarshalJSON(data []byte) error { 5362 protoFieldMask := &googlefieldmaskpb.FieldMask{} 5363 if err := json.Unmarshal(data, protoFieldMask); err != nil { 5364 return err 5365 } 5366 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 5367 return err 5368 } 5369 return nil 5370 } 5371 5372 func (fieldMask *Device_Status_DeviceInfo_FieldMask) AppendPath(path DeviceStatusDeviceInfo_FieldPath) { 5373 fieldMask.Paths = append(fieldMask.Paths, path) 5374 } 5375 5376 func (fieldMask *Device_Status_DeviceInfo_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 5377 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfo_FieldPath)) 5378 } 5379 5380 func (fieldMask *Device_Status_DeviceInfo_FieldMask) GetPaths() []DeviceStatusDeviceInfo_FieldPath { 5381 if fieldMask == nil { 5382 return nil 5383 } 5384 return fieldMask.Paths 5385 } 5386 5387 func (fieldMask *Device_Status_DeviceInfo_FieldMask) GetRawPaths() []gotenobject.FieldPath { 5388 if fieldMask == nil { 5389 return nil 5390 } 5391 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 5392 for _, path := range fieldMask.Paths { 5393 rawPaths = append(rawPaths, path) 5394 } 5395 return rawPaths 5396 } 5397 5398 func (fieldMask *Device_Status_DeviceInfo_FieldMask) SetFromCliFlag(raw string) error { 5399 path, err := ParseDeviceStatusDeviceInfo_FieldPath(raw) 5400 if err != nil { 5401 return err 5402 } 5403 fieldMask.Paths = append(fieldMask.Paths, path) 5404 return nil 5405 } 5406 5407 func (fieldMask *Device_Status_DeviceInfo_FieldMask) Set(target, source *Device_Status_DeviceInfo) { 5408 for _, path := range fieldMask.Paths { 5409 val, _ := path.GetSingle(source) 5410 // if val is nil, then field does not exist in source, skip 5411 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 5412 if val != nil { 5413 path.WithIValue(val).SetTo(&target) 5414 } 5415 } 5416 } 5417 5418 func (fieldMask *Device_Status_DeviceInfo_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 5419 fieldMask.Set(target.(*Device_Status_DeviceInfo), source.(*Device_Status_DeviceInfo)) 5420 } 5421 5422 func (fieldMask *Device_Status_DeviceInfo_FieldMask) Project(source *Device_Status_DeviceInfo) *Device_Status_DeviceInfo { 5423 if source == nil { 5424 return nil 5425 } 5426 if fieldMask == nil { 5427 return source 5428 } 5429 result := &Device_Status_DeviceInfo{} 5430 hardwareInformationMask := &Device_Status_DeviceInfo_HardwareInformation_FieldMask{} 5431 wholeHardwareInformationAccepted := false 5432 controlPlaneInterfaceInfoMask := &Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask{} 5433 wholeControlPlaneInterfaceInfoAccepted := false 5434 var networkInterfacesMapKeys []string 5435 wholeNetworkInterfacesAccepted := false 5436 5437 for _, p := range fieldMask.Paths { 5438 switch tp := p.(type) { 5439 case *DeviceStatusDeviceInfo_FieldTerminalPath: 5440 switch tp.selector { 5441 case DeviceStatusDeviceInfo_FieldPathSelectorArchitecture: 5442 result.Architecture = source.Architecture 5443 case DeviceStatusDeviceInfo_FieldPathSelectorHardware: 5444 result.Hardware = source.Hardware 5445 case DeviceStatusDeviceInfo_FieldPathSelectorOperatingSystem: 5446 result.OperatingSystem = source.OperatingSystem 5447 case DeviceStatusDeviceInfo_FieldPathSelectorKernelVersion: 5448 result.KernelVersion = source.KernelVersion 5449 case DeviceStatusDeviceInfo_FieldPathSelectorOsImage: 5450 result.OsImage = source.OsImage 5451 case DeviceStatusDeviceInfo_FieldPathSelectorContainerRuntimeVersion: 5452 result.ContainerRuntimeVersion = source.ContainerRuntimeVersion 5453 case DeviceStatusDeviceInfo_FieldPathSelectorOsVersion: 5454 result.OsVersion = source.OsVersion 5455 case DeviceStatusDeviceInfo_FieldPathSelectorDriver: 5456 result.Driver = source.Driver 5457 case DeviceStatusDeviceInfo_FieldPathSelectorHardwareInformation: 5458 result.HardwareInformation = source.HardwareInformation 5459 wholeHardwareInformationAccepted = true 5460 case DeviceStatusDeviceInfo_FieldPathSelectorNetworkInterfaces: 5461 result.NetworkInterfaces = source.NetworkInterfaces 5462 wholeNetworkInterfacesAccepted = true 5463 case DeviceStatusDeviceInfo_FieldPathSelectorControlPlaneInterfaceInfo: 5464 result.ControlPlaneInterfaceInfo = source.ControlPlaneInterfaceInfo 5465 wholeControlPlaneInterfaceInfoAccepted = true 5466 } 5467 case *DeviceStatusDeviceInfo_FieldSubPath: 5468 switch tp.selector { 5469 case DeviceStatusDeviceInfo_FieldPathSelectorHardwareInformation: 5470 hardwareInformationMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformation_FieldPath)) 5471 case DeviceStatusDeviceInfo_FieldPathSelectorControlPlaneInterfaceInfo: 5472 controlPlaneInterfaceInfoMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPath)) 5473 } 5474 case *DeviceStatusDeviceInfo_FieldPathMap: 5475 switch tp.selector { 5476 case DeviceStatusDeviceInfo_FieldPathSelectorNetworkInterfaces: 5477 networkInterfacesMapKeys = append(networkInterfacesMapKeys, tp.key) 5478 } 5479 } 5480 } 5481 if wholeHardwareInformationAccepted == false && len(hardwareInformationMask.Paths) > 0 { 5482 result.HardwareInformation = hardwareInformationMask.Project(source.GetHardwareInformation()) 5483 } 5484 if wholeNetworkInterfacesAccepted == false && len(networkInterfacesMapKeys) > 0 && source.GetNetworkInterfaces() != nil { 5485 copiedMap := map[string]*Device_Status_DeviceInfo_NetworkInterface{} 5486 sourceMap := source.GetNetworkInterfaces() 5487 for _, key := range networkInterfacesMapKeys { 5488 copiedMap[key] = sourceMap[key] 5489 } 5490 result.NetworkInterfaces = copiedMap 5491 } 5492 if wholeControlPlaneInterfaceInfoAccepted == false && len(controlPlaneInterfaceInfoMask.Paths) > 0 { 5493 result.ControlPlaneInterfaceInfo = controlPlaneInterfaceInfoMask.Project(source.GetControlPlaneInterfaceInfo()) 5494 } 5495 return result 5496 } 5497 5498 func (fieldMask *Device_Status_DeviceInfo_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 5499 return fieldMask.Project(source.(*Device_Status_DeviceInfo)) 5500 } 5501 5502 func (fieldMask *Device_Status_DeviceInfo_FieldMask) PathsCount() int { 5503 if fieldMask == nil { 5504 return 0 5505 } 5506 return len(fieldMask.Paths) 5507 } 5508 5509 type Device_Status_NormalizedAddress_FieldMask struct { 5510 Paths []DeviceStatusNormalizedAddress_FieldPath 5511 } 5512 5513 func FullDevice_Status_NormalizedAddress_FieldMask() *Device_Status_NormalizedAddress_FieldMask { 5514 res := &Device_Status_NormalizedAddress_FieldMask{} 5515 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorPostalCode}) 5516 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorCountryCode}) 5517 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorContinent}) 5518 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorContinentId}) 5519 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorCountry}) 5520 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorCountryId}) 5521 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea1}) 5522 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea1Id}) 5523 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea2}) 5524 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea2Id}) 5525 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea3}) 5526 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea3Id}) 5527 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea4}) 5528 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea4Id}) 5529 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAddress}) 5530 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorCoordinates}) 5531 res.Paths = append(res.Paths, &DeviceStatusNormalizedAddress_FieldTerminalPath{selector: DeviceStatusNormalizedAddress_FieldPathSelectorAccuracy}) 5532 return res 5533 } 5534 5535 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) String() string { 5536 if fieldMask == nil { 5537 return "<nil>" 5538 } 5539 pathsStr := make([]string, 0, len(fieldMask.Paths)) 5540 for _, path := range fieldMask.Paths { 5541 pathsStr = append(pathsStr, path.String()) 5542 } 5543 return strings.Join(pathsStr, ", ") 5544 } 5545 5546 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) IsFull() bool { 5547 if fieldMask == nil { 5548 return false 5549 } 5550 presentSelectors := make([]bool, 17) 5551 for _, path := range fieldMask.Paths { 5552 if asFinal, ok := path.(*DeviceStatusNormalizedAddress_FieldTerminalPath); ok { 5553 presentSelectors[int(asFinal.selector)] = true 5554 } 5555 } 5556 for _, flag := range presentSelectors { 5557 if !flag { 5558 return false 5559 } 5560 } 5561 return true 5562 } 5563 5564 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) ProtoReflect() preflect.Message { 5565 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 5566 return ParseDeviceStatusNormalizedAddress_FieldPath(raw) 5567 }) 5568 } 5569 5570 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) ProtoMessage() {} 5571 5572 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) Reset() { 5573 if fieldMask != nil { 5574 fieldMask.Paths = nil 5575 } 5576 } 5577 5578 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) Subtract(other *Device_Status_NormalizedAddress_FieldMask) *Device_Status_NormalizedAddress_FieldMask { 5579 result := &Device_Status_NormalizedAddress_FieldMask{} 5580 removedSelectors := make([]bool, 17) 5581 5582 for _, path := range other.GetPaths() { 5583 switch tp := path.(type) { 5584 case *DeviceStatusNormalizedAddress_FieldTerminalPath: 5585 removedSelectors[int(tp.selector)] = true 5586 } 5587 } 5588 for _, path := range fieldMask.GetPaths() { 5589 if !removedSelectors[int(path.Selector())] { 5590 result.Paths = append(result.Paths, path) 5591 } 5592 } 5593 5594 if len(result.Paths) == 0 { 5595 return nil 5596 } 5597 return result 5598 } 5599 5600 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 5601 return fieldMask.Subtract(other.(*Device_Status_NormalizedAddress_FieldMask)) 5602 } 5603 5604 // FilterInputFields generates copy of field paths with output_only field paths removed 5605 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) FilterInputFields() *Device_Status_NormalizedAddress_FieldMask { 5606 result := &Device_Status_NormalizedAddress_FieldMask{} 5607 result.Paths = append(result.Paths, fieldMask.Paths...) 5608 return result 5609 } 5610 5611 // ToFieldMask is used for proto conversions 5612 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 5613 protoFieldMask := &googlefieldmaskpb.FieldMask{} 5614 for _, path := range fieldMask.Paths { 5615 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 5616 } 5617 return protoFieldMask 5618 } 5619 5620 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 5621 if fieldMask == nil { 5622 return status.Error(codes.Internal, "target field mask is nil") 5623 } 5624 fieldMask.Paths = make([]DeviceStatusNormalizedAddress_FieldPath, 0, len(protoFieldMask.Paths)) 5625 for _, strPath := range protoFieldMask.Paths { 5626 path, err := ParseDeviceStatusNormalizedAddress_FieldPath(strPath) 5627 if err != nil { 5628 return err 5629 } 5630 fieldMask.Paths = append(fieldMask.Paths, path) 5631 } 5632 return nil 5633 } 5634 5635 // implement methods required by customType 5636 func (fieldMask Device_Status_NormalizedAddress_FieldMask) Marshal() ([]byte, error) { 5637 protoFieldMask := fieldMask.ToProtoFieldMask() 5638 return proto.Marshal(protoFieldMask) 5639 } 5640 5641 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) Unmarshal(data []byte) error { 5642 protoFieldMask := &googlefieldmaskpb.FieldMask{} 5643 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 5644 return err 5645 } 5646 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 5647 return err 5648 } 5649 return nil 5650 } 5651 5652 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) Size() int { 5653 return proto.Size(fieldMask.ToProtoFieldMask()) 5654 } 5655 5656 func (fieldMask Device_Status_NormalizedAddress_FieldMask) MarshalJSON() ([]byte, error) { 5657 return json.Marshal(fieldMask.ToProtoFieldMask()) 5658 } 5659 5660 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) UnmarshalJSON(data []byte) error { 5661 protoFieldMask := &googlefieldmaskpb.FieldMask{} 5662 if err := json.Unmarshal(data, protoFieldMask); err != nil { 5663 return err 5664 } 5665 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 5666 return err 5667 } 5668 return nil 5669 } 5670 5671 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) AppendPath(path DeviceStatusNormalizedAddress_FieldPath) { 5672 fieldMask.Paths = append(fieldMask.Paths, path) 5673 } 5674 5675 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 5676 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusNormalizedAddress_FieldPath)) 5677 } 5678 5679 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) GetPaths() []DeviceStatusNormalizedAddress_FieldPath { 5680 if fieldMask == nil { 5681 return nil 5682 } 5683 return fieldMask.Paths 5684 } 5685 5686 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) GetRawPaths() []gotenobject.FieldPath { 5687 if fieldMask == nil { 5688 return nil 5689 } 5690 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 5691 for _, path := range fieldMask.Paths { 5692 rawPaths = append(rawPaths, path) 5693 } 5694 return rawPaths 5695 } 5696 5697 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) SetFromCliFlag(raw string) error { 5698 path, err := ParseDeviceStatusNormalizedAddress_FieldPath(raw) 5699 if err != nil { 5700 return err 5701 } 5702 fieldMask.Paths = append(fieldMask.Paths, path) 5703 return nil 5704 } 5705 5706 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) Set(target, source *Device_Status_NormalizedAddress) { 5707 for _, path := range fieldMask.Paths { 5708 val, _ := path.GetSingle(source) 5709 // if val is nil, then field does not exist in source, skip 5710 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 5711 if val != nil { 5712 path.WithIValue(val).SetTo(&target) 5713 } 5714 } 5715 } 5716 5717 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 5718 fieldMask.Set(target.(*Device_Status_NormalizedAddress), source.(*Device_Status_NormalizedAddress)) 5719 } 5720 5721 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) Project(source *Device_Status_NormalizedAddress) *Device_Status_NormalizedAddress { 5722 if source == nil { 5723 return nil 5724 } 5725 if fieldMask == nil { 5726 return source 5727 } 5728 result := &Device_Status_NormalizedAddress{} 5729 5730 for _, p := range fieldMask.Paths { 5731 switch tp := p.(type) { 5732 case *DeviceStatusNormalizedAddress_FieldTerminalPath: 5733 switch tp.selector { 5734 case DeviceStatusNormalizedAddress_FieldPathSelectorPostalCode: 5735 result.PostalCode = source.PostalCode 5736 case DeviceStatusNormalizedAddress_FieldPathSelectorCountryCode: 5737 result.CountryCode = source.CountryCode 5738 case DeviceStatusNormalizedAddress_FieldPathSelectorContinent: 5739 result.Continent = source.Continent 5740 case DeviceStatusNormalizedAddress_FieldPathSelectorContinentId: 5741 result.ContinentId = source.ContinentId 5742 case DeviceStatusNormalizedAddress_FieldPathSelectorCountry: 5743 result.Country = source.Country 5744 case DeviceStatusNormalizedAddress_FieldPathSelectorCountryId: 5745 result.CountryId = source.CountryId 5746 case DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea1: 5747 result.AdminArea1 = source.AdminArea1 5748 case DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea1Id: 5749 result.AdminArea1Id = source.AdminArea1Id 5750 case DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea2: 5751 result.AdminArea2 = source.AdminArea2 5752 case DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea2Id: 5753 result.AdminArea2Id = source.AdminArea2Id 5754 case DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea3: 5755 result.AdminArea3 = source.AdminArea3 5756 case DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea3Id: 5757 result.AdminArea3Id = source.AdminArea3Id 5758 case DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea4: 5759 result.AdminArea4 = source.AdminArea4 5760 case DeviceStatusNormalizedAddress_FieldPathSelectorAdminArea4Id: 5761 result.AdminArea4Id = source.AdminArea4Id 5762 case DeviceStatusNormalizedAddress_FieldPathSelectorAddress: 5763 result.Address = source.Address 5764 case DeviceStatusNormalizedAddress_FieldPathSelectorCoordinates: 5765 result.Coordinates = source.Coordinates 5766 case DeviceStatusNormalizedAddress_FieldPathSelectorAccuracy: 5767 result.Accuracy = source.Accuracy 5768 } 5769 } 5770 } 5771 return result 5772 } 5773 5774 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 5775 return fieldMask.Project(source.(*Device_Status_NormalizedAddress)) 5776 } 5777 5778 func (fieldMask *Device_Status_NormalizedAddress_FieldMask) PathsCount() int { 5779 if fieldMask == nil { 5780 return 0 5781 } 5782 return len(fieldMask.Paths) 5783 } 5784 5785 type Device_Status_DeviceInfo_HardwareInformation_FieldMask struct { 5786 Paths []DeviceStatusDeviceInfoHardwareInformation_FieldPath 5787 } 5788 5789 func FullDevice_Status_DeviceInfo_HardwareInformation_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_FieldMask { 5790 res := &Device_Status_DeviceInfo_HardwareInformation_FieldMask{} 5791 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorOs}) 5792 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBios}) 5793 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorSystem}) 5794 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorCpu}) 5795 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBlock}) 5796 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNetwork}) 5797 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorGpu}) 5798 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorMemoryInfo}) 5799 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorHailoInfo}) 5800 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNvidiaInfo}) 5801 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorModemStatus}) 5802 return res 5803 } 5804 5805 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) String() string { 5806 if fieldMask == nil { 5807 return "<nil>" 5808 } 5809 pathsStr := make([]string, 0, len(fieldMask.Paths)) 5810 for _, path := range fieldMask.Paths { 5811 pathsStr = append(pathsStr, path.String()) 5812 } 5813 return strings.Join(pathsStr, ", ") 5814 } 5815 5816 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) IsFull() bool { 5817 if fieldMask == nil { 5818 return false 5819 } 5820 presentSelectors := make([]bool, 11) 5821 for _, path := range fieldMask.Paths { 5822 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath); ok { 5823 presentSelectors[int(asFinal.selector)] = true 5824 } 5825 } 5826 for _, flag := range presentSelectors { 5827 if !flag { 5828 return false 5829 } 5830 } 5831 return true 5832 } 5833 5834 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) ProtoReflect() preflect.Message { 5835 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 5836 return ParseDeviceStatusDeviceInfoHardwareInformation_FieldPath(raw) 5837 }) 5838 } 5839 5840 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) ProtoMessage() {} 5841 5842 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) Reset() { 5843 if fieldMask != nil { 5844 fieldMask.Paths = nil 5845 } 5846 } 5847 5848 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_FieldMask { 5849 result := &Device_Status_DeviceInfo_HardwareInformation_FieldMask{} 5850 removedSelectors := make([]bool, 11) 5851 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformation_FieldPathSelector]gotenobject.FieldMask{ 5852 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorOs: &Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask{}, 5853 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBios: &Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask{}, 5854 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorSystem: &Device_Status_DeviceInfo_HardwareInformation_System_FieldMask{}, 5855 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorCpu: &Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask{}, 5856 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBlock: &Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask{}, 5857 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNetwork: &Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask{}, 5858 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorGpu: &Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask{}, 5859 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorMemoryInfo: &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask{}, 5860 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorHailoInfo: &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask{}, 5861 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNvidiaInfo: &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask{}, 5862 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorModemStatus: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask{}, 5863 } 5864 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformation_FieldPathSelector]gotenobject.FieldMask{ 5865 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorOs: &Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask{}, 5866 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBios: &Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask{}, 5867 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorSystem: &Device_Status_DeviceInfo_HardwareInformation_System_FieldMask{}, 5868 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorCpu: &Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask{}, 5869 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBlock: &Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask{}, 5870 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNetwork: &Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask{}, 5871 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorGpu: &Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask{}, 5872 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorMemoryInfo: &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask{}, 5873 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorHailoInfo: &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask{}, 5874 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNvidiaInfo: &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask{}, 5875 DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorModemStatus: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask{}, 5876 } 5877 5878 for _, path := range other.GetPaths() { 5879 switch tp := path.(type) { 5880 case *DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath: 5881 removedSelectors[int(tp.selector)] = true 5882 case *DeviceStatusDeviceInfoHardwareInformation_FieldSubPath: 5883 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 5884 } 5885 } 5886 for _, path := range fieldMask.GetPaths() { 5887 if !removedSelectors[int(path.Selector())] { 5888 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 5889 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath); ok { 5890 switch tp.selector { 5891 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorOs: 5892 mySubMasks[DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorOs] = FullDevice_Status_DeviceInfo_HardwareInformation_OS_FieldMask() 5893 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBios: 5894 mySubMasks[DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBios] = FullDevice_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask() 5895 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorSystem: 5896 mySubMasks[DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorSystem] = FullDevice_Status_DeviceInfo_HardwareInformation_System_FieldMask() 5897 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorCpu: 5898 mySubMasks[DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorCpu] = FullDevice_Status_DeviceInfo_HardwareInformation_CPU_FieldMask() 5899 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBlock: 5900 mySubMasks[DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBlock] = FullDevice_Status_DeviceInfo_HardwareInformation_Block_FieldMask() 5901 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNetwork: 5902 mySubMasks[DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNetwork] = FullDevice_Status_DeviceInfo_HardwareInformation_Network_FieldMask() 5903 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorGpu: 5904 mySubMasks[DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorGpu] = FullDevice_Status_DeviceInfo_HardwareInformation_GPU_FieldMask() 5905 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorMemoryInfo: 5906 mySubMasks[DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorMemoryInfo] = FullDevice_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask() 5907 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorHailoInfo: 5908 mySubMasks[DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorHailoInfo] = FullDevice_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask() 5909 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNvidiaInfo: 5910 mySubMasks[DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNvidiaInfo] = FullDevice_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask() 5911 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorModemStatus: 5912 mySubMasks[DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorModemStatus] = FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask() 5913 } 5914 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformation_FieldSubPath); ok { 5915 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 5916 } 5917 } else { 5918 result.Paths = append(result.Paths, path) 5919 } 5920 } 5921 } 5922 for selector, mySubMask := range mySubMasks { 5923 if mySubMask.PathsCount() > 0 { 5924 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 5925 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformation_FieldSubPath{selector: selector, subPath: allowedPath}) 5926 } 5927 } 5928 } 5929 5930 if len(result.Paths) == 0 { 5931 return nil 5932 } 5933 return result 5934 } 5935 5936 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 5937 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_FieldMask)) 5938 } 5939 5940 // FilterInputFields generates copy of field paths with output_only field paths removed 5941 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_FieldMask { 5942 result := &Device_Status_DeviceInfo_HardwareInformation_FieldMask{} 5943 result.Paths = append(result.Paths, fieldMask.Paths...) 5944 return result 5945 } 5946 5947 // ToFieldMask is used for proto conversions 5948 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 5949 protoFieldMask := &googlefieldmaskpb.FieldMask{} 5950 for _, path := range fieldMask.Paths { 5951 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 5952 } 5953 return protoFieldMask 5954 } 5955 5956 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 5957 if fieldMask == nil { 5958 return status.Error(codes.Internal, "target field mask is nil") 5959 } 5960 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformation_FieldPath, 0, len(protoFieldMask.Paths)) 5961 for _, strPath := range protoFieldMask.Paths { 5962 path, err := ParseDeviceStatusDeviceInfoHardwareInformation_FieldPath(strPath) 5963 if err != nil { 5964 return err 5965 } 5966 fieldMask.Paths = append(fieldMask.Paths, path) 5967 } 5968 return nil 5969 } 5970 5971 // implement methods required by customType 5972 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_FieldMask) Marshal() ([]byte, error) { 5973 protoFieldMask := fieldMask.ToProtoFieldMask() 5974 return proto.Marshal(protoFieldMask) 5975 } 5976 5977 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) Unmarshal(data []byte) error { 5978 protoFieldMask := &googlefieldmaskpb.FieldMask{} 5979 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 5980 return err 5981 } 5982 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 5983 return err 5984 } 5985 return nil 5986 } 5987 5988 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) Size() int { 5989 return proto.Size(fieldMask.ToProtoFieldMask()) 5990 } 5991 5992 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_FieldMask) MarshalJSON() ([]byte, error) { 5993 return json.Marshal(fieldMask.ToProtoFieldMask()) 5994 } 5995 5996 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) UnmarshalJSON(data []byte) error { 5997 protoFieldMask := &googlefieldmaskpb.FieldMask{} 5998 if err := json.Unmarshal(data, protoFieldMask); err != nil { 5999 return err 6000 } 6001 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 6002 return err 6003 } 6004 return nil 6005 } 6006 6007 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformation_FieldPath) { 6008 fieldMask.Paths = append(fieldMask.Paths, path) 6009 } 6010 6011 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 6012 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformation_FieldPath)) 6013 } 6014 6015 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformation_FieldPath { 6016 if fieldMask == nil { 6017 return nil 6018 } 6019 return fieldMask.Paths 6020 } 6021 6022 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) GetRawPaths() []gotenobject.FieldPath { 6023 if fieldMask == nil { 6024 return nil 6025 } 6026 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 6027 for _, path := range fieldMask.Paths { 6028 rawPaths = append(rawPaths, path) 6029 } 6030 return rawPaths 6031 } 6032 6033 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) SetFromCliFlag(raw string) error { 6034 path, err := ParseDeviceStatusDeviceInfoHardwareInformation_FieldPath(raw) 6035 if err != nil { 6036 return err 6037 } 6038 fieldMask.Paths = append(fieldMask.Paths, path) 6039 return nil 6040 } 6041 6042 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation) { 6043 for _, path := range fieldMask.Paths { 6044 val, _ := path.GetSingle(source) 6045 // if val is nil, then field does not exist in source, skip 6046 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 6047 if val != nil { 6048 path.WithIValue(val).SetTo(&target) 6049 } 6050 } 6051 } 6052 6053 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 6054 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation), source.(*Device_Status_DeviceInfo_HardwareInformation)) 6055 } 6056 6057 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation) *Device_Status_DeviceInfo_HardwareInformation { 6058 if source == nil { 6059 return nil 6060 } 6061 if fieldMask == nil { 6062 return source 6063 } 6064 result := &Device_Status_DeviceInfo_HardwareInformation{} 6065 osMask := &Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask{} 6066 wholeOsAccepted := false 6067 biosMask := &Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask{} 6068 wholeBiosAccepted := false 6069 systemMask := &Device_Status_DeviceInfo_HardwareInformation_System_FieldMask{} 6070 wholeSystemAccepted := false 6071 cpuMask := &Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask{} 6072 wholeCpuAccepted := false 6073 blockMask := &Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask{} 6074 wholeBlockAccepted := false 6075 networkMask := &Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask{} 6076 wholeNetworkAccepted := false 6077 gpuMask := &Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask{} 6078 wholeGpuAccepted := false 6079 memoryInfoMask := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask{} 6080 wholeMemoryInfoAccepted := false 6081 hailoInfoMask := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask{} 6082 wholeHailoInfoAccepted := false 6083 nvidiaInfoMask := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask{} 6084 wholeNvidiaInfoAccepted := false 6085 modemStatusMask := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask{} 6086 wholeModemStatusAccepted := false 6087 6088 for _, p := range fieldMask.Paths { 6089 switch tp := p.(type) { 6090 case *DeviceStatusDeviceInfoHardwareInformation_FieldTerminalPath: 6091 switch tp.selector { 6092 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorOs: 6093 result.Os = source.Os 6094 wholeOsAccepted = true 6095 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBios: 6096 result.Bios = source.Bios 6097 wholeBiosAccepted = true 6098 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorSystem: 6099 result.System = source.System 6100 wholeSystemAccepted = true 6101 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorCpu: 6102 result.Cpu = source.Cpu 6103 wholeCpuAccepted = true 6104 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBlock: 6105 result.Block = source.Block 6106 wholeBlockAccepted = true 6107 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNetwork: 6108 result.Network = source.Network 6109 wholeNetworkAccepted = true 6110 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorGpu: 6111 result.Gpu = source.Gpu 6112 wholeGpuAccepted = true 6113 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorMemoryInfo: 6114 result.MemoryInfo = source.MemoryInfo 6115 wholeMemoryInfoAccepted = true 6116 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorHailoInfo: 6117 result.HailoInfo = source.HailoInfo 6118 wholeHailoInfoAccepted = true 6119 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNvidiaInfo: 6120 result.NvidiaInfo = source.NvidiaInfo 6121 wholeNvidiaInfoAccepted = true 6122 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorModemStatus: 6123 result.ModemStatus = source.ModemStatus 6124 wholeModemStatusAccepted = true 6125 } 6126 case *DeviceStatusDeviceInfoHardwareInformation_FieldSubPath: 6127 switch tp.selector { 6128 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorOs: 6129 osMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationOS_FieldPath)) 6130 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBios: 6131 biosMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPath)) 6132 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorSystem: 6133 systemMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationSystem_FieldPath)) 6134 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorCpu: 6135 cpuMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationCPU_FieldPath)) 6136 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorBlock: 6137 blockMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationBlock_FieldPath)) 6138 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNetwork: 6139 networkMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPath)) 6140 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorGpu: 6141 gpuMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationGPU_FieldPath)) 6142 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorMemoryInfo: 6143 memoryInfoMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPath)) 6144 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorHailoInfo: 6145 hailoInfoMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPath)) 6146 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorNvidiaInfo: 6147 nvidiaInfoMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPath)) 6148 case DeviceStatusDeviceInfoHardwareInformation_FieldPathSelectorModemStatus: 6149 modemStatusMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPath)) 6150 } 6151 } 6152 } 6153 if wholeOsAccepted == false && len(osMask.Paths) > 0 { 6154 result.Os = osMask.Project(source.GetOs()) 6155 } 6156 if wholeBiosAccepted == false && len(biosMask.Paths) > 0 { 6157 result.Bios = biosMask.Project(source.GetBios()) 6158 } 6159 if wholeSystemAccepted == false && len(systemMask.Paths) > 0 { 6160 result.System = systemMask.Project(source.GetSystem()) 6161 } 6162 if wholeCpuAccepted == false && len(cpuMask.Paths) > 0 { 6163 result.Cpu = cpuMask.Project(source.GetCpu()) 6164 } 6165 if wholeBlockAccepted == false && len(blockMask.Paths) > 0 { 6166 result.Block = blockMask.Project(source.GetBlock()) 6167 } 6168 if wholeNetworkAccepted == false && len(networkMask.Paths) > 0 { 6169 result.Network = networkMask.Project(source.GetNetwork()) 6170 } 6171 if wholeGpuAccepted == false && len(gpuMask.Paths) > 0 { 6172 result.Gpu = gpuMask.Project(source.GetGpu()) 6173 } 6174 if wholeMemoryInfoAccepted == false && len(memoryInfoMask.Paths) > 0 { 6175 result.MemoryInfo = memoryInfoMask.Project(source.GetMemoryInfo()) 6176 } 6177 if wholeHailoInfoAccepted == false && len(hailoInfoMask.Paths) > 0 { 6178 result.HailoInfo = hailoInfoMask.Project(source.GetHailoInfo()) 6179 } 6180 if wholeNvidiaInfoAccepted == false && len(nvidiaInfoMask.Paths) > 0 { 6181 result.NvidiaInfo = nvidiaInfoMask.Project(source.GetNvidiaInfo()) 6182 } 6183 if wholeModemStatusAccepted == false && len(modemStatusMask.Paths) > 0 { 6184 for _, sourceItem := range source.GetModemStatus() { 6185 result.ModemStatus = append(result.ModemStatus, modemStatusMask.Project(sourceItem)) 6186 } 6187 } 6188 return result 6189 } 6190 6191 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 6192 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation)) 6193 } 6194 6195 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_FieldMask) PathsCount() int { 6196 if fieldMask == nil { 6197 return 0 6198 } 6199 return len(fieldMask.Paths) 6200 } 6201 6202 type Device_Status_DeviceInfo_NetworkInterface_FieldMask struct { 6203 Paths []DeviceStatusDeviceInfoNetworkInterface_FieldPath 6204 } 6205 6206 func FullDevice_Status_DeviceInfo_NetworkInterface_FieldMask() *Device_Status_DeviceInfo_NetworkInterface_FieldMask { 6207 res := &Device_Status_DeviceInfo_NetworkInterface_FieldMask{} 6208 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorInterfaceName}) 6209 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorIpAddressV4}) 6210 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorExternalIpAddressV4}) 6211 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorIpAddressV6}) 6212 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorExternalIpAddressV6}) 6213 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorAsInfo}) 6214 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorCarrier}) 6215 return res 6216 } 6217 6218 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) String() string { 6219 if fieldMask == nil { 6220 return "<nil>" 6221 } 6222 pathsStr := make([]string, 0, len(fieldMask.Paths)) 6223 for _, path := range fieldMask.Paths { 6224 pathsStr = append(pathsStr, path.String()) 6225 } 6226 return strings.Join(pathsStr, ", ") 6227 } 6228 6229 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) IsFull() bool { 6230 if fieldMask == nil { 6231 return false 6232 } 6233 presentSelectors := make([]bool, 7) 6234 for _, path := range fieldMask.Paths { 6235 if asFinal, ok := path.(*DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath); ok { 6236 presentSelectors[int(asFinal.selector)] = true 6237 } 6238 } 6239 for _, flag := range presentSelectors { 6240 if !flag { 6241 return false 6242 } 6243 } 6244 return true 6245 } 6246 6247 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) ProtoReflect() preflect.Message { 6248 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 6249 return ParseDeviceStatusDeviceInfoNetworkInterface_FieldPath(raw) 6250 }) 6251 } 6252 6253 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) ProtoMessage() {} 6254 6255 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) Reset() { 6256 if fieldMask != nil { 6257 fieldMask.Paths = nil 6258 } 6259 } 6260 6261 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) Subtract(other *Device_Status_DeviceInfo_NetworkInterface_FieldMask) *Device_Status_DeviceInfo_NetworkInterface_FieldMask { 6262 result := &Device_Status_DeviceInfo_NetworkInterface_FieldMask{} 6263 removedSelectors := make([]bool, 7) 6264 otherSubMasks := map[DeviceStatusDeviceInfoNetworkInterface_FieldPathSelector]gotenobject.FieldMask{ 6265 DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorAsInfo: &Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask{}, 6266 DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorCarrier: &Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask{}, 6267 } 6268 mySubMasks := map[DeviceStatusDeviceInfoNetworkInterface_FieldPathSelector]gotenobject.FieldMask{ 6269 DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorAsInfo: &Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask{}, 6270 DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorCarrier: &Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask{}, 6271 } 6272 6273 for _, path := range other.GetPaths() { 6274 switch tp := path.(type) { 6275 case *DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath: 6276 removedSelectors[int(tp.selector)] = true 6277 case *DeviceStatusDeviceInfoNetworkInterface_FieldSubPath: 6278 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 6279 } 6280 } 6281 for _, path := range fieldMask.GetPaths() { 6282 if !removedSelectors[int(path.Selector())] { 6283 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 6284 if tp, ok := path.(*DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath); ok { 6285 switch tp.selector { 6286 case DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorAsInfo: 6287 mySubMasks[DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorAsInfo] = FullDevice_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask() 6288 case DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorCarrier: 6289 mySubMasks[DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorCarrier] = FullDevice_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask() 6290 } 6291 } else if tp, ok := path.(*DeviceStatusDeviceInfoNetworkInterface_FieldSubPath); ok { 6292 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 6293 } 6294 } else { 6295 result.Paths = append(result.Paths, path) 6296 } 6297 } 6298 } 6299 for selector, mySubMask := range mySubMasks { 6300 if mySubMask.PathsCount() > 0 { 6301 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 6302 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoNetworkInterface_FieldSubPath{selector: selector, subPath: allowedPath}) 6303 } 6304 } 6305 } 6306 6307 if len(result.Paths) == 0 { 6308 return nil 6309 } 6310 return result 6311 } 6312 6313 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 6314 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_NetworkInterface_FieldMask)) 6315 } 6316 6317 // FilterInputFields generates copy of field paths with output_only field paths removed 6318 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_NetworkInterface_FieldMask { 6319 result := &Device_Status_DeviceInfo_NetworkInterface_FieldMask{} 6320 result.Paths = append(result.Paths, fieldMask.Paths...) 6321 return result 6322 } 6323 6324 // ToFieldMask is used for proto conversions 6325 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 6326 protoFieldMask := &googlefieldmaskpb.FieldMask{} 6327 for _, path := range fieldMask.Paths { 6328 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 6329 } 6330 return protoFieldMask 6331 } 6332 6333 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 6334 if fieldMask == nil { 6335 return status.Error(codes.Internal, "target field mask is nil") 6336 } 6337 fieldMask.Paths = make([]DeviceStatusDeviceInfoNetworkInterface_FieldPath, 0, len(protoFieldMask.Paths)) 6338 for _, strPath := range protoFieldMask.Paths { 6339 path, err := ParseDeviceStatusDeviceInfoNetworkInterface_FieldPath(strPath) 6340 if err != nil { 6341 return err 6342 } 6343 fieldMask.Paths = append(fieldMask.Paths, path) 6344 } 6345 return nil 6346 } 6347 6348 // implement methods required by customType 6349 func (fieldMask Device_Status_DeviceInfo_NetworkInterface_FieldMask) Marshal() ([]byte, error) { 6350 protoFieldMask := fieldMask.ToProtoFieldMask() 6351 return proto.Marshal(protoFieldMask) 6352 } 6353 6354 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) Unmarshal(data []byte) error { 6355 protoFieldMask := &googlefieldmaskpb.FieldMask{} 6356 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 6357 return err 6358 } 6359 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 6360 return err 6361 } 6362 return nil 6363 } 6364 6365 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) Size() int { 6366 return proto.Size(fieldMask.ToProtoFieldMask()) 6367 } 6368 6369 func (fieldMask Device_Status_DeviceInfo_NetworkInterface_FieldMask) MarshalJSON() ([]byte, error) { 6370 return json.Marshal(fieldMask.ToProtoFieldMask()) 6371 } 6372 6373 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) UnmarshalJSON(data []byte) error { 6374 protoFieldMask := &googlefieldmaskpb.FieldMask{} 6375 if err := json.Unmarshal(data, protoFieldMask); err != nil { 6376 return err 6377 } 6378 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 6379 return err 6380 } 6381 return nil 6382 } 6383 6384 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) AppendPath(path DeviceStatusDeviceInfoNetworkInterface_FieldPath) { 6385 fieldMask.Paths = append(fieldMask.Paths, path) 6386 } 6387 6388 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 6389 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoNetworkInterface_FieldPath)) 6390 } 6391 6392 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) GetPaths() []DeviceStatusDeviceInfoNetworkInterface_FieldPath { 6393 if fieldMask == nil { 6394 return nil 6395 } 6396 return fieldMask.Paths 6397 } 6398 6399 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) GetRawPaths() []gotenobject.FieldPath { 6400 if fieldMask == nil { 6401 return nil 6402 } 6403 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 6404 for _, path := range fieldMask.Paths { 6405 rawPaths = append(rawPaths, path) 6406 } 6407 return rawPaths 6408 } 6409 6410 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) SetFromCliFlag(raw string) error { 6411 path, err := ParseDeviceStatusDeviceInfoNetworkInterface_FieldPath(raw) 6412 if err != nil { 6413 return err 6414 } 6415 fieldMask.Paths = append(fieldMask.Paths, path) 6416 return nil 6417 } 6418 6419 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) Set(target, source *Device_Status_DeviceInfo_NetworkInterface) { 6420 for _, path := range fieldMask.Paths { 6421 val, _ := path.GetSingle(source) 6422 // if val is nil, then field does not exist in source, skip 6423 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 6424 if val != nil { 6425 path.WithIValue(val).SetTo(&target) 6426 } 6427 } 6428 } 6429 6430 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 6431 fieldMask.Set(target.(*Device_Status_DeviceInfo_NetworkInterface), source.(*Device_Status_DeviceInfo_NetworkInterface)) 6432 } 6433 6434 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) Project(source *Device_Status_DeviceInfo_NetworkInterface) *Device_Status_DeviceInfo_NetworkInterface { 6435 if source == nil { 6436 return nil 6437 } 6438 if fieldMask == nil { 6439 return source 6440 } 6441 result := &Device_Status_DeviceInfo_NetworkInterface{} 6442 asInfoMask := &Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask{} 6443 wholeAsInfoAccepted := false 6444 carrierMask := &Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask{} 6445 wholeCarrierAccepted := false 6446 6447 for _, p := range fieldMask.Paths { 6448 switch tp := p.(type) { 6449 case *DeviceStatusDeviceInfoNetworkInterface_FieldTerminalPath: 6450 switch tp.selector { 6451 case DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorInterfaceName: 6452 result.InterfaceName = source.InterfaceName 6453 case DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorIpAddressV4: 6454 result.IpAddressV4 = source.IpAddressV4 6455 case DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorExternalIpAddressV4: 6456 result.ExternalIpAddressV4 = source.ExternalIpAddressV4 6457 case DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorIpAddressV6: 6458 result.IpAddressV6 = source.IpAddressV6 6459 case DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorExternalIpAddressV6: 6460 result.ExternalIpAddressV6 = source.ExternalIpAddressV6 6461 case DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorAsInfo: 6462 result.AsInfo = source.AsInfo 6463 wholeAsInfoAccepted = true 6464 case DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorCarrier: 6465 result.Carrier = source.Carrier 6466 wholeCarrierAccepted = true 6467 } 6468 case *DeviceStatusDeviceInfoNetworkInterface_FieldSubPath: 6469 switch tp.selector { 6470 case DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorAsInfo: 6471 asInfoMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPath)) 6472 case DeviceStatusDeviceInfoNetworkInterface_FieldPathSelectorCarrier: 6473 carrierMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPath)) 6474 } 6475 } 6476 } 6477 if wholeAsInfoAccepted == false && len(asInfoMask.Paths) > 0 { 6478 result.AsInfo = asInfoMask.Project(source.GetAsInfo()) 6479 } 6480 if wholeCarrierAccepted == false && len(carrierMask.Paths) > 0 { 6481 result.Carrier = carrierMask.Project(source.GetCarrier()) 6482 } 6483 return result 6484 } 6485 6486 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 6487 return fieldMask.Project(source.(*Device_Status_DeviceInfo_NetworkInterface)) 6488 } 6489 6490 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_FieldMask) PathsCount() int { 6491 if fieldMask == nil { 6492 return 0 6493 } 6494 return len(fieldMask.Paths) 6495 } 6496 6497 type Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask struct { 6498 Paths []DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPath 6499 } 6500 6501 func FullDevice_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask() *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask { 6502 res := &Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask{} 6503 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPathSelectorActiveControlPlaneInterface}) 6504 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPathSelectorUsesProxy}) 6505 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPathSelectorIsFallback}) 6506 return res 6507 } 6508 6509 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) String() string { 6510 if fieldMask == nil { 6511 return "<nil>" 6512 } 6513 pathsStr := make([]string, 0, len(fieldMask.Paths)) 6514 for _, path := range fieldMask.Paths { 6515 pathsStr = append(pathsStr, path.String()) 6516 } 6517 return strings.Join(pathsStr, ", ") 6518 } 6519 6520 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) IsFull() bool { 6521 if fieldMask == nil { 6522 return false 6523 } 6524 presentSelectors := make([]bool, 3) 6525 for _, path := range fieldMask.Paths { 6526 if asFinal, ok := path.(*DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldTerminalPath); ok { 6527 presentSelectors[int(asFinal.selector)] = true 6528 } 6529 } 6530 for _, flag := range presentSelectors { 6531 if !flag { 6532 return false 6533 } 6534 } 6535 return true 6536 } 6537 6538 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) ProtoReflect() preflect.Message { 6539 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 6540 return ParseDeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPath(raw) 6541 }) 6542 } 6543 6544 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) ProtoMessage() {} 6545 6546 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) Reset() { 6547 if fieldMask != nil { 6548 fieldMask.Paths = nil 6549 } 6550 } 6551 6552 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) Subtract(other *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask { 6553 result := &Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask{} 6554 removedSelectors := make([]bool, 3) 6555 6556 for _, path := range other.GetPaths() { 6557 switch tp := path.(type) { 6558 case *DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldTerminalPath: 6559 removedSelectors[int(tp.selector)] = true 6560 } 6561 } 6562 for _, path := range fieldMask.GetPaths() { 6563 if !removedSelectors[int(path.Selector())] { 6564 result.Paths = append(result.Paths, path) 6565 } 6566 } 6567 6568 if len(result.Paths) == 0 { 6569 return nil 6570 } 6571 return result 6572 } 6573 6574 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 6575 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask)) 6576 } 6577 6578 // FilterInputFields generates copy of field paths with output_only field paths removed 6579 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask { 6580 result := &Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask{} 6581 result.Paths = append(result.Paths, fieldMask.Paths...) 6582 return result 6583 } 6584 6585 // ToFieldMask is used for proto conversions 6586 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 6587 protoFieldMask := &googlefieldmaskpb.FieldMask{} 6588 for _, path := range fieldMask.Paths { 6589 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 6590 } 6591 return protoFieldMask 6592 } 6593 6594 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 6595 if fieldMask == nil { 6596 return status.Error(codes.Internal, "target field mask is nil") 6597 } 6598 fieldMask.Paths = make([]DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPath, 0, len(protoFieldMask.Paths)) 6599 for _, strPath := range protoFieldMask.Paths { 6600 path, err := ParseDeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPath(strPath) 6601 if err != nil { 6602 return err 6603 } 6604 fieldMask.Paths = append(fieldMask.Paths, path) 6605 } 6606 return nil 6607 } 6608 6609 // implement methods required by customType 6610 func (fieldMask Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) Marshal() ([]byte, error) { 6611 protoFieldMask := fieldMask.ToProtoFieldMask() 6612 return proto.Marshal(protoFieldMask) 6613 } 6614 6615 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) Unmarshal(data []byte) error { 6616 protoFieldMask := &googlefieldmaskpb.FieldMask{} 6617 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 6618 return err 6619 } 6620 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 6621 return err 6622 } 6623 return nil 6624 } 6625 6626 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) Size() int { 6627 return proto.Size(fieldMask.ToProtoFieldMask()) 6628 } 6629 6630 func (fieldMask Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) MarshalJSON() ([]byte, error) { 6631 return json.Marshal(fieldMask.ToProtoFieldMask()) 6632 } 6633 6634 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) UnmarshalJSON(data []byte) error { 6635 protoFieldMask := &googlefieldmaskpb.FieldMask{} 6636 if err := json.Unmarshal(data, protoFieldMask); err != nil { 6637 return err 6638 } 6639 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 6640 return err 6641 } 6642 return nil 6643 } 6644 6645 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) AppendPath(path DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPath) { 6646 fieldMask.Paths = append(fieldMask.Paths, path) 6647 } 6648 6649 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 6650 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPath)) 6651 } 6652 6653 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) GetPaths() []DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPath { 6654 if fieldMask == nil { 6655 return nil 6656 } 6657 return fieldMask.Paths 6658 } 6659 6660 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) GetRawPaths() []gotenobject.FieldPath { 6661 if fieldMask == nil { 6662 return nil 6663 } 6664 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 6665 for _, path := range fieldMask.Paths { 6666 rawPaths = append(rawPaths, path) 6667 } 6668 return rawPaths 6669 } 6670 6671 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) SetFromCliFlag(raw string) error { 6672 path, err := ParseDeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPath(raw) 6673 if err != nil { 6674 return err 6675 } 6676 fieldMask.Paths = append(fieldMask.Paths, path) 6677 return nil 6678 } 6679 6680 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) Set(target, source *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo) { 6681 for _, path := range fieldMask.Paths { 6682 val, _ := path.GetSingle(source) 6683 // if val is nil, then field does not exist in source, skip 6684 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 6685 if val != nil { 6686 path.WithIValue(val).SetTo(&target) 6687 } 6688 } 6689 } 6690 6691 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 6692 fieldMask.Set(target.(*Device_Status_DeviceInfo_ControlPlaneInterfaceInfo), source.(*Device_Status_DeviceInfo_ControlPlaneInterfaceInfo)) 6693 } 6694 6695 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) Project(source *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo) *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo { 6696 if source == nil { 6697 return nil 6698 } 6699 if fieldMask == nil { 6700 return source 6701 } 6702 result := &Device_Status_DeviceInfo_ControlPlaneInterfaceInfo{} 6703 6704 for _, p := range fieldMask.Paths { 6705 switch tp := p.(type) { 6706 case *DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldTerminalPath: 6707 switch tp.selector { 6708 case DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPathSelectorActiveControlPlaneInterface: 6709 result.ActiveControlPlaneInterface = source.ActiveControlPlaneInterface 6710 case DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPathSelectorUsesProxy: 6711 result.UsesProxy = source.UsesProxy 6712 case DeviceStatusDeviceInfoControlPlaneInterfaceInfo_FieldPathSelectorIsFallback: 6713 result.IsFallback = source.IsFallback 6714 } 6715 } 6716 } 6717 return result 6718 } 6719 6720 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 6721 return fieldMask.Project(source.(*Device_Status_DeviceInfo_ControlPlaneInterfaceInfo)) 6722 } 6723 6724 func (fieldMask *Device_Status_DeviceInfo_ControlPlaneInterfaceInfo_FieldMask) PathsCount() int { 6725 if fieldMask == nil { 6726 return 0 6727 } 6728 return len(fieldMask.Paths) 6729 } 6730 6731 type Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask struct { 6732 Paths []DeviceStatusDeviceInfoHardwareInformationCapability_FieldPath 6733 } 6734 6735 func FullDevice_Status_DeviceInfo_HardwareInformation_Capability_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask { 6736 res := &Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask{} 6737 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCapability_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCapability_FieldPathSelectorName}) 6738 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCapability_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCapability_FieldPathSelectorDescription}) 6739 return res 6740 } 6741 6742 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) String() string { 6743 if fieldMask == nil { 6744 return "<nil>" 6745 } 6746 pathsStr := make([]string, 0, len(fieldMask.Paths)) 6747 for _, path := range fieldMask.Paths { 6748 pathsStr = append(pathsStr, path.String()) 6749 } 6750 return strings.Join(pathsStr, ", ") 6751 } 6752 6753 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) IsFull() bool { 6754 if fieldMask == nil { 6755 return false 6756 } 6757 presentSelectors := make([]bool, 2) 6758 for _, path := range fieldMask.Paths { 6759 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationCapability_FieldTerminalPath); ok { 6760 presentSelectors[int(asFinal.selector)] = true 6761 } 6762 } 6763 for _, flag := range presentSelectors { 6764 if !flag { 6765 return false 6766 } 6767 } 6768 return true 6769 } 6770 6771 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) ProtoReflect() preflect.Message { 6772 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 6773 return ParseDeviceStatusDeviceInfoHardwareInformationCapability_FieldPath(raw) 6774 }) 6775 } 6776 6777 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) ProtoMessage() {} 6778 6779 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) Reset() { 6780 if fieldMask != nil { 6781 fieldMask.Paths = nil 6782 } 6783 } 6784 6785 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask { 6786 result := &Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask{} 6787 removedSelectors := make([]bool, 2) 6788 6789 for _, path := range other.GetPaths() { 6790 switch tp := path.(type) { 6791 case *DeviceStatusDeviceInfoHardwareInformationCapability_FieldTerminalPath: 6792 removedSelectors[int(tp.selector)] = true 6793 } 6794 } 6795 for _, path := range fieldMask.GetPaths() { 6796 if !removedSelectors[int(path.Selector())] { 6797 result.Paths = append(result.Paths, path) 6798 } 6799 } 6800 6801 if len(result.Paths) == 0 { 6802 return nil 6803 } 6804 return result 6805 } 6806 6807 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 6808 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask)) 6809 } 6810 6811 // FilterInputFields generates copy of field paths with output_only field paths removed 6812 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask { 6813 result := &Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask{} 6814 result.Paths = append(result.Paths, fieldMask.Paths...) 6815 return result 6816 } 6817 6818 // ToFieldMask is used for proto conversions 6819 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 6820 protoFieldMask := &googlefieldmaskpb.FieldMask{} 6821 for _, path := range fieldMask.Paths { 6822 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 6823 } 6824 return protoFieldMask 6825 } 6826 6827 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 6828 if fieldMask == nil { 6829 return status.Error(codes.Internal, "target field mask is nil") 6830 } 6831 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationCapability_FieldPath, 0, len(protoFieldMask.Paths)) 6832 for _, strPath := range protoFieldMask.Paths { 6833 path, err := ParseDeviceStatusDeviceInfoHardwareInformationCapability_FieldPath(strPath) 6834 if err != nil { 6835 return err 6836 } 6837 fieldMask.Paths = append(fieldMask.Paths, path) 6838 } 6839 return nil 6840 } 6841 6842 // implement methods required by customType 6843 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) Marshal() ([]byte, error) { 6844 protoFieldMask := fieldMask.ToProtoFieldMask() 6845 return proto.Marshal(protoFieldMask) 6846 } 6847 6848 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) Unmarshal(data []byte) error { 6849 protoFieldMask := &googlefieldmaskpb.FieldMask{} 6850 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 6851 return err 6852 } 6853 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 6854 return err 6855 } 6856 return nil 6857 } 6858 6859 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) Size() int { 6860 return proto.Size(fieldMask.ToProtoFieldMask()) 6861 } 6862 6863 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) MarshalJSON() ([]byte, error) { 6864 return json.Marshal(fieldMask.ToProtoFieldMask()) 6865 } 6866 6867 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) UnmarshalJSON(data []byte) error { 6868 protoFieldMask := &googlefieldmaskpb.FieldMask{} 6869 if err := json.Unmarshal(data, protoFieldMask); err != nil { 6870 return err 6871 } 6872 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 6873 return err 6874 } 6875 return nil 6876 } 6877 6878 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationCapability_FieldPath) { 6879 fieldMask.Paths = append(fieldMask.Paths, path) 6880 } 6881 6882 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 6883 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationCapability_FieldPath)) 6884 } 6885 6886 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationCapability_FieldPath { 6887 if fieldMask == nil { 6888 return nil 6889 } 6890 return fieldMask.Paths 6891 } 6892 6893 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) GetRawPaths() []gotenobject.FieldPath { 6894 if fieldMask == nil { 6895 return nil 6896 } 6897 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 6898 for _, path := range fieldMask.Paths { 6899 rawPaths = append(rawPaths, path) 6900 } 6901 return rawPaths 6902 } 6903 6904 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) SetFromCliFlag(raw string) error { 6905 path, err := ParseDeviceStatusDeviceInfoHardwareInformationCapability_FieldPath(raw) 6906 if err != nil { 6907 return err 6908 } 6909 fieldMask.Paths = append(fieldMask.Paths, path) 6910 return nil 6911 } 6912 6913 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_Capability) { 6914 for _, path := range fieldMask.Paths { 6915 val, _ := path.GetSingle(source) 6916 // if val is nil, then field does not exist in source, skip 6917 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 6918 if val != nil { 6919 path.WithIValue(val).SetTo(&target) 6920 } 6921 } 6922 } 6923 6924 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 6925 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_Capability), source.(*Device_Status_DeviceInfo_HardwareInformation_Capability)) 6926 } 6927 6928 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_Capability) *Device_Status_DeviceInfo_HardwareInformation_Capability { 6929 if source == nil { 6930 return nil 6931 } 6932 if fieldMask == nil { 6933 return source 6934 } 6935 result := &Device_Status_DeviceInfo_HardwareInformation_Capability{} 6936 6937 for _, p := range fieldMask.Paths { 6938 switch tp := p.(type) { 6939 case *DeviceStatusDeviceInfoHardwareInformationCapability_FieldTerminalPath: 6940 switch tp.selector { 6941 case DeviceStatusDeviceInfoHardwareInformationCapability_FieldPathSelectorName: 6942 result.Name = source.Name 6943 case DeviceStatusDeviceInfoHardwareInformationCapability_FieldPathSelectorDescription: 6944 result.Description = source.Description 6945 } 6946 } 6947 } 6948 return result 6949 } 6950 6951 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 6952 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_Capability)) 6953 } 6954 6955 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask) PathsCount() int { 6956 if fieldMask == nil { 6957 return 0 6958 } 6959 return len(fieldMask.Paths) 6960 } 6961 6962 type Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask struct { 6963 Paths []DeviceStatusDeviceInfoHardwareInformationOS_FieldPath 6964 } 6965 6966 func FullDevice_Status_DeviceInfo_HardwareInformation_OS_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask { 6967 res := &Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask{} 6968 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationOS_FieldPathSelectorOperatingSystem}) 6969 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationOS_FieldPathSelectorKernelVersion}) 6970 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationOS_FieldPathSelectorOsImage}) 6971 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationOS_FieldPathSelectorContainerRuntimeVersion}) 6972 return res 6973 } 6974 6975 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) String() string { 6976 if fieldMask == nil { 6977 return "<nil>" 6978 } 6979 pathsStr := make([]string, 0, len(fieldMask.Paths)) 6980 for _, path := range fieldMask.Paths { 6981 pathsStr = append(pathsStr, path.String()) 6982 } 6983 return strings.Join(pathsStr, ", ") 6984 } 6985 6986 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) IsFull() bool { 6987 if fieldMask == nil { 6988 return false 6989 } 6990 presentSelectors := make([]bool, 4) 6991 for _, path := range fieldMask.Paths { 6992 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationOS_FieldTerminalPath); ok { 6993 presentSelectors[int(asFinal.selector)] = true 6994 } 6995 } 6996 for _, flag := range presentSelectors { 6997 if !flag { 6998 return false 6999 } 7000 } 7001 return true 7002 } 7003 7004 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) ProtoReflect() preflect.Message { 7005 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 7006 return ParseDeviceStatusDeviceInfoHardwareInformationOS_FieldPath(raw) 7007 }) 7008 } 7009 7010 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) ProtoMessage() {} 7011 7012 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) Reset() { 7013 if fieldMask != nil { 7014 fieldMask.Paths = nil 7015 } 7016 } 7017 7018 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask { 7019 result := &Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask{} 7020 removedSelectors := make([]bool, 4) 7021 7022 for _, path := range other.GetPaths() { 7023 switch tp := path.(type) { 7024 case *DeviceStatusDeviceInfoHardwareInformationOS_FieldTerminalPath: 7025 removedSelectors[int(tp.selector)] = true 7026 } 7027 } 7028 for _, path := range fieldMask.GetPaths() { 7029 if !removedSelectors[int(path.Selector())] { 7030 result.Paths = append(result.Paths, path) 7031 } 7032 } 7033 7034 if len(result.Paths) == 0 { 7035 return nil 7036 } 7037 return result 7038 } 7039 7040 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 7041 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask)) 7042 } 7043 7044 // FilterInputFields generates copy of field paths with output_only field paths removed 7045 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask { 7046 result := &Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask{} 7047 result.Paths = append(result.Paths, fieldMask.Paths...) 7048 return result 7049 } 7050 7051 // ToFieldMask is used for proto conversions 7052 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 7053 protoFieldMask := &googlefieldmaskpb.FieldMask{} 7054 for _, path := range fieldMask.Paths { 7055 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 7056 } 7057 return protoFieldMask 7058 } 7059 7060 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 7061 if fieldMask == nil { 7062 return status.Error(codes.Internal, "target field mask is nil") 7063 } 7064 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationOS_FieldPath, 0, len(protoFieldMask.Paths)) 7065 for _, strPath := range protoFieldMask.Paths { 7066 path, err := ParseDeviceStatusDeviceInfoHardwareInformationOS_FieldPath(strPath) 7067 if err != nil { 7068 return err 7069 } 7070 fieldMask.Paths = append(fieldMask.Paths, path) 7071 } 7072 return nil 7073 } 7074 7075 // implement methods required by customType 7076 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) Marshal() ([]byte, error) { 7077 protoFieldMask := fieldMask.ToProtoFieldMask() 7078 return proto.Marshal(protoFieldMask) 7079 } 7080 7081 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) Unmarshal(data []byte) error { 7082 protoFieldMask := &googlefieldmaskpb.FieldMask{} 7083 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 7084 return err 7085 } 7086 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 7087 return err 7088 } 7089 return nil 7090 } 7091 7092 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) Size() int { 7093 return proto.Size(fieldMask.ToProtoFieldMask()) 7094 } 7095 7096 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) MarshalJSON() ([]byte, error) { 7097 return json.Marshal(fieldMask.ToProtoFieldMask()) 7098 } 7099 7100 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) UnmarshalJSON(data []byte) error { 7101 protoFieldMask := &googlefieldmaskpb.FieldMask{} 7102 if err := json.Unmarshal(data, protoFieldMask); err != nil { 7103 return err 7104 } 7105 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 7106 return err 7107 } 7108 return nil 7109 } 7110 7111 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationOS_FieldPath) { 7112 fieldMask.Paths = append(fieldMask.Paths, path) 7113 } 7114 7115 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 7116 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationOS_FieldPath)) 7117 } 7118 7119 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationOS_FieldPath { 7120 if fieldMask == nil { 7121 return nil 7122 } 7123 return fieldMask.Paths 7124 } 7125 7126 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) GetRawPaths() []gotenobject.FieldPath { 7127 if fieldMask == nil { 7128 return nil 7129 } 7130 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 7131 for _, path := range fieldMask.Paths { 7132 rawPaths = append(rawPaths, path) 7133 } 7134 return rawPaths 7135 } 7136 7137 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) SetFromCliFlag(raw string) error { 7138 path, err := ParseDeviceStatusDeviceInfoHardwareInformationOS_FieldPath(raw) 7139 if err != nil { 7140 return err 7141 } 7142 fieldMask.Paths = append(fieldMask.Paths, path) 7143 return nil 7144 } 7145 7146 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_OS) { 7147 for _, path := range fieldMask.Paths { 7148 val, _ := path.GetSingle(source) 7149 // if val is nil, then field does not exist in source, skip 7150 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 7151 if val != nil { 7152 path.WithIValue(val).SetTo(&target) 7153 } 7154 } 7155 } 7156 7157 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 7158 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_OS), source.(*Device_Status_DeviceInfo_HardwareInformation_OS)) 7159 } 7160 7161 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_OS) *Device_Status_DeviceInfo_HardwareInformation_OS { 7162 if source == nil { 7163 return nil 7164 } 7165 if fieldMask == nil { 7166 return source 7167 } 7168 result := &Device_Status_DeviceInfo_HardwareInformation_OS{} 7169 7170 for _, p := range fieldMask.Paths { 7171 switch tp := p.(type) { 7172 case *DeviceStatusDeviceInfoHardwareInformationOS_FieldTerminalPath: 7173 switch tp.selector { 7174 case DeviceStatusDeviceInfoHardwareInformationOS_FieldPathSelectorOperatingSystem: 7175 result.OperatingSystem = source.OperatingSystem 7176 case DeviceStatusDeviceInfoHardwareInformationOS_FieldPathSelectorKernelVersion: 7177 result.KernelVersion = source.KernelVersion 7178 case DeviceStatusDeviceInfoHardwareInformationOS_FieldPathSelectorOsImage: 7179 result.OsImage = source.OsImage 7180 case DeviceStatusDeviceInfoHardwareInformationOS_FieldPathSelectorContainerRuntimeVersion: 7181 result.ContainerRuntimeVersion = source.ContainerRuntimeVersion 7182 } 7183 } 7184 } 7185 return result 7186 } 7187 7188 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 7189 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_OS)) 7190 } 7191 7192 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_OS_FieldMask) PathsCount() int { 7193 if fieldMask == nil { 7194 return 0 7195 } 7196 return len(fieldMask.Paths) 7197 } 7198 7199 type Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask struct { 7200 Paths []DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPath 7201 } 7202 7203 func FullDevice_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask { 7204 res := &Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask{} 7205 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBIOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPathSelectorVendor}) 7206 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBIOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPathSelectorBiosVersion}) 7207 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBIOS_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPathSelectorReleaseDate}) 7208 return res 7209 } 7210 7211 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) String() string { 7212 if fieldMask == nil { 7213 return "<nil>" 7214 } 7215 pathsStr := make([]string, 0, len(fieldMask.Paths)) 7216 for _, path := range fieldMask.Paths { 7217 pathsStr = append(pathsStr, path.String()) 7218 } 7219 return strings.Join(pathsStr, ", ") 7220 } 7221 7222 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) IsFull() bool { 7223 if fieldMask == nil { 7224 return false 7225 } 7226 presentSelectors := make([]bool, 3) 7227 for _, path := range fieldMask.Paths { 7228 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationBIOS_FieldTerminalPath); ok { 7229 presentSelectors[int(asFinal.selector)] = true 7230 } 7231 } 7232 for _, flag := range presentSelectors { 7233 if !flag { 7234 return false 7235 } 7236 } 7237 return true 7238 } 7239 7240 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) ProtoReflect() preflect.Message { 7241 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 7242 return ParseDeviceStatusDeviceInfoHardwareInformationBIOS_FieldPath(raw) 7243 }) 7244 } 7245 7246 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) ProtoMessage() {} 7247 7248 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) Reset() { 7249 if fieldMask != nil { 7250 fieldMask.Paths = nil 7251 } 7252 } 7253 7254 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask { 7255 result := &Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask{} 7256 removedSelectors := make([]bool, 3) 7257 7258 for _, path := range other.GetPaths() { 7259 switch tp := path.(type) { 7260 case *DeviceStatusDeviceInfoHardwareInformationBIOS_FieldTerminalPath: 7261 removedSelectors[int(tp.selector)] = true 7262 } 7263 } 7264 for _, path := range fieldMask.GetPaths() { 7265 if !removedSelectors[int(path.Selector())] { 7266 result.Paths = append(result.Paths, path) 7267 } 7268 } 7269 7270 if len(result.Paths) == 0 { 7271 return nil 7272 } 7273 return result 7274 } 7275 7276 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 7277 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask)) 7278 } 7279 7280 // FilterInputFields generates copy of field paths with output_only field paths removed 7281 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask { 7282 result := &Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask{} 7283 result.Paths = append(result.Paths, fieldMask.Paths...) 7284 return result 7285 } 7286 7287 // ToFieldMask is used for proto conversions 7288 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 7289 protoFieldMask := &googlefieldmaskpb.FieldMask{} 7290 for _, path := range fieldMask.Paths { 7291 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 7292 } 7293 return protoFieldMask 7294 } 7295 7296 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 7297 if fieldMask == nil { 7298 return status.Error(codes.Internal, "target field mask is nil") 7299 } 7300 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPath, 0, len(protoFieldMask.Paths)) 7301 for _, strPath := range protoFieldMask.Paths { 7302 path, err := ParseDeviceStatusDeviceInfoHardwareInformationBIOS_FieldPath(strPath) 7303 if err != nil { 7304 return err 7305 } 7306 fieldMask.Paths = append(fieldMask.Paths, path) 7307 } 7308 return nil 7309 } 7310 7311 // implement methods required by customType 7312 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) Marshal() ([]byte, error) { 7313 protoFieldMask := fieldMask.ToProtoFieldMask() 7314 return proto.Marshal(protoFieldMask) 7315 } 7316 7317 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) Unmarshal(data []byte) error { 7318 protoFieldMask := &googlefieldmaskpb.FieldMask{} 7319 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 7320 return err 7321 } 7322 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 7323 return err 7324 } 7325 return nil 7326 } 7327 7328 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) Size() int { 7329 return proto.Size(fieldMask.ToProtoFieldMask()) 7330 } 7331 7332 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) MarshalJSON() ([]byte, error) { 7333 return json.Marshal(fieldMask.ToProtoFieldMask()) 7334 } 7335 7336 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) UnmarshalJSON(data []byte) error { 7337 protoFieldMask := &googlefieldmaskpb.FieldMask{} 7338 if err := json.Unmarshal(data, protoFieldMask); err != nil { 7339 return err 7340 } 7341 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 7342 return err 7343 } 7344 return nil 7345 } 7346 7347 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPath) { 7348 fieldMask.Paths = append(fieldMask.Paths, path) 7349 } 7350 7351 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 7352 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPath)) 7353 } 7354 7355 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPath { 7356 if fieldMask == nil { 7357 return nil 7358 } 7359 return fieldMask.Paths 7360 } 7361 7362 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) GetRawPaths() []gotenobject.FieldPath { 7363 if fieldMask == nil { 7364 return nil 7365 } 7366 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 7367 for _, path := range fieldMask.Paths { 7368 rawPaths = append(rawPaths, path) 7369 } 7370 return rawPaths 7371 } 7372 7373 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) SetFromCliFlag(raw string) error { 7374 path, err := ParseDeviceStatusDeviceInfoHardwareInformationBIOS_FieldPath(raw) 7375 if err != nil { 7376 return err 7377 } 7378 fieldMask.Paths = append(fieldMask.Paths, path) 7379 return nil 7380 } 7381 7382 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_BIOS) { 7383 for _, path := range fieldMask.Paths { 7384 val, _ := path.GetSingle(source) 7385 // if val is nil, then field does not exist in source, skip 7386 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 7387 if val != nil { 7388 path.WithIValue(val).SetTo(&target) 7389 } 7390 } 7391 } 7392 7393 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 7394 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_BIOS), source.(*Device_Status_DeviceInfo_HardwareInformation_BIOS)) 7395 } 7396 7397 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_BIOS) *Device_Status_DeviceInfo_HardwareInformation_BIOS { 7398 if source == nil { 7399 return nil 7400 } 7401 if fieldMask == nil { 7402 return source 7403 } 7404 result := &Device_Status_DeviceInfo_HardwareInformation_BIOS{} 7405 7406 for _, p := range fieldMask.Paths { 7407 switch tp := p.(type) { 7408 case *DeviceStatusDeviceInfoHardwareInformationBIOS_FieldTerminalPath: 7409 switch tp.selector { 7410 case DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPathSelectorVendor: 7411 result.Vendor = source.Vendor 7412 case DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPathSelectorBiosVersion: 7413 result.BiosVersion = source.BiosVersion 7414 case DeviceStatusDeviceInfoHardwareInformationBIOS_FieldPathSelectorReleaseDate: 7415 result.ReleaseDate = source.ReleaseDate 7416 } 7417 } 7418 } 7419 return result 7420 } 7421 7422 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 7423 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_BIOS)) 7424 } 7425 7426 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_BIOS_FieldMask) PathsCount() int { 7427 if fieldMask == nil { 7428 return 0 7429 } 7430 return len(fieldMask.Paths) 7431 } 7432 7433 type Device_Status_DeviceInfo_HardwareInformation_System_FieldMask struct { 7434 Paths []DeviceStatusDeviceInfoHardwareInformationSystem_FieldPath 7435 } 7436 7437 func FullDevice_Status_DeviceInfo_HardwareInformation_System_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask { 7438 res := &Device_Status_DeviceInfo_HardwareInformation_System_FieldMask{} 7439 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorManufacturer}) 7440 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorProductName}) 7441 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorVersion}) 7442 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorSerialNumber}) 7443 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorConfiguration}) 7444 return res 7445 } 7446 7447 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) String() string { 7448 if fieldMask == nil { 7449 return "<nil>" 7450 } 7451 pathsStr := make([]string, 0, len(fieldMask.Paths)) 7452 for _, path := range fieldMask.Paths { 7453 pathsStr = append(pathsStr, path.String()) 7454 } 7455 return strings.Join(pathsStr, ", ") 7456 } 7457 7458 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) IsFull() bool { 7459 if fieldMask == nil { 7460 return false 7461 } 7462 presentSelectors := make([]bool, 5) 7463 for _, path := range fieldMask.Paths { 7464 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath); ok { 7465 presentSelectors[int(asFinal.selector)] = true 7466 } 7467 } 7468 for _, flag := range presentSelectors { 7469 if !flag { 7470 return false 7471 } 7472 } 7473 return true 7474 } 7475 7476 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) ProtoReflect() preflect.Message { 7477 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 7478 return ParseDeviceStatusDeviceInfoHardwareInformationSystem_FieldPath(raw) 7479 }) 7480 } 7481 7482 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) ProtoMessage() {} 7483 7484 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) Reset() { 7485 if fieldMask != nil { 7486 fieldMask.Paths = nil 7487 } 7488 } 7489 7490 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask { 7491 result := &Device_Status_DeviceInfo_HardwareInformation_System_FieldMask{} 7492 removedSelectors := make([]bool, 5) 7493 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelector]gotenobject.FieldMask{ 7494 DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorConfiguration: &Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask{}, 7495 } 7496 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelector]gotenobject.FieldMask{ 7497 DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorConfiguration: &Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask{}, 7498 } 7499 7500 for _, path := range other.GetPaths() { 7501 switch tp := path.(type) { 7502 case *DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath: 7503 removedSelectors[int(tp.selector)] = true 7504 case *DeviceStatusDeviceInfoHardwareInformationSystem_FieldSubPath: 7505 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 7506 } 7507 } 7508 for _, path := range fieldMask.GetPaths() { 7509 if !removedSelectors[int(path.Selector())] { 7510 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 7511 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath); ok { 7512 switch tp.selector { 7513 case DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorConfiguration: 7514 mySubMasks[DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorConfiguration] = FullDevice_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask() 7515 } 7516 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationSystem_FieldSubPath); ok { 7517 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 7518 } 7519 } else { 7520 result.Paths = append(result.Paths, path) 7521 } 7522 } 7523 } 7524 for selector, mySubMask := range mySubMasks { 7525 if mySubMask.PathsCount() > 0 { 7526 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 7527 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationSystem_FieldSubPath{selector: selector, subPath: allowedPath}) 7528 } 7529 } 7530 } 7531 7532 if len(result.Paths) == 0 { 7533 return nil 7534 } 7535 return result 7536 } 7537 7538 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 7539 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_System_FieldMask)) 7540 } 7541 7542 // FilterInputFields generates copy of field paths with output_only field paths removed 7543 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask { 7544 result := &Device_Status_DeviceInfo_HardwareInformation_System_FieldMask{} 7545 result.Paths = append(result.Paths, fieldMask.Paths...) 7546 return result 7547 } 7548 7549 // ToFieldMask is used for proto conversions 7550 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 7551 protoFieldMask := &googlefieldmaskpb.FieldMask{} 7552 for _, path := range fieldMask.Paths { 7553 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 7554 } 7555 return protoFieldMask 7556 } 7557 7558 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 7559 if fieldMask == nil { 7560 return status.Error(codes.Internal, "target field mask is nil") 7561 } 7562 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationSystem_FieldPath, 0, len(protoFieldMask.Paths)) 7563 for _, strPath := range protoFieldMask.Paths { 7564 path, err := ParseDeviceStatusDeviceInfoHardwareInformationSystem_FieldPath(strPath) 7565 if err != nil { 7566 return err 7567 } 7568 fieldMask.Paths = append(fieldMask.Paths, path) 7569 } 7570 return nil 7571 } 7572 7573 // implement methods required by customType 7574 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) Marshal() ([]byte, error) { 7575 protoFieldMask := fieldMask.ToProtoFieldMask() 7576 return proto.Marshal(protoFieldMask) 7577 } 7578 7579 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) Unmarshal(data []byte) error { 7580 protoFieldMask := &googlefieldmaskpb.FieldMask{} 7581 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 7582 return err 7583 } 7584 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 7585 return err 7586 } 7587 return nil 7588 } 7589 7590 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) Size() int { 7591 return proto.Size(fieldMask.ToProtoFieldMask()) 7592 } 7593 7594 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) MarshalJSON() ([]byte, error) { 7595 return json.Marshal(fieldMask.ToProtoFieldMask()) 7596 } 7597 7598 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) UnmarshalJSON(data []byte) error { 7599 protoFieldMask := &googlefieldmaskpb.FieldMask{} 7600 if err := json.Unmarshal(data, protoFieldMask); err != nil { 7601 return err 7602 } 7603 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 7604 return err 7605 } 7606 return nil 7607 } 7608 7609 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationSystem_FieldPath) { 7610 fieldMask.Paths = append(fieldMask.Paths, path) 7611 } 7612 7613 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 7614 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationSystem_FieldPath)) 7615 } 7616 7617 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationSystem_FieldPath { 7618 if fieldMask == nil { 7619 return nil 7620 } 7621 return fieldMask.Paths 7622 } 7623 7624 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) GetRawPaths() []gotenobject.FieldPath { 7625 if fieldMask == nil { 7626 return nil 7627 } 7628 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 7629 for _, path := range fieldMask.Paths { 7630 rawPaths = append(rawPaths, path) 7631 } 7632 return rawPaths 7633 } 7634 7635 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) SetFromCliFlag(raw string) error { 7636 path, err := ParseDeviceStatusDeviceInfoHardwareInformationSystem_FieldPath(raw) 7637 if err != nil { 7638 return err 7639 } 7640 fieldMask.Paths = append(fieldMask.Paths, path) 7641 return nil 7642 } 7643 7644 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_System) { 7645 for _, path := range fieldMask.Paths { 7646 val, _ := path.GetSingle(source) 7647 // if val is nil, then field does not exist in source, skip 7648 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 7649 if val != nil { 7650 path.WithIValue(val).SetTo(&target) 7651 } 7652 } 7653 } 7654 7655 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 7656 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_System), source.(*Device_Status_DeviceInfo_HardwareInformation_System)) 7657 } 7658 7659 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_System) *Device_Status_DeviceInfo_HardwareInformation_System { 7660 if source == nil { 7661 return nil 7662 } 7663 if fieldMask == nil { 7664 return source 7665 } 7666 result := &Device_Status_DeviceInfo_HardwareInformation_System{} 7667 configurationMask := &Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask{} 7668 wholeConfigurationAccepted := false 7669 7670 for _, p := range fieldMask.Paths { 7671 switch tp := p.(type) { 7672 case *DeviceStatusDeviceInfoHardwareInformationSystem_FieldTerminalPath: 7673 switch tp.selector { 7674 case DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorManufacturer: 7675 result.Manufacturer = source.Manufacturer 7676 case DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorProductName: 7677 result.ProductName = source.ProductName 7678 case DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorVersion: 7679 result.Version = source.Version 7680 case DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorSerialNumber: 7681 result.SerialNumber = source.SerialNumber 7682 case DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorConfiguration: 7683 result.Configuration = source.Configuration 7684 wholeConfigurationAccepted = true 7685 } 7686 case *DeviceStatusDeviceInfoHardwareInformationSystem_FieldSubPath: 7687 switch tp.selector { 7688 case DeviceStatusDeviceInfoHardwareInformationSystem_FieldPathSelectorConfiguration: 7689 configurationMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPath)) 7690 } 7691 } 7692 } 7693 if wholeConfigurationAccepted == false && len(configurationMask.Paths) > 0 { 7694 result.Configuration = configurationMask.Project(source.GetConfiguration()) 7695 } 7696 return result 7697 } 7698 7699 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 7700 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_System)) 7701 } 7702 7703 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_FieldMask) PathsCount() int { 7704 if fieldMask == nil { 7705 return 0 7706 } 7707 return len(fieldMask.Paths) 7708 } 7709 7710 type Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask struct { 7711 Paths []DeviceStatusDeviceInfoHardwareInformationCPU_FieldPath 7712 } 7713 7714 func FullDevice_Status_DeviceInfo_HardwareInformation_CPU_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask { 7715 res := &Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask{} 7716 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPU_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPU_FieldPathSelectorProcessors}) 7717 return res 7718 } 7719 7720 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) String() string { 7721 if fieldMask == nil { 7722 return "<nil>" 7723 } 7724 pathsStr := make([]string, 0, len(fieldMask.Paths)) 7725 for _, path := range fieldMask.Paths { 7726 pathsStr = append(pathsStr, path.String()) 7727 } 7728 return strings.Join(pathsStr, ", ") 7729 } 7730 7731 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) IsFull() bool { 7732 if fieldMask == nil { 7733 return false 7734 } 7735 presentSelectors := make([]bool, 1) 7736 for _, path := range fieldMask.Paths { 7737 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationCPU_FieldTerminalPath); ok { 7738 presentSelectors[int(asFinal.selector)] = true 7739 } 7740 } 7741 for _, flag := range presentSelectors { 7742 if !flag { 7743 return false 7744 } 7745 } 7746 return true 7747 } 7748 7749 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) ProtoReflect() preflect.Message { 7750 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 7751 return ParseDeviceStatusDeviceInfoHardwareInformationCPU_FieldPath(raw) 7752 }) 7753 } 7754 7755 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) ProtoMessage() {} 7756 7757 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) Reset() { 7758 if fieldMask != nil { 7759 fieldMask.Paths = nil 7760 } 7761 } 7762 7763 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask { 7764 result := &Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask{} 7765 removedSelectors := make([]bool, 1) 7766 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationCPU_FieldPathSelector]gotenobject.FieldMask{ 7767 DeviceStatusDeviceInfoHardwareInformationCPU_FieldPathSelectorProcessors: &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask{}, 7768 } 7769 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationCPU_FieldPathSelector]gotenobject.FieldMask{ 7770 DeviceStatusDeviceInfoHardwareInformationCPU_FieldPathSelectorProcessors: &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask{}, 7771 } 7772 7773 for _, path := range other.GetPaths() { 7774 switch tp := path.(type) { 7775 case *DeviceStatusDeviceInfoHardwareInformationCPU_FieldTerminalPath: 7776 removedSelectors[int(tp.selector)] = true 7777 case *DeviceStatusDeviceInfoHardwareInformationCPU_FieldSubPath: 7778 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 7779 } 7780 } 7781 for _, path := range fieldMask.GetPaths() { 7782 if !removedSelectors[int(path.Selector())] { 7783 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 7784 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationCPU_FieldTerminalPath); ok { 7785 switch tp.selector { 7786 case DeviceStatusDeviceInfoHardwareInformationCPU_FieldPathSelectorProcessors: 7787 mySubMasks[DeviceStatusDeviceInfoHardwareInformationCPU_FieldPathSelectorProcessors] = FullDevice_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask() 7788 } 7789 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationCPU_FieldSubPath); ok { 7790 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 7791 } 7792 } else { 7793 result.Paths = append(result.Paths, path) 7794 } 7795 } 7796 } 7797 for selector, mySubMask := range mySubMasks { 7798 if mySubMask.PathsCount() > 0 { 7799 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 7800 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationCPU_FieldSubPath{selector: selector, subPath: allowedPath}) 7801 } 7802 } 7803 } 7804 7805 if len(result.Paths) == 0 { 7806 return nil 7807 } 7808 return result 7809 } 7810 7811 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 7812 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask)) 7813 } 7814 7815 // FilterInputFields generates copy of field paths with output_only field paths removed 7816 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask { 7817 result := &Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask{} 7818 result.Paths = append(result.Paths, fieldMask.Paths...) 7819 return result 7820 } 7821 7822 // ToFieldMask is used for proto conversions 7823 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 7824 protoFieldMask := &googlefieldmaskpb.FieldMask{} 7825 for _, path := range fieldMask.Paths { 7826 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 7827 } 7828 return protoFieldMask 7829 } 7830 7831 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 7832 if fieldMask == nil { 7833 return status.Error(codes.Internal, "target field mask is nil") 7834 } 7835 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationCPU_FieldPath, 0, len(protoFieldMask.Paths)) 7836 for _, strPath := range protoFieldMask.Paths { 7837 path, err := ParseDeviceStatusDeviceInfoHardwareInformationCPU_FieldPath(strPath) 7838 if err != nil { 7839 return err 7840 } 7841 fieldMask.Paths = append(fieldMask.Paths, path) 7842 } 7843 return nil 7844 } 7845 7846 // implement methods required by customType 7847 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) Marshal() ([]byte, error) { 7848 protoFieldMask := fieldMask.ToProtoFieldMask() 7849 return proto.Marshal(protoFieldMask) 7850 } 7851 7852 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) Unmarshal(data []byte) error { 7853 protoFieldMask := &googlefieldmaskpb.FieldMask{} 7854 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 7855 return err 7856 } 7857 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 7858 return err 7859 } 7860 return nil 7861 } 7862 7863 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) Size() int { 7864 return proto.Size(fieldMask.ToProtoFieldMask()) 7865 } 7866 7867 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) MarshalJSON() ([]byte, error) { 7868 return json.Marshal(fieldMask.ToProtoFieldMask()) 7869 } 7870 7871 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) UnmarshalJSON(data []byte) error { 7872 protoFieldMask := &googlefieldmaskpb.FieldMask{} 7873 if err := json.Unmarshal(data, protoFieldMask); err != nil { 7874 return err 7875 } 7876 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 7877 return err 7878 } 7879 return nil 7880 } 7881 7882 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationCPU_FieldPath) { 7883 fieldMask.Paths = append(fieldMask.Paths, path) 7884 } 7885 7886 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 7887 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationCPU_FieldPath)) 7888 } 7889 7890 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationCPU_FieldPath { 7891 if fieldMask == nil { 7892 return nil 7893 } 7894 return fieldMask.Paths 7895 } 7896 7897 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) GetRawPaths() []gotenobject.FieldPath { 7898 if fieldMask == nil { 7899 return nil 7900 } 7901 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 7902 for _, path := range fieldMask.Paths { 7903 rawPaths = append(rawPaths, path) 7904 } 7905 return rawPaths 7906 } 7907 7908 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) SetFromCliFlag(raw string) error { 7909 path, err := ParseDeviceStatusDeviceInfoHardwareInformationCPU_FieldPath(raw) 7910 if err != nil { 7911 return err 7912 } 7913 fieldMask.Paths = append(fieldMask.Paths, path) 7914 return nil 7915 } 7916 7917 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_CPU) { 7918 for _, path := range fieldMask.Paths { 7919 val, _ := path.GetSingle(source) 7920 // if val is nil, then field does not exist in source, skip 7921 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 7922 if val != nil { 7923 path.WithIValue(val).SetTo(&target) 7924 } 7925 } 7926 } 7927 7928 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 7929 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_CPU), source.(*Device_Status_DeviceInfo_HardwareInformation_CPU)) 7930 } 7931 7932 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_CPU) *Device_Status_DeviceInfo_HardwareInformation_CPU { 7933 if source == nil { 7934 return nil 7935 } 7936 if fieldMask == nil { 7937 return source 7938 } 7939 result := &Device_Status_DeviceInfo_HardwareInformation_CPU{} 7940 processorsMask := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask{} 7941 wholeProcessorsAccepted := false 7942 7943 for _, p := range fieldMask.Paths { 7944 switch tp := p.(type) { 7945 case *DeviceStatusDeviceInfoHardwareInformationCPU_FieldTerminalPath: 7946 switch tp.selector { 7947 case DeviceStatusDeviceInfoHardwareInformationCPU_FieldPathSelectorProcessors: 7948 result.Processors = source.Processors 7949 wholeProcessorsAccepted = true 7950 } 7951 case *DeviceStatusDeviceInfoHardwareInformationCPU_FieldSubPath: 7952 switch tp.selector { 7953 case DeviceStatusDeviceInfoHardwareInformationCPU_FieldPathSelectorProcessors: 7954 processorsMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPath)) 7955 } 7956 } 7957 } 7958 if wholeProcessorsAccepted == false && len(processorsMask.Paths) > 0 { 7959 for _, sourceItem := range source.GetProcessors() { 7960 result.Processors = append(result.Processors, processorsMask.Project(sourceItem)) 7961 } 7962 } 7963 return result 7964 } 7965 7966 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 7967 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_CPU)) 7968 } 7969 7970 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_FieldMask) PathsCount() int { 7971 if fieldMask == nil { 7972 return 0 7973 } 7974 return len(fieldMask.Paths) 7975 } 7976 7977 type Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask struct { 7978 Paths []DeviceStatusDeviceInfoHardwareInformationBlock_FieldPath 7979 } 7980 7981 func FullDevice_Status_DeviceInfo_HardwareInformation_Block_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask { 7982 res := &Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask{} 7983 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlock_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlock_FieldPathSelectorDisks}) 7984 return res 7985 } 7986 7987 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) String() string { 7988 if fieldMask == nil { 7989 return "<nil>" 7990 } 7991 pathsStr := make([]string, 0, len(fieldMask.Paths)) 7992 for _, path := range fieldMask.Paths { 7993 pathsStr = append(pathsStr, path.String()) 7994 } 7995 return strings.Join(pathsStr, ", ") 7996 } 7997 7998 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) IsFull() bool { 7999 if fieldMask == nil { 8000 return false 8001 } 8002 presentSelectors := make([]bool, 1) 8003 for _, path := range fieldMask.Paths { 8004 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationBlock_FieldTerminalPath); ok { 8005 presentSelectors[int(asFinal.selector)] = true 8006 } 8007 } 8008 for _, flag := range presentSelectors { 8009 if !flag { 8010 return false 8011 } 8012 } 8013 return true 8014 } 8015 8016 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) ProtoReflect() preflect.Message { 8017 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 8018 return ParseDeviceStatusDeviceInfoHardwareInformationBlock_FieldPath(raw) 8019 }) 8020 } 8021 8022 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) ProtoMessage() {} 8023 8024 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) Reset() { 8025 if fieldMask != nil { 8026 fieldMask.Paths = nil 8027 } 8028 } 8029 8030 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask { 8031 result := &Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask{} 8032 removedSelectors := make([]bool, 1) 8033 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationBlock_FieldPathSelector]gotenobject.FieldMask{ 8034 DeviceStatusDeviceInfoHardwareInformationBlock_FieldPathSelectorDisks: &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask{}, 8035 } 8036 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationBlock_FieldPathSelector]gotenobject.FieldMask{ 8037 DeviceStatusDeviceInfoHardwareInformationBlock_FieldPathSelectorDisks: &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask{}, 8038 } 8039 8040 for _, path := range other.GetPaths() { 8041 switch tp := path.(type) { 8042 case *DeviceStatusDeviceInfoHardwareInformationBlock_FieldTerminalPath: 8043 removedSelectors[int(tp.selector)] = true 8044 case *DeviceStatusDeviceInfoHardwareInformationBlock_FieldSubPath: 8045 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 8046 } 8047 } 8048 for _, path := range fieldMask.GetPaths() { 8049 if !removedSelectors[int(path.Selector())] { 8050 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 8051 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationBlock_FieldTerminalPath); ok { 8052 switch tp.selector { 8053 case DeviceStatusDeviceInfoHardwareInformationBlock_FieldPathSelectorDisks: 8054 mySubMasks[DeviceStatusDeviceInfoHardwareInformationBlock_FieldPathSelectorDisks] = FullDevice_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask() 8055 } 8056 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationBlock_FieldSubPath); ok { 8057 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 8058 } 8059 } else { 8060 result.Paths = append(result.Paths, path) 8061 } 8062 } 8063 } 8064 for selector, mySubMask := range mySubMasks { 8065 if mySubMask.PathsCount() > 0 { 8066 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 8067 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationBlock_FieldSubPath{selector: selector, subPath: allowedPath}) 8068 } 8069 } 8070 } 8071 8072 if len(result.Paths) == 0 { 8073 return nil 8074 } 8075 return result 8076 } 8077 8078 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 8079 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask)) 8080 } 8081 8082 // FilterInputFields generates copy of field paths with output_only field paths removed 8083 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask { 8084 result := &Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask{} 8085 result.Paths = append(result.Paths, fieldMask.Paths...) 8086 return result 8087 } 8088 8089 // ToFieldMask is used for proto conversions 8090 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 8091 protoFieldMask := &googlefieldmaskpb.FieldMask{} 8092 for _, path := range fieldMask.Paths { 8093 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 8094 } 8095 return protoFieldMask 8096 } 8097 8098 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 8099 if fieldMask == nil { 8100 return status.Error(codes.Internal, "target field mask is nil") 8101 } 8102 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationBlock_FieldPath, 0, len(protoFieldMask.Paths)) 8103 for _, strPath := range protoFieldMask.Paths { 8104 path, err := ParseDeviceStatusDeviceInfoHardwareInformationBlock_FieldPath(strPath) 8105 if err != nil { 8106 return err 8107 } 8108 fieldMask.Paths = append(fieldMask.Paths, path) 8109 } 8110 return nil 8111 } 8112 8113 // implement methods required by customType 8114 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) Marshal() ([]byte, error) { 8115 protoFieldMask := fieldMask.ToProtoFieldMask() 8116 return proto.Marshal(protoFieldMask) 8117 } 8118 8119 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) Unmarshal(data []byte) error { 8120 protoFieldMask := &googlefieldmaskpb.FieldMask{} 8121 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 8122 return err 8123 } 8124 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 8125 return err 8126 } 8127 return nil 8128 } 8129 8130 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) Size() int { 8131 return proto.Size(fieldMask.ToProtoFieldMask()) 8132 } 8133 8134 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) MarshalJSON() ([]byte, error) { 8135 return json.Marshal(fieldMask.ToProtoFieldMask()) 8136 } 8137 8138 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) UnmarshalJSON(data []byte) error { 8139 protoFieldMask := &googlefieldmaskpb.FieldMask{} 8140 if err := json.Unmarshal(data, protoFieldMask); err != nil { 8141 return err 8142 } 8143 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 8144 return err 8145 } 8146 return nil 8147 } 8148 8149 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationBlock_FieldPath) { 8150 fieldMask.Paths = append(fieldMask.Paths, path) 8151 } 8152 8153 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 8154 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationBlock_FieldPath)) 8155 } 8156 8157 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationBlock_FieldPath { 8158 if fieldMask == nil { 8159 return nil 8160 } 8161 return fieldMask.Paths 8162 } 8163 8164 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) GetRawPaths() []gotenobject.FieldPath { 8165 if fieldMask == nil { 8166 return nil 8167 } 8168 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 8169 for _, path := range fieldMask.Paths { 8170 rawPaths = append(rawPaths, path) 8171 } 8172 return rawPaths 8173 } 8174 8175 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) SetFromCliFlag(raw string) error { 8176 path, err := ParseDeviceStatusDeviceInfoHardwareInformationBlock_FieldPath(raw) 8177 if err != nil { 8178 return err 8179 } 8180 fieldMask.Paths = append(fieldMask.Paths, path) 8181 return nil 8182 } 8183 8184 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_Block) { 8185 for _, path := range fieldMask.Paths { 8186 val, _ := path.GetSingle(source) 8187 // if val is nil, then field does not exist in source, skip 8188 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 8189 if val != nil { 8190 path.WithIValue(val).SetTo(&target) 8191 } 8192 } 8193 } 8194 8195 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 8196 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_Block), source.(*Device_Status_DeviceInfo_HardwareInformation_Block)) 8197 } 8198 8199 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_Block) *Device_Status_DeviceInfo_HardwareInformation_Block { 8200 if source == nil { 8201 return nil 8202 } 8203 if fieldMask == nil { 8204 return source 8205 } 8206 result := &Device_Status_DeviceInfo_HardwareInformation_Block{} 8207 disksMask := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask{} 8208 wholeDisksAccepted := false 8209 8210 for _, p := range fieldMask.Paths { 8211 switch tp := p.(type) { 8212 case *DeviceStatusDeviceInfoHardwareInformationBlock_FieldTerminalPath: 8213 switch tp.selector { 8214 case DeviceStatusDeviceInfoHardwareInformationBlock_FieldPathSelectorDisks: 8215 result.Disks = source.Disks 8216 wholeDisksAccepted = true 8217 } 8218 case *DeviceStatusDeviceInfoHardwareInformationBlock_FieldSubPath: 8219 switch tp.selector { 8220 case DeviceStatusDeviceInfoHardwareInformationBlock_FieldPathSelectorDisks: 8221 disksMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPath)) 8222 } 8223 } 8224 } 8225 if wholeDisksAccepted == false && len(disksMask.Paths) > 0 { 8226 for _, sourceItem := range source.GetDisks() { 8227 result.Disks = append(result.Disks, disksMask.Project(sourceItem)) 8228 } 8229 } 8230 return result 8231 } 8232 8233 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 8234 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_Block)) 8235 } 8236 8237 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_FieldMask) PathsCount() int { 8238 if fieldMask == nil { 8239 return 0 8240 } 8241 return len(fieldMask.Paths) 8242 } 8243 8244 type Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask struct { 8245 Paths []DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPath 8246 } 8247 8248 func FullDevice_Status_DeviceInfo_HardwareInformation_Network_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask { 8249 res := &Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask{} 8250 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetwork_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPathSelectorNics}) 8251 return res 8252 } 8253 8254 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) String() string { 8255 if fieldMask == nil { 8256 return "<nil>" 8257 } 8258 pathsStr := make([]string, 0, len(fieldMask.Paths)) 8259 for _, path := range fieldMask.Paths { 8260 pathsStr = append(pathsStr, path.String()) 8261 } 8262 return strings.Join(pathsStr, ", ") 8263 } 8264 8265 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) IsFull() bool { 8266 if fieldMask == nil { 8267 return false 8268 } 8269 presentSelectors := make([]bool, 1) 8270 for _, path := range fieldMask.Paths { 8271 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationNetwork_FieldTerminalPath); ok { 8272 presentSelectors[int(asFinal.selector)] = true 8273 } 8274 } 8275 for _, flag := range presentSelectors { 8276 if !flag { 8277 return false 8278 } 8279 } 8280 return true 8281 } 8282 8283 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) ProtoReflect() preflect.Message { 8284 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 8285 return ParseDeviceStatusDeviceInfoHardwareInformationNetwork_FieldPath(raw) 8286 }) 8287 } 8288 8289 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) ProtoMessage() {} 8290 8291 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) Reset() { 8292 if fieldMask != nil { 8293 fieldMask.Paths = nil 8294 } 8295 } 8296 8297 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask { 8298 result := &Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask{} 8299 removedSelectors := make([]bool, 1) 8300 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPathSelector]gotenobject.FieldMask{ 8301 DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPathSelectorNics: &Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask{}, 8302 } 8303 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPathSelector]gotenobject.FieldMask{ 8304 DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPathSelectorNics: &Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask{}, 8305 } 8306 8307 for _, path := range other.GetPaths() { 8308 switch tp := path.(type) { 8309 case *DeviceStatusDeviceInfoHardwareInformationNetwork_FieldTerminalPath: 8310 removedSelectors[int(tp.selector)] = true 8311 case *DeviceStatusDeviceInfoHardwareInformationNetwork_FieldSubPath: 8312 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 8313 } 8314 } 8315 for _, path := range fieldMask.GetPaths() { 8316 if !removedSelectors[int(path.Selector())] { 8317 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 8318 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationNetwork_FieldTerminalPath); ok { 8319 switch tp.selector { 8320 case DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPathSelectorNics: 8321 mySubMasks[DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPathSelectorNics] = FullDevice_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask() 8322 } 8323 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationNetwork_FieldSubPath); ok { 8324 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 8325 } 8326 } else { 8327 result.Paths = append(result.Paths, path) 8328 } 8329 } 8330 } 8331 for selector, mySubMask := range mySubMasks { 8332 if mySubMask.PathsCount() > 0 { 8333 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 8334 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationNetwork_FieldSubPath{selector: selector, subPath: allowedPath}) 8335 } 8336 } 8337 } 8338 8339 if len(result.Paths) == 0 { 8340 return nil 8341 } 8342 return result 8343 } 8344 8345 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 8346 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask)) 8347 } 8348 8349 // FilterInputFields generates copy of field paths with output_only field paths removed 8350 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask { 8351 result := &Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask{} 8352 result.Paths = append(result.Paths, fieldMask.Paths...) 8353 return result 8354 } 8355 8356 // ToFieldMask is used for proto conversions 8357 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 8358 protoFieldMask := &googlefieldmaskpb.FieldMask{} 8359 for _, path := range fieldMask.Paths { 8360 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 8361 } 8362 return protoFieldMask 8363 } 8364 8365 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 8366 if fieldMask == nil { 8367 return status.Error(codes.Internal, "target field mask is nil") 8368 } 8369 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPath, 0, len(protoFieldMask.Paths)) 8370 for _, strPath := range protoFieldMask.Paths { 8371 path, err := ParseDeviceStatusDeviceInfoHardwareInformationNetwork_FieldPath(strPath) 8372 if err != nil { 8373 return err 8374 } 8375 fieldMask.Paths = append(fieldMask.Paths, path) 8376 } 8377 return nil 8378 } 8379 8380 // implement methods required by customType 8381 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) Marshal() ([]byte, error) { 8382 protoFieldMask := fieldMask.ToProtoFieldMask() 8383 return proto.Marshal(protoFieldMask) 8384 } 8385 8386 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) Unmarshal(data []byte) error { 8387 protoFieldMask := &googlefieldmaskpb.FieldMask{} 8388 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 8389 return err 8390 } 8391 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 8392 return err 8393 } 8394 return nil 8395 } 8396 8397 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) Size() int { 8398 return proto.Size(fieldMask.ToProtoFieldMask()) 8399 } 8400 8401 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) MarshalJSON() ([]byte, error) { 8402 return json.Marshal(fieldMask.ToProtoFieldMask()) 8403 } 8404 8405 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) UnmarshalJSON(data []byte) error { 8406 protoFieldMask := &googlefieldmaskpb.FieldMask{} 8407 if err := json.Unmarshal(data, protoFieldMask); err != nil { 8408 return err 8409 } 8410 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 8411 return err 8412 } 8413 return nil 8414 } 8415 8416 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPath) { 8417 fieldMask.Paths = append(fieldMask.Paths, path) 8418 } 8419 8420 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 8421 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPath)) 8422 } 8423 8424 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPath { 8425 if fieldMask == nil { 8426 return nil 8427 } 8428 return fieldMask.Paths 8429 } 8430 8431 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) GetRawPaths() []gotenobject.FieldPath { 8432 if fieldMask == nil { 8433 return nil 8434 } 8435 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 8436 for _, path := range fieldMask.Paths { 8437 rawPaths = append(rawPaths, path) 8438 } 8439 return rawPaths 8440 } 8441 8442 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) SetFromCliFlag(raw string) error { 8443 path, err := ParseDeviceStatusDeviceInfoHardwareInformationNetwork_FieldPath(raw) 8444 if err != nil { 8445 return err 8446 } 8447 fieldMask.Paths = append(fieldMask.Paths, path) 8448 return nil 8449 } 8450 8451 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_Network) { 8452 for _, path := range fieldMask.Paths { 8453 val, _ := path.GetSingle(source) 8454 // if val is nil, then field does not exist in source, skip 8455 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 8456 if val != nil { 8457 path.WithIValue(val).SetTo(&target) 8458 } 8459 } 8460 } 8461 8462 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 8463 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_Network), source.(*Device_Status_DeviceInfo_HardwareInformation_Network)) 8464 } 8465 8466 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_Network) *Device_Status_DeviceInfo_HardwareInformation_Network { 8467 if source == nil { 8468 return nil 8469 } 8470 if fieldMask == nil { 8471 return source 8472 } 8473 result := &Device_Status_DeviceInfo_HardwareInformation_Network{} 8474 nicsMask := &Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask{} 8475 wholeNicsAccepted := false 8476 8477 for _, p := range fieldMask.Paths { 8478 switch tp := p.(type) { 8479 case *DeviceStatusDeviceInfoHardwareInformationNetwork_FieldTerminalPath: 8480 switch tp.selector { 8481 case DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPathSelectorNics: 8482 result.Nics = source.Nics 8483 wholeNicsAccepted = true 8484 } 8485 case *DeviceStatusDeviceInfoHardwareInformationNetwork_FieldSubPath: 8486 switch tp.selector { 8487 case DeviceStatusDeviceInfoHardwareInformationNetwork_FieldPathSelectorNics: 8488 nicsMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPath)) 8489 } 8490 } 8491 } 8492 if wholeNicsAccepted == false && len(nicsMask.Paths) > 0 { 8493 for _, sourceItem := range source.GetNics() { 8494 result.Nics = append(result.Nics, nicsMask.Project(sourceItem)) 8495 } 8496 } 8497 return result 8498 } 8499 8500 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 8501 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_Network)) 8502 } 8503 8504 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_FieldMask) PathsCount() int { 8505 if fieldMask == nil { 8506 return 0 8507 } 8508 return len(fieldMask.Paths) 8509 } 8510 8511 type Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask struct { 8512 Paths []DeviceStatusDeviceInfoHardwareInformationGPU_FieldPath 8513 } 8514 8515 func FullDevice_Status_DeviceInfo_HardwareInformation_GPU_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask { 8516 res := &Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask{} 8517 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationGPU_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationGPU_FieldPathSelectorGraphicCards}) 8518 return res 8519 } 8520 8521 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) String() string { 8522 if fieldMask == nil { 8523 return "<nil>" 8524 } 8525 pathsStr := make([]string, 0, len(fieldMask.Paths)) 8526 for _, path := range fieldMask.Paths { 8527 pathsStr = append(pathsStr, path.String()) 8528 } 8529 return strings.Join(pathsStr, ", ") 8530 } 8531 8532 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) IsFull() bool { 8533 if fieldMask == nil { 8534 return false 8535 } 8536 presentSelectors := make([]bool, 1) 8537 for _, path := range fieldMask.Paths { 8538 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationGPU_FieldTerminalPath); ok { 8539 presentSelectors[int(asFinal.selector)] = true 8540 } 8541 } 8542 for _, flag := range presentSelectors { 8543 if !flag { 8544 return false 8545 } 8546 } 8547 return true 8548 } 8549 8550 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) ProtoReflect() preflect.Message { 8551 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 8552 return ParseDeviceStatusDeviceInfoHardwareInformationGPU_FieldPath(raw) 8553 }) 8554 } 8555 8556 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) ProtoMessage() {} 8557 8558 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) Reset() { 8559 if fieldMask != nil { 8560 fieldMask.Paths = nil 8561 } 8562 } 8563 8564 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask { 8565 result := &Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask{} 8566 removedSelectors := make([]bool, 1) 8567 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationGPU_FieldPathSelector]gotenobject.FieldMask{ 8568 DeviceStatusDeviceInfoHardwareInformationGPU_FieldPathSelectorGraphicCards: &Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask{}, 8569 } 8570 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationGPU_FieldPathSelector]gotenobject.FieldMask{ 8571 DeviceStatusDeviceInfoHardwareInformationGPU_FieldPathSelectorGraphicCards: &Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask{}, 8572 } 8573 8574 for _, path := range other.GetPaths() { 8575 switch tp := path.(type) { 8576 case *DeviceStatusDeviceInfoHardwareInformationGPU_FieldTerminalPath: 8577 removedSelectors[int(tp.selector)] = true 8578 case *DeviceStatusDeviceInfoHardwareInformationGPU_FieldSubPath: 8579 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 8580 } 8581 } 8582 for _, path := range fieldMask.GetPaths() { 8583 if !removedSelectors[int(path.Selector())] { 8584 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 8585 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationGPU_FieldTerminalPath); ok { 8586 switch tp.selector { 8587 case DeviceStatusDeviceInfoHardwareInformationGPU_FieldPathSelectorGraphicCards: 8588 mySubMasks[DeviceStatusDeviceInfoHardwareInformationGPU_FieldPathSelectorGraphicCards] = FullDevice_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask() 8589 } 8590 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationGPU_FieldSubPath); ok { 8591 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 8592 } 8593 } else { 8594 result.Paths = append(result.Paths, path) 8595 } 8596 } 8597 } 8598 for selector, mySubMask := range mySubMasks { 8599 if mySubMask.PathsCount() > 0 { 8600 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 8601 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationGPU_FieldSubPath{selector: selector, subPath: allowedPath}) 8602 } 8603 } 8604 } 8605 8606 if len(result.Paths) == 0 { 8607 return nil 8608 } 8609 return result 8610 } 8611 8612 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 8613 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask)) 8614 } 8615 8616 // FilterInputFields generates copy of field paths with output_only field paths removed 8617 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask { 8618 result := &Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask{} 8619 result.Paths = append(result.Paths, fieldMask.Paths...) 8620 return result 8621 } 8622 8623 // ToFieldMask is used for proto conversions 8624 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 8625 protoFieldMask := &googlefieldmaskpb.FieldMask{} 8626 for _, path := range fieldMask.Paths { 8627 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 8628 } 8629 return protoFieldMask 8630 } 8631 8632 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 8633 if fieldMask == nil { 8634 return status.Error(codes.Internal, "target field mask is nil") 8635 } 8636 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationGPU_FieldPath, 0, len(protoFieldMask.Paths)) 8637 for _, strPath := range protoFieldMask.Paths { 8638 path, err := ParseDeviceStatusDeviceInfoHardwareInformationGPU_FieldPath(strPath) 8639 if err != nil { 8640 return err 8641 } 8642 fieldMask.Paths = append(fieldMask.Paths, path) 8643 } 8644 return nil 8645 } 8646 8647 // implement methods required by customType 8648 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) Marshal() ([]byte, error) { 8649 protoFieldMask := fieldMask.ToProtoFieldMask() 8650 return proto.Marshal(protoFieldMask) 8651 } 8652 8653 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) Unmarshal(data []byte) error { 8654 protoFieldMask := &googlefieldmaskpb.FieldMask{} 8655 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 8656 return err 8657 } 8658 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 8659 return err 8660 } 8661 return nil 8662 } 8663 8664 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) Size() int { 8665 return proto.Size(fieldMask.ToProtoFieldMask()) 8666 } 8667 8668 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) MarshalJSON() ([]byte, error) { 8669 return json.Marshal(fieldMask.ToProtoFieldMask()) 8670 } 8671 8672 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) UnmarshalJSON(data []byte) error { 8673 protoFieldMask := &googlefieldmaskpb.FieldMask{} 8674 if err := json.Unmarshal(data, protoFieldMask); err != nil { 8675 return err 8676 } 8677 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 8678 return err 8679 } 8680 return nil 8681 } 8682 8683 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationGPU_FieldPath) { 8684 fieldMask.Paths = append(fieldMask.Paths, path) 8685 } 8686 8687 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 8688 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationGPU_FieldPath)) 8689 } 8690 8691 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationGPU_FieldPath { 8692 if fieldMask == nil { 8693 return nil 8694 } 8695 return fieldMask.Paths 8696 } 8697 8698 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) GetRawPaths() []gotenobject.FieldPath { 8699 if fieldMask == nil { 8700 return nil 8701 } 8702 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 8703 for _, path := range fieldMask.Paths { 8704 rawPaths = append(rawPaths, path) 8705 } 8706 return rawPaths 8707 } 8708 8709 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) SetFromCliFlag(raw string) error { 8710 path, err := ParseDeviceStatusDeviceInfoHardwareInformationGPU_FieldPath(raw) 8711 if err != nil { 8712 return err 8713 } 8714 fieldMask.Paths = append(fieldMask.Paths, path) 8715 return nil 8716 } 8717 8718 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_GPU) { 8719 for _, path := range fieldMask.Paths { 8720 val, _ := path.GetSingle(source) 8721 // if val is nil, then field does not exist in source, skip 8722 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 8723 if val != nil { 8724 path.WithIValue(val).SetTo(&target) 8725 } 8726 } 8727 } 8728 8729 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 8730 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_GPU), source.(*Device_Status_DeviceInfo_HardwareInformation_GPU)) 8731 } 8732 8733 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_GPU) *Device_Status_DeviceInfo_HardwareInformation_GPU { 8734 if source == nil { 8735 return nil 8736 } 8737 if fieldMask == nil { 8738 return source 8739 } 8740 result := &Device_Status_DeviceInfo_HardwareInformation_GPU{} 8741 graphicCardsMask := &Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask{} 8742 wholeGraphicCardsAccepted := false 8743 8744 for _, p := range fieldMask.Paths { 8745 switch tp := p.(type) { 8746 case *DeviceStatusDeviceInfoHardwareInformationGPU_FieldTerminalPath: 8747 switch tp.selector { 8748 case DeviceStatusDeviceInfoHardwareInformationGPU_FieldPathSelectorGraphicCards: 8749 result.GraphicCards = source.GraphicCards 8750 wholeGraphicCardsAccepted = true 8751 } 8752 case *DeviceStatusDeviceInfoHardwareInformationGPU_FieldSubPath: 8753 switch tp.selector { 8754 case DeviceStatusDeviceInfoHardwareInformationGPU_FieldPathSelectorGraphicCards: 8755 graphicCardsMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPath)) 8756 } 8757 } 8758 } 8759 if wholeGraphicCardsAccepted == false && len(graphicCardsMask.Paths) > 0 { 8760 for _, sourceItem := range source.GetGraphicCards() { 8761 result.GraphicCards = append(result.GraphicCards, graphicCardsMask.Project(sourceItem)) 8762 } 8763 } 8764 return result 8765 } 8766 8767 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 8768 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_GPU)) 8769 } 8770 8771 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_FieldMask) PathsCount() int { 8772 if fieldMask == nil { 8773 return 0 8774 } 8775 return len(fieldMask.Paths) 8776 } 8777 8778 type Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask struct { 8779 Paths []DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPath 8780 } 8781 8782 func FullDevice_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask { 8783 res := &Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask{} 8784 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorAddress}) 8785 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorVendor}) 8786 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorProduct}) 8787 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorName}) 8788 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorSubvendor}) 8789 return res 8790 } 8791 8792 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) String() string { 8793 if fieldMask == nil { 8794 return "<nil>" 8795 } 8796 pathsStr := make([]string, 0, len(fieldMask.Paths)) 8797 for _, path := range fieldMask.Paths { 8798 pathsStr = append(pathsStr, path.String()) 8799 } 8800 return strings.Join(pathsStr, ", ") 8801 } 8802 8803 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) IsFull() bool { 8804 if fieldMask == nil { 8805 return false 8806 } 8807 presentSelectors := make([]bool, 5) 8808 for _, path := range fieldMask.Paths { 8809 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldTerminalPath); ok { 8810 presentSelectors[int(asFinal.selector)] = true 8811 } 8812 } 8813 for _, flag := range presentSelectors { 8814 if !flag { 8815 return false 8816 } 8817 } 8818 return true 8819 } 8820 8821 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) ProtoReflect() preflect.Message { 8822 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 8823 return ParseDeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPath(raw) 8824 }) 8825 } 8826 8827 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) ProtoMessage() {} 8828 8829 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) Reset() { 8830 if fieldMask != nil { 8831 fieldMask.Paths = nil 8832 } 8833 } 8834 8835 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask { 8836 result := &Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask{} 8837 removedSelectors := make([]bool, 5) 8838 8839 for _, path := range other.GetPaths() { 8840 switch tp := path.(type) { 8841 case *DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldTerminalPath: 8842 removedSelectors[int(tp.selector)] = true 8843 } 8844 } 8845 for _, path := range fieldMask.GetPaths() { 8846 if !removedSelectors[int(path.Selector())] { 8847 result.Paths = append(result.Paths, path) 8848 } 8849 } 8850 8851 if len(result.Paths) == 0 { 8852 return nil 8853 } 8854 return result 8855 } 8856 8857 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 8858 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask)) 8859 } 8860 8861 // FilterInputFields generates copy of field paths with output_only field paths removed 8862 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask { 8863 result := &Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask{} 8864 result.Paths = append(result.Paths, fieldMask.Paths...) 8865 return result 8866 } 8867 8868 // ToFieldMask is used for proto conversions 8869 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 8870 protoFieldMask := &googlefieldmaskpb.FieldMask{} 8871 for _, path := range fieldMask.Paths { 8872 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 8873 } 8874 return protoFieldMask 8875 } 8876 8877 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 8878 if fieldMask == nil { 8879 return status.Error(codes.Internal, "target field mask is nil") 8880 } 8881 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPath, 0, len(protoFieldMask.Paths)) 8882 for _, strPath := range protoFieldMask.Paths { 8883 path, err := ParseDeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPath(strPath) 8884 if err != nil { 8885 return err 8886 } 8887 fieldMask.Paths = append(fieldMask.Paths, path) 8888 } 8889 return nil 8890 } 8891 8892 // implement methods required by customType 8893 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) Marshal() ([]byte, error) { 8894 protoFieldMask := fieldMask.ToProtoFieldMask() 8895 return proto.Marshal(protoFieldMask) 8896 } 8897 8898 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) Unmarshal(data []byte) error { 8899 protoFieldMask := &googlefieldmaskpb.FieldMask{} 8900 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 8901 return err 8902 } 8903 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 8904 return err 8905 } 8906 return nil 8907 } 8908 8909 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) Size() int { 8910 return proto.Size(fieldMask.ToProtoFieldMask()) 8911 } 8912 8913 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) MarshalJSON() ([]byte, error) { 8914 return json.Marshal(fieldMask.ToProtoFieldMask()) 8915 } 8916 8917 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) UnmarshalJSON(data []byte) error { 8918 protoFieldMask := &googlefieldmaskpb.FieldMask{} 8919 if err := json.Unmarshal(data, protoFieldMask); err != nil { 8920 return err 8921 } 8922 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 8923 return err 8924 } 8925 return nil 8926 } 8927 8928 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPath) { 8929 fieldMask.Paths = append(fieldMask.Paths, path) 8930 } 8931 8932 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 8933 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPath)) 8934 } 8935 8936 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPath { 8937 if fieldMask == nil { 8938 return nil 8939 } 8940 return fieldMask.Paths 8941 } 8942 8943 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) GetRawPaths() []gotenobject.FieldPath { 8944 if fieldMask == nil { 8945 return nil 8946 } 8947 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 8948 for _, path := range fieldMask.Paths { 8949 rawPaths = append(rawPaths, path) 8950 } 8951 return rawPaths 8952 } 8953 8954 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) SetFromCliFlag(raw string) error { 8955 path, err := ParseDeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPath(raw) 8956 if err != nil { 8957 return err 8958 } 8959 fieldMask.Paths = append(fieldMask.Paths, path) 8960 return nil 8961 } 8962 8963 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_PCIDevice) { 8964 for _, path := range fieldMask.Paths { 8965 val, _ := path.GetSingle(source) 8966 // if val is nil, then field does not exist in source, skip 8967 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 8968 if val != nil { 8969 path.WithIValue(val).SetTo(&target) 8970 } 8971 } 8972 } 8973 8974 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 8975 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_PCIDevice), source.(*Device_Status_DeviceInfo_HardwareInformation_PCIDevice)) 8976 } 8977 8978 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_PCIDevice) *Device_Status_DeviceInfo_HardwareInformation_PCIDevice { 8979 if source == nil { 8980 return nil 8981 } 8982 if fieldMask == nil { 8983 return source 8984 } 8985 result := &Device_Status_DeviceInfo_HardwareInformation_PCIDevice{} 8986 8987 for _, p := range fieldMask.Paths { 8988 switch tp := p.(type) { 8989 case *DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldTerminalPath: 8990 switch tp.selector { 8991 case DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorAddress: 8992 result.Address = source.Address 8993 case DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorVendor: 8994 result.Vendor = source.Vendor 8995 case DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorProduct: 8996 result.Product = source.Product 8997 case DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorName: 8998 result.Name = source.Name 8999 case DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPathSelectorSubvendor: 9000 result.Subvendor = source.Subvendor 9001 } 9002 } 9003 } 9004 return result 9005 } 9006 9007 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 9008 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_PCIDevice)) 9009 } 9010 9011 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask) PathsCount() int { 9012 if fieldMask == nil { 9013 return 0 9014 } 9015 return len(fieldMask.Paths) 9016 } 9017 9018 type Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask struct { 9019 Paths []DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPath 9020 } 9021 9022 func FullDevice_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask { 9023 res := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask{} 9024 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelectorDescription}) 9025 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelectorSizeBytes}) 9026 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelectorMemoryBanks}) 9027 return res 9028 } 9029 9030 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) String() string { 9031 if fieldMask == nil { 9032 return "<nil>" 9033 } 9034 pathsStr := make([]string, 0, len(fieldMask.Paths)) 9035 for _, path := range fieldMask.Paths { 9036 pathsStr = append(pathsStr, path.String()) 9037 } 9038 return strings.Join(pathsStr, ", ") 9039 } 9040 9041 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) IsFull() bool { 9042 if fieldMask == nil { 9043 return false 9044 } 9045 presentSelectors := make([]bool, 3) 9046 for _, path := range fieldMask.Paths { 9047 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldTerminalPath); ok { 9048 presentSelectors[int(asFinal.selector)] = true 9049 } 9050 } 9051 for _, flag := range presentSelectors { 9052 if !flag { 9053 return false 9054 } 9055 } 9056 return true 9057 } 9058 9059 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) ProtoReflect() preflect.Message { 9060 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 9061 return ParseDeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPath(raw) 9062 }) 9063 } 9064 9065 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) ProtoMessage() {} 9066 9067 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) Reset() { 9068 if fieldMask != nil { 9069 fieldMask.Paths = nil 9070 } 9071 } 9072 9073 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask { 9074 result := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask{} 9075 removedSelectors := make([]bool, 3) 9076 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelector]gotenobject.FieldMask{ 9077 DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelectorMemoryBanks: &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask{}, 9078 } 9079 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelector]gotenobject.FieldMask{ 9080 DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelectorMemoryBanks: &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask{}, 9081 } 9082 9083 for _, path := range other.GetPaths() { 9084 switch tp := path.(type) { 9085 case *DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldTerminalPath: 9086 removedSelectors[int(tp.selector)] = true 9087 case *DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldSubPath: 9088 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 9089 } 9090 } 9091 for _, path := range fieldMask.GetPaths() { 9092 if !removedSelectors[int(path.Selector())] { 9093 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 9094 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldTerminalPath); ok { 9095 switch tp.selector { 9096 case DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelectorMemoryBanks: 9097 mySubMasks[DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelectorMemoryBanks] = FullDevice_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask() 9098 } 9099 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldSubPath); ok { 9100 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 9101 } 9102 } else { 9103 result.Paths = append(result.Paths, path) 9104 } 9105 } 9106 } 9107 for selector, mySubMask := range mySubMasks { 9108 if mySubMask.PathsCount() > 0 { 9109 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 9110 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldSubPath{selector: selector, subPath: allowedPath}) 9111 } 9112 } 9113 } 9114 9115 if len(result.Paths) == 0 { 9116 return nil 9117 } 9118 return result 9119 } 9120 9121 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 9122 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask)) 9123 } 9124 9125 // FilterInputFields generates copy of field paths with output_only field paths removed 9126 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask { 9127 result := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask{} 9128 result.Paths = append(result.Paths, fieldMask.Paths...) 9129 return result 9130 } 9131 9132 // ToFieldMask is used for proto conversions 9133 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 9134 protoFieldMask := &googlefieldmaskpb.FieldMask{} 9135 for _, path := range fieldMask.Paths { 9136 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 9137 } 9138 return protoFieldMask 9139 } 9140 9141 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 9142 if fieldMask == nil { 9143 return status.Error(codes.Internal, "target field mask is nil") 9144 } 9145 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPath, 0, len(protoFieldMask.Paths)) 9146 for _, strPath := range protoFieldMask.Paths { 9147 path, err := ParseDeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPath(strPath) 9148 if err != nil { 9149 return err 9150 } 9151 fieldMask.Paths = append(fieldMask.Paths, path) 9152 } 9153 return nil 9154 } 9155 9156 // implement methods required by customType 9157 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) Marshal() ([]byte, error) { 9158 protoFieldMask := fieldMask.ToProtoFieldMask() 9159 return proto.Marshal(protoFieldMask) 9160 } 9161 9162 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) Unmarshal(data []byte) error { 9163 protoFieldMask := &googlefieldmaskpb.FieldMask{} 9164 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 9165 return err 9166 } 9167 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 9168 return err 9169 } 9170 return nil 9171 } 9172 9173 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) Size() int { 9174 return proto.Size(fieldMask.ToProtoFieldMask()) 9175 } 9176 9177 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) MarshalJSON() ([]byte, error) { 9178 return json.Marshal(fieldMask.ToProtoFieldMask()) 9179 } 9180 9181 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) UnmarshalJSON(data []byte) error { 9182 protoFieldMask := &googlefieldmaskpb.FieldMask{} 9183 if err := json.Unmarshal(data, protoFieldMask); err != nil { 9184 return err 9185 } 9186 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 9187 return err 9188 } 9189 return nil 9190 } 9191 9192 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPath) { 9193 fieldMask.Paths = append(fieldMask.Paths, path) 9194 } 9195 9196 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 9197 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPath)) 9198 } 9199 9200 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPath { 9201 if fieldMask == nil { 9202 return nil 9203 } 9204 return fieldMask.Paths 9205 } 9206 9207 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) GetRawPaths() []gotenobject.FieldPath { 9208 if fieldMask == nil { 9209 return nil 9210 } 9211 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 9212 for _, path := range fieldMask.Paths { 9213 rawPaths = append(rawPaths, path) 9214 } 9215 return rawPaths 9216 } 9217 9218 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) SetFromCliFlag(raw string) error { 9219 path, err := ParseDeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPath(raw) 9220 if err != nil { 9221 return err 9222 } 9223 fieldMask.Paths = append(fieldMask.Paths, path) 9224 return nil 9225 } 9226 9227 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo) { 9228 for _, path := range fieldMask.Paths { 9229 val, _ := path.GetSingle(source) 9230 // if val is nil, then field does not exist in source, skip 9231 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 9232 if val != nil { 9233 path.WithIValue(val).SetTo(&target) 9234 } 9235 } 9236 } 9237 9238 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 9239 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo), source.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo)) 9240 } 9241 9242 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo) *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo { 9243 if source == nil { 9244 return nil 9245 } 9246 if fieldMask == nil { 9247 return source 9248 } 9249 result := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo{} 9250 memoryBanksMask := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask{} 9251 wholeMemoryBanksAccepted := false 9252 9253 for _, p := range fieldMask.Paths { 9254 switch tp := p.(type) { 9255 case *DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldTerminalPath: 9256 switch tp.selector { 9257 case DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelectorDescription: 9258 result.Description = source.Description 9259 case DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelectorSizeBytes: 9260 result.SizeBytes = source.SizeBytes 9261 case DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelectorMemoryBanks: 9262 result.MemoryBanks = source.MemoryBanks 9263 wholeMemoryBanksAccepted = true 9264 } 9265 case *DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldSubPath: 9266 switch tp.selector { 9267 case DeviceStatusDeviceInfoHardwareInformationMemoryInfo_FieldPathSelectorMemoryBanks: 9268 memoryBanksMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPath)) 9269 } 9270 } 9271 } 9272 if wholeMemoryBanksAccepted == false && len(memoryBanksMask.Paths) > 0 { 9273 for _, sourceItem := range source.GetMemoryBanks() { 9274 result.MemoryBanks = append(result.MemoryBanks, memoryBanksMask.Project(sourceItem)) 9275 } 9276 } 9277 return result 9278 } 9279 9280 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 9281 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo)) 9282 } 9283 9284 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_FieldMask) PathsCount() int { 9285 if fieldMask == nil { 9286 return 0 9287 } 9288 return len(fieldMask.Paths) 9289 } 9290 9291 type Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask struct { 9292 Paths []DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPath 9293 } 9294 9295 func FullDevice_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask { 9296 res := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask{} 9297 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorStatus}) 9298 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorCliVersion}) 9299 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorModules}) 9300 return res 9301 } 9302 9303 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) String() string { 9304 if fieldMask == nil { 9305 return "<nil>" 9306 } 9307 pathsStr := make([]string, 0, len(fieldMask.Paths)) 9308 for _, path := range fieldMask.Paths { 9309 pathsStr = append(pathsStr, path.String()) 9310 } 9311 return strings.Join(pathsStr, ", ") 9312 } 9313 9314 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) IsFull() bool { 9315 if fieldMask == nil { 9316 return false 9317 } 9318 presentSelectors := make([]bool, 3) 9319 for _, path := range fieldMask.Paths { 9320 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldTerminalPath); ok { 9321 presentSelectors[int(asFinal.selector)] = true 9322 } 9323 } 9324 for _, flag := range presentSelectors { 9325 if !flag { 9326 return false 9327 } 9328 } 9329 return true 9330 } 9331 9332 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) ProtoReflect() preflect.Message { 9333 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 9334 return ParseDeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPath(raw) 9335 }) 9336 } 9337 9338 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) ProtoMessage() {} 9339 9340 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) Reset() { 9341 if fieldMask != nil { 9342 fieldMask.Paths = nil 9343 } 9344 } 9345 9346 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask { 9347 result := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask{} 9348 removedSelectors := make([]bool, 3) 9349 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelector]gotenobject.FieldMask{ 9350 DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorModules: &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask{}, 9351 } 9352 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelector]gotenobject.FieldMask{ 9353 DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorModules: &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask{}, 9354 } 9355 9356 for _, path := range other.GetPaths() { 9357 switch tp := path.(type) { 9358 case *DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldTerminalPath: 9359 removedSelectors[int(tp.selector)] = true 9360 case *DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldSubPath: 9361 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 9362 } 9363 } 9364 for _, path := range fieldMask.GetPaths() { 9365 if !removedSelectors[int(path.Selector())] { 9366 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 9367 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldTerminalPath); ok { 9368 switch tp.selector { 9369 case DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorModules: 9370 mySubMasks[DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorModules] = FullDevice_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask() 9371 } 9372 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldSubPath); ok { 9373 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 9374 } 9375 } else { 9376 result.Paths = append(result.Paths, path) 9377 } 9378 } 9379 } 9380 for selector, mySubMask := range mySubMasks { 9381 if mySubMask.PathsCount() > 0 { 9382 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 9383 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldSubPath{selector: selector, subPath: allowedPath}) 9384 } 9385 } 9386 } 9387 9388 if len(result.Paths) == 0 { 9389 return nil 9390 } 9391 return result 9392 } 9393 9394 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 9395 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask)) 9396 } 9397 9398 // FilterInputFields generates copy of field paths with output_only field paths removed 9399 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask { 9400 result := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask{} 9401 result.Paths = append(result.Paths, fieldMask.Paths...) 9402 return result 9403 } 9404 9405 // ToFieldMask is used for proto conversions 9406 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 9407 protoFieldMask := &googlefieldmaskpb.FieldMask{} 9408 for _, path := range fieldMask.Paths { 9409 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 9410 } 9411 return protoFieldMask 9412 } 9413 9414 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 9415 if fieldMask == nil { 9416 return status.Error(codes.Internal, "target field mask is nil") 9417 } 9418 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPath, 0, len(protoFieldMask.Paths)) 9419 for _, strPath := range protoFieldMask.Paths { 9420 path, err := ParseDeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPath(strPath) 9421 if err != nil { 9422 return err 9423 } 9424 fieldMask.Paths = append(fieldMask.Paths, path) 9425 } 9426 return nil 9427 } 9428 9429 // implement methods required by customType 9430 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) Marshal() ([]byte, error) { 9431 protoFieldMask := fieldMask.ToProtoFieldMask() 9432 return proto.Marshal(protoFieldMask) 9433 } 9434 9435 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) Unmarshal(data []byte) error { 9436 protoFieldMask := &googlefieldmaskpb.FieldMask{} 9437 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 9438 return err 9439 } 9440 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 9441 return err 9442 } 9443 return nil 9444 } 9445 9446 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) Size() int { 9447 return proto.Size(fieldMask.ToProtoFieldMask()) 9448 } 9449 9450 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) MarshalJSON() ([]byte, error) { 9451 return json.Marshal(fieldMask.ToProtoFieldMask()) 9452 } 9453 9454 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) UnmarshalJSON(data []byte) error { 9455 protoFieldMask := &googlefieldmaskpb.FieldMask{} 9456 if err := json.Unmarshal(data, protoFieldMask); err != nil { 9457 return err 9458 } 9459 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 9460 return err 9461 } 9462 return nil 9463 } 9464 9465 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPath) { 9466 fieldMask.Paths = append(fieldMask.Paths, path) 9467 } 9468 9469 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 9470 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPath)) 9471 } 9472 9473 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPath { 9474 if fieldMask == nil { 9475 return nil 9476 } 9477 return fieldMask.Paths 9478 } 9479 9480 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) GetRawPaths() []gotenobject.FieldPath { 9481 if fieldMask == nil { 9482 return nil 9483 } 9484 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 9485 for _, path := range fieldMask.Paths { 9486 rawPaths = append(rawPaths, path) 9487 } 9488 return rawPaths 9489 } 9490 9491 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) SetFromCliFlag(raw string) error { 9492 path, err := ParseDeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPath(raw) 9493 if err != nil { 9494 return err 9495 } 9496 fieldMask.Paths = append(fieldMask.Paths, path) 9497 return nil 9498 } 9499 9500 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_HailoInfo) { 9501 for _, path := range fieldMask.Paths { 9502 val, _ := path.GetSingle(source) 9503 // if val is nil, then field does not exist in source, skip 9504 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 9505 if val != nil { 9506 path.WithIValue(val).SetTo(&target) 9507 } 9508 } 9509 } 9510 9511 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 9512 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_HailoInfo), source.(*Device_Status_DeviceInfo_HardwareInformation_HailoInfo)) 9513 } 9514 9515 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_HailoInfo) *Device_Status_DeviceInfo_HardwareInformation_HailoInfo { 9516 if source == nil { 9517 return nil 9518 } 9519 if fieldMask == nil { 9520 return source 9521 } 9522 result := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo{} 9523 modulesMask := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask{} 9524 wholeModulesAccepted := false 9525 9526 for _, p := range fieldMask.Paths { 9527 switch tp := p.(type) { 9528 case *DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldTerminalPath: 9529 switch tp.selector { 9530 case DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorStatus: 9531 result.Status = source.Status 9532 case DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorCliVersion: 9533 result.CliVersion = source.CliVersion 9534 case DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorModules: 9535 result.Modules = source.Modules 9536 wholeModulesAccepted = true 9537 } 9538 case *DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldSubPath: 9539 switch tp.selector { 9540 case DeviceStatusDeviceInfoHardwareInformationHailoInfo_FieldPathSelectorModules: 9541 modulesMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPath)) 9542 } 9543 } 9544 } 9545 if wholeModulesAccepted == false && len(modulesMask.Paths) > 0 { 9546 for _, sourceItem := range source.GetModules() { 9547 result.Modules = append(result.Modules, modulesMask.Project(sourceItem)) 9548 } 9549 } 9550 return result 9551 } 9552 9553 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 9554 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_HailoInfo)) 9555 } 9556 9557 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_FieldMask) PathsCount() int { 9558 if fieldMask == nil { 9559 return 0 9560 } 9561 return len(fieldMask.Paths) 9562 } 9563 9564 type Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask struct { 9565 Paths []DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPath 9566 } 9567 9568 func FullDevice_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask { 9569 res := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask{} 9570 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorStatus}) 9571 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorDriverVersion}) 9572 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorCudaVersion}) 9573 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorGpus}) 9574 return res 9575 } 9576 9577 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) String() string { 9578 if fieldMask == nil { 9579 return "<nil>" 9580 } 9581 pathsStr := make([]string, 0, len(fieldMask.Paths)) 9582 for _, path := range fieldMask.Paths { 9583 pathsStr = append(pathsStr, path.String()) 9584 } 9585 return strings.Join(pathsStr, ", ") 9586 } 9587 9588 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) IsFull() bool { 9589 if fieldMask == nil { 9590 return false 9591 } 9592 presentSelectors := make([]bool, 4) 9593 for _, path := range fieldMask.Paths { 9594 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldTerminalPath); ok { 9595 presentSelectors[int(asFinal.selector)] = true 9596 } 9597 } 9598 for _, flag := range presentSelectors { 9599 if !flag { 9600 return false 9601 } 9602 } 9603 return true 9604 } 9605 9606 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) ProtoReflect() preflect.Message { 9607 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 9608 return ParseDeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPath(raw) 9609 }) 9610 } 9611 9612 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) ProtoMessage() {} 9613 9614 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) Reset() { 9615 if fieldMask != nil { 9616 fieldMask.Paths = nil 9617 } 9618 } 9619 9620 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask { 9621 result := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask{} 9622 removedSelectors := make([]bool, 4) 9623 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelector]gotenobject.FieldMask{ 9624 DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorGpus: &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask{}, 9625 } 9626 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelector]gotenobject.FieldMask{ 9627 DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorGpus: &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask{}, 9628 } 9629 9630 for _, path := range other.GetPaths() { 9631 switch tp := path.(type) { 9632 case *DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldTerminalPath: 9633 removedSelectors[int(tp.selector)] = true 9634 case *DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldSubPath: 9635 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 9636 } 9637 } 9638 for _, path := range fieldMask.GetPaths() { 9639 if !removedSelectors[int(path.Selector())] { 9640 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 9641 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldTerminalPath); ok { 9642 switch tp.selector { 9643 case DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorGpus: 9644 mySubMasks[DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorGpus] = FullDevice_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask() 9645 } 9646 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldSubPath); ok { 9647 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 9648 } 9649 } else { 9650 result.Paths = append(result.Paths, path) 9651 } 9652 } 9653 } 9654 for selector, mySubMask := range mySubMasks { 9655 if mySubMask.PathsCount() > 0 { 9656 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 9657 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldSubPath{selector: selector, subPath: allowedPath}) 9658 } 9659 } 9660 } 9661 9662 if len(result.Paths) == 0 { 9663 return nil 9664 } 9665 return result 9666 } 9667 9668 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 9669 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask)) 9670 } 9671 9672 // FilterInputFields generates copy of field paths with output_only field paths removed 9673 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask { 9674 result := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask{} 9675 result.Paths = append(result.Paths, fieldMask.Paths...) 9676 return result 9677 } 9678 9679 // ToFieldMask is used for proto conversions 9680 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 9681 protoFieldMask := &googlefieldmaskpb.FieldMask{} 9682 for _, path := range fieldMask.Paths { 9683 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 9684 } 9685 return protoFieldMask 9686 } 9687 9688 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 9689 if fieldMask == nil { 9690 return status.Error(codes.Internal, "target field mask is nil") 9691 } 9692 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPath, 0, len(protoFieldMask.Paths)) 9693 for _, strPath := range protoFieldMask.Paths { 9694 path, err := ParseDeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPath(strPath) 9695 if err != nil { 9696 return err 9697 } 9698 fieldMask.Paths = append(fieldMask.Paths, path) 9699 } 9700 return nil 9701 } 9702 9703 // implement methods required by customType 9704 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) Marshal() ([]byte, error) { 9705 protoFieldMask := fieldMask.ToProtoFieldMask() 9706 return proto.Marshal(protoFieldMask) 9707 } 9708 9709 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) Unmarshal(data []byte) error { 9710 protoFieldMask := &googlefieldmaskpb.FieldMask{} 9711 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 9712 return err 9713 } 9714 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 9715 return err 9716 } 9717 return nil 9718 } 9719 9720 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) Size() int { 9721 return proto.Size(fieldMask.ToProtoFieldMask()) 9722 } 9723 9724 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) MarshalJSON() ([]byte, error) { 9725 return json.Marshal(fieldMask.ToProtoFieldMask()) 9726 } 9727 9728 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) UnmarshalJSON(data []byte) error { 9729 protoFieldMask := &googlefieldmaskpb.FieldMask{} 9730 if err := json.Unmarshal(data, protoFieldMask); err != nil { 9731 return err 9732 } 9733 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 9734 return err 9735 } 9736 return nil 9737 } 9738 9739 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPath) { 9740 fieldMask.Paths = append(fieldMask.Paths, path) 9741 } 9742 9743 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 9744 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPath)) 9745 } 9746 9747 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPath { 9748 if fieldMask == nil { 9749 return nil 9750 } 9751 return fieldMask.Paths 9752 } 9753 9754 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) GetRawPaths() []gotenobject.FieldPath { 9755 if fieldMask == nil { 9756 return nil 9757 } 9758 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 9759 for _, path := range fieldMask.Paths { 9760 rawPaths = append(rawPaths, path) 9761 } 9762 return rawPaths 9763 } 9764 9765 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) SetFromCliFlag(raw string) error { 9766 path, err := ParseDeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPath(raw) 9767 if err != nil { 9768 return err 9769 } 9770 fieldMask.Paths = append(fieldMask.Paths, path) 9771 return nil 9772 } 9773 9774 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo) { 9775 for _, path := range fieldMask.Paths { 9776 val, _ := path.GetSingle(source) 9777 // if val is nil, then field does not exist in source, skip 9778 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 9779 if val != nil { 9780 path.WithIValue(val).SetTo(&target) 9781 } 9782 } 9783 } 9784 9785 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 9786 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo), source.(*Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo)) 9787 } 9788 9789 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo) *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo { 9790 if source == nil { 9791 return nil 9792 } 9793 if fieldMask == nil { 9794 return source 9795 } 9796 result := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo{} 9797 gpusMask := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask{} 9798 wholeGpusAccepted := false 9799 9800 for _, p := range fieldMask.Paths { 9801 switch tp := p.(type) { 9802 case *DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldTerminalPath: 9803 switch tp.selector { 9804 case DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorStatus: 9805 result.Status = source.Status 9806 case DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorDriverVersion: 9807 result.DriverVersion = source.DriverVersion 9808 case DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorCudaVersion: 9809 result.CudaVersion = source.CudaVersion 9810 case DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorGpus: 9811 result.Gpus = source.Gpus 9812 wholeGpusAccepted = true 9813 } 9814 case *DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldSubPath: 9815 switch tp.selector { 9816 case DeviceStatusDeviceInfoHardwareInformationNvidiaInfo_FieldPathSelectorGpus: 9817 gpusMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPath)) 9818 } 9819 } 9820 } 9821 if wholeGpusAccepted == false && len(gpusMask.Paths) > 0 { 9822 for _, sourceItem := range source.GetGpus() { 9823 result.Gpus = append(result.Gpus, gpusMask.Project(sourceItem)) 9824 } 9825 } 9826 return result 9827 } 9828 9829 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 9830 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo)) 9831 } 9832 9833 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_FieldMask) PathsCount() int { 9834 if fieldMask == nil { 9835 return 0 9836 } 9837 return len(fieldMask.Paths) 9838 } 9839 9840 type Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask struct { 9841 Paths []DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPath 9842 } 9843 9844 func FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask { 9845 res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask{} 9846 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPathSelectorModem}) 9847 return res 9848 } 9849 9850 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) String() string { 9851 if fieldMask == nil { 9852 return "<nil>" 9853 } 9854 pathsStr := make([]string, 0, len(fieldMask.Paths)) 9855 for _, path := range fieldMask.Paths { 9856 pathsStr = append(pathsStr, path.String()) 9857 } 9858 return strings.Join(pathsStr, ", ") 9859 } 9860 9861 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) IsFull() bool { 9862 if fieldMask == nil { 9863 return false 9864 } 9865 presentSelectors := make([]bool, 1) 9866 for _, path := range fieldMask.Paths { 9867 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldTerminalPath); ok { 9868 presentSelectors[int(asFinal.selector)] = true 9869 } 9870 } 9871 for _, flag := range presentSelectors { 9872 if !flag { 9873 return false 9874 } 9875 } 9876 return true 9877 } 9878 9879 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) ProtoReflect() preflect.Message { 9880 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 9881 return ParseDeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPath(raw) 9882 }) 9883 } 9884 9885 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) ProtoMessage() {} 9886 9887 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) Reset() { 9888 if fieldMask != nil { 9889 fieldMask.Paths = nil 9890 } 9891 } 9892 9893 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask { 9894 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask{} 9895 removedSelectors := make([]bool, 1) 9896 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPathSelector]gotenobject.FieldMask{ 9897 DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPathSelectorModem: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask{}, 9898 } 9899 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPathSelector]gotenobject.FieldMask{ 9900 DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPathSelectorModem: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask{}, 9901 } 9902 9903 for _, path := range other.GetPaths() { 9904 switch tp := path.(type) { 9905 case *DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldTerminalPath: 9906 removedSelectors[int(tp.selector)] = true 9907 case *DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldSubPath: 9908 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 9909 } 9910 } 9911 for _, path := range fieldMask.GetPaths() { 9912 if !removedSelectors[int(path.Selector())] { 9913 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 9914 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldTerminalPath); ok { 9915 switch tp.selector { 9916 case DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPathSelectorModem: 9917 mySubMasks[DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPathSelectorModem] = FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask() 9918 } 9919 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldSubPath); ok { 9920 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 9921 } 9922 } else { 9923 result.Paths = append(result.Paths, path) 9924 } 9925 } 9926 } 9927 for selector, mySubMask := range mySubMasks { 9928 if mySubMask.PathsCount() > 0 { 9929 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 9930 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldSubPath{selector: selector, subPath: allowedPath}) 9931 } 9932 } 9933 } 9934 9935 if len(result.Paths) == 0 { 9936 return nil 9937 } 9938 return result 9939 } 9940 9941 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 9942 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask)) 9943 } 9944 9945 // FilterInputFields generates copy of field paths with output_only field paths removed 9946 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask { 9947 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask{} 9948 result.Paths = append(result.Paths, fieldMask.Paths...) 9949 return result 9950 } 9951 9952 // ToFieldMask is used for proto conversions 9953 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 9954 protoFieldMask := &googlefieldmaskpb.FieldMask{} 9955 for _, path := range fieldMask.Paths { 9956 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 9957 } 9958 return protoFieldMask 9959 } 9960 9961 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 9962 if fieldMask == nil { 9963 return status.Error(codes.Internal, "target field mask is nil") 9964 } 9965 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPath, 0, len(protoFieldMask.Paths)) 9966 for _, strPath := range protoFieldMask.Paths { 9967 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPath(strPath) 9968 if err != nil { 9969 return err 9970 } 9971 fieldMask.Paths = append(fieldMask.Paths, path) 9972 } 9973 return nil 9974 } 9975 9976 // implement methods required by customType 9977 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) Marshal() ([]byte, error) { 9978 protoFieldMask := fieldMask.ToProtoFieldMask() 9979 return proto.Marshal(protoFieldMask) 9980 } 9981 9982 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) Unmarshal(data []byte) error { 9983 protoFieldMask := &googlefieldmaskpb.FieldMask{} 9984 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 9985 return err 9986 } 9987 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 9988 return err 9989 } 9990 return nil 9991 } 9992 9993 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) Size() int { 9994 return proto.Size(fieldMask.ToProtoFieldMask()) 9995 } 9996 9997 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) MarshalJSON() ([]byte, error) { 9998 return json.Marshal(fieldMask.ToProtoFieldMask()) 9999 } 10000 10001 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) UnmarshalJSON(data []byte) error { 10002 protoFieldMask := &googlefieldmaskpb.FieldMask{} 10003 if err := json.Unmarshal(data, protoFieldMask); err != nil { 10004 return err 10005 } 10006 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 10007 return err 10008 } 10009 return nil 10010 } 10011 10012 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPath) { 10013 fieldMask.Paths = append(fieldMask.Paths, path) 10014 } 10015 10016 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 10017 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPath)) 10018 } 10019 10020 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPath { 10021 if fieldMask == nil { 10022 return nil 10023 } 10024 return fieldMask.Paths 10025 } 10026 10027 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) GetRawPaths() []gotenobject.FieldPath { 10028 if fieldMask == nil { 10029 return nil 10030 } 10031 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 10032 for _, path := range fieldMask.Paths { 10033 rawPaths = append(rawPaths, path) 10034 } 10035 return rawPaths 10036 } 10037 10038 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) SetFromCliFlag(raw string) error { 10039 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPath(raw) 10040 if err != nil { 10041 return err 10042 } 10043 fieldMask.Paths = append(fieldMask.Paths, path) 10044 return nil 10045 } 10046 10047 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus) { 10048 for _, path := range fieldMask.Paths { 10049 val, _ := path.GetSingle(source) 10050 // if val is nil, then field does not exist in source, skip 10051 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 10052 if val != nil { 10053 path.WithIValue(val).SetTo(&target) 10054 } 10055 } 10056 } 10057 10058 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 10059 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus), source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus)) 10060 } 10061 10062 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus { 10063 if source == nil { 10064 return nil 10065 } 10066 if fieldMask == nil { 10067 return source 10068 } 10069 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus{} 10070 modemMask := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask{} 10071 wholeModemAccepted := false 10072 10073 for _, p := range fieldMask.Paths { 10074 switch tp := p.(type) { 10075 case *DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldTerminalPath: 10076 switch tp.selector { 10077 case DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPathSelectorModem: 10078 result.Modem = source.Modem 10079 wholeModemAccepted = true 10080 } 10081 case *DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldSubPath: 10082 switch tp.selector { 10083 case DeviceStatusDeviceInfoHardwareInformationModemStatus_FieldPathSelectorModem: 10084 modemMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPath)) 10085 } 10086 } 10087 } 10088 if wholeModemAccepted == false && len(modemMask.Paths) > 0 { 10089 result.Modem = modemMask.Project(source.GetModem()) 10090 } 10091 return result 10092 } 10093 10094 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 10095 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus)) 10096 } 10097 10098 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FieldMask) PathsCount() int { 10099 if fieldMask == nil { 10100 return 0 10101 } 10102 return len(fieldMask.Paths) 10103 } 10104 10105 type Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask struct { 10106 Paths []DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPath 10107 } 10108 10109 func FullDevice_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask { 10110 res := &Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask{} 10111 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPathSelectorChassis}) 10112 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPathSelectorUuid}) 10113 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPathSelectorSkuNumber}) 10114 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPathSelectorFamily}) 10115 return res 10116 } 10117 10118 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) String() string { 10119 if fieldMask == nil { 10120 return "<nil>" 10121 } 10122 pathsStr := make([]string, 0, len(fieldMask.Paths)) 10123 for _, path := range fieldMask.Paths { 10124 pathsStr = append(pathsStr, path.String()) 10125 } 10126 return strings.Join(pathsStr, ", ") 10127 } 10128 10129 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) IsFull() bool { 10130 if fieldMask == nil { 10131 return false 10132 } 10133 presentSelectors := make([]bool, 4) 10134 for _, path := range fieldMask.Paths { 10135 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldTerminalPath); ok { 10136 presentSelectors[int(asFinal.selector)] = true 10137 } 10138 } 10139 for _, flag := range presentSelectors { 10140 if !flag { 10141 return false 10142 } 10143 } 10144 return true 10145 } 10146 10147 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) ProtoReflect() preflect.Message { 10148 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 10149 return ParseDeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPath(raw) 10150 }) 10151 } 10152 10153 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) ProtoMessage() { 10154 } 10155 10156 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) Reset() { 10157 if fieldMask != nil { 10158 fieldMask.Paths = nil 10159 } 10160 } 10161 10162 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask { 10163 result := &Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask{} 10164 removedSelectors := make([]bool, 4) 10165 10166 for _, path := range other.GetPaths() { 10167 switch tp := path.(type) { 10168 case *DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldTerminalPath: 10169 removedSelectors[int(tp.selector)] = true 10170 } 10171 } 10172 for _, path := range fieldMask.GetPaths() { 10173 if !removedSelectors[int(path.Selector())] { 10174 result.Paths = append(result.Paths, path) 10175 } 10176 } 10177 10178 if len(result.Paths) == 0 { 10179 return nil 10180 } 10181 return result 10182 } 10183 10184 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 10185 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask)) 10186 } 10187 10188 // FilterInputFields generates copy of field paths with output_only field paths removed 10189 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask { 10190 result := &Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask{} 10191 result.Paths = append(result.Paths, fieldMask.Paths...) 10192 return result 10193 } 10194 10195 // ToFieldMask is used for proto conversions 10196 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 10197 protoFieldMask := &googlefieldmaskpb.FieldMask{} 10198 for _, path := range fieldMask.Paths { 10199 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 10200 } 10201 return protoFieldMask 10202 } 10203 10204 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 10205 if fieldMask == nil { 10206 return status.Error(codes.Internal, "target field mask is nil") 10207 } 10208 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPath, 0, len(protoFieldMask.Paths)) 10209 for _, strPath := range protoFieldMask.Paths { 10210 path, err := ParseDeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPath(strPath) 10211 if err != nil { 10212 return err 10213 } 10214 fieldMask.Paths = append(fieldMask.Paths, path) 10215 } 10216 return nil 10217 } 10218 10219 // implement methods required by customType 10220 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) Marshal() ([]byte, error) { 10221 protoFieldMask := fieldMask.ToProtoFieldMask() 10222 return proto.Marshal(protoFieldMask) 10223 } 10224 10225 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) Unmarshal(data []byte) error { 10226 protoFieldMask := &googlefieldmaskpb.FieldMask{} 10227 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 10228 return err 10229 } 10230 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 10231 return err 10232 } 10233 return nil 10234 } 10235 10236 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) Size() int { 10237 return proto.Size(fieldMask.ToProtoFieldMask()) 10238 } 10239 10240 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) MarshalJSON() ([]byte, error) { 10241 return json.Marshal(fieldMask.ToProtoFieldMask()) 10242 } 10243 10244 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) UnmarshalJSON(data []byte) error { 10245 protoFieldMask := &googlefieldmaskpb.FieldMask{} 10246 if err := json.Unmarshal(data, protoFieldMask); err != nil { 10247 return err 10248 } 10249 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 10250 return err 10251 } 10252 return nil 10253 } 10254 10255 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPath) { 10256 fieldMask.Paths = append(fieldMask.Paths, path) 10257 } 10258 10259 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 10260 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPath)) 10261 } 10262 10263 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPath { 10264 if fieldMask == nil { 10265 return nil 10266 } 10267 return fieldMask.Paths 10268 } 10269 10270 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) GetRawPaths() []gotenobject.FieldPath { 10271 if fieldMask == nil { 10272 return nil 10273 } 10274 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 10275 for _, path := range fieldMask.Paths { 10276 rawPaths = append(rawPaths, path) 10277 } 10278 return rawPaths 10279 } 10280 10281 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) SetFromCliFlag(raw string) error { 10282 path, err := ParseDeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPath(raw) 10283 if err != nil { 10284 return err 10285 } 10286 fieldMask.Paths = append(fieldMask.Paths, path) 10287 return nil 10288 } 10289 10290 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_System_Configuration) { 10291 for _, path := range fieldMask.Paths { 10292 val, _ := path.GetSingle(source) 10293 // if val is nil, then field does not exist in source, skip 10294 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 10295 if val != nil { 10296 path.WithIValue(val).SetTo(&target) 10297 } 10298 } 10299 } 10300 10301 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 10302 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_System_Configuration), source.(*Device_Status_DeviceInfo_HardwareInformation_System_Configuration)) 10303 } 10304 10305 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_System_Configuration) *Device_Status_DeviceInfo_HardwareInformation_System_Configuration { 10306 if source == nil { 10307 return nil 10308 } 10309 if fieldMask == nil { 10310 return source 10311 } 10312 result := &Device_Status_DeviceInfo_HardwareInformation_System_Configuration{} 10313 10314 for _, p := range fieldMask.Paths { 10315 switch tp := p.(type) { 10316 case *DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldTerminalPath: 10317 switch tp.selector { 10318 case DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPathSelectorChassis: 10319 result.Chassis = source.Chassis 10320 case DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPathSelectorUuid: 10321 result.Uuid = source.Uuid 10322 case DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPathSelectorSkuNumber: 10323 result.SkuNumber = source.SkuNumber 10324 case DeviceStatusDeviceInfoHardwareInformationSystemConfiguration_FieldPathSelectorFamily: 10325 result.Family = source.Family 10326 } 10327 } 10328 } 10329 return result 10330 } 10331 10332 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 10333 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_System_Configuration)) 10334 } 10335 10336 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_System_Configuration_FieldMask) PathsCount() int { 10337 if fieldMask == nil { 10338 return 0 10339 } 10340 return len(fieldMask.Paths) 10341 } 10342 10343 type Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask struct { 10344 Paths []DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPath 10345 } 10346 10347 func FullDevice_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask { 10348 res := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask{} 10349 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorVendor}) 10350 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorModel}) 10351 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCapabilities}) 10352 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorNumThreads}) 10353 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorNumCores}) 10354 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorNumEnabledCores}) 10355 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorName}) 10356 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorSerial}) 10357 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorFrequencyMhz}) 10358 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorMaxFrequencyMhz}) 10359 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCacheInfo}) 10360 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorDriver}) 10361 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorLatency}) 10362 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorClock}) 10363 return res 10364 } 10365 10366 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) String() string { 10367 if fieldMask == nil { 10368 return "<nil>" 10369 } 10370 pathsStr := make([]string, 0, len(fieldMask.Paths)) 10371 for _, path := range fieldMask.Paths { 10372 pathsStr = append(pathsStr, path.String()) 10373 } 10374 return strings.Join(pathsStr, ", ") 10375 } 10376 10377 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) IsFull() bool { 10378 if fieldMask == nil { 10379 return false 10380 } 10381 presentSelectors := make([]bool, 14) 10382 for _, path := range fieldMask.Paths { 10383 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath); ok { 10384 presentSelectors[int(asFinal.selector)] = true 10385 } 10386 } 10387 for _, flag := range presentSelectors { 10388 if !flag { 10389 return false 10390 } 10391 } 10392 return true 10393 } 10394 10395 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) ProtoReflect() preflect.Message { 10396 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 10397 return ParseDeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPath(raw) 10398 }) 10399 } 10400 10401 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) ProtoMessage() { 10402 } 10403 10404 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) Reset() { 10405 if fieldMask != nil { 10406 fieldMask.Paths = nil 10407 } 10408 } 10409 10410 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask { 10411 result := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask{} 10412 removedSelectors := make([]bool, 14) 10413 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelector]gotenobject.FieldMask{ 10414 DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCapabilities: &Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask{}, 10415 DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCacheInfo: &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask{}, 10416 } 10417 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelector]gotenobject.FieldMask{ 10418 DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCapabilities: &Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask{}, 10419 DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCacheInfo: &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask{}, 10420 } 10421 10422 for _, path := range other.GetPaths() { 10423 switch tp := path.(type) { 10424 case *DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath: 10425 removedSelectors[int(tp.selector)] = true 10426 case *DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldSubPath: 10427 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 10428 } 10429 } 10430 for _, path := range fieldMask.GetPaths() { 10431 if !removedSelectors[int(path.Selector())] { 10432 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 10433 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath); ok { 10434 switch tp.selector { 10435 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCapabilities: 10436 mySubMasks[DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCapabilities] = FullDevice_Status_DeviceInfo_HardwareInformation_Capability_FieldMask() 10437 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCacheInfo: 10438 mySubMasks[DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCacheInfo] = FullDevice_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask() 10439 } 10440 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldSubPath); ok { 10441 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 10442 } 10443 } else { 10444 result.Paths = append(result.Paths, path) 10445 } 10446 } 10447 } 10448 for selector, mySubMask := range mySubMasks { 10449 if mySubMask.PathsCount() > 0 { 10450 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 10451 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldSubPath{selector: selector, subPath: allowedPath}) 10452 } 10453 } 10454 } 10455 10456 if len(result.Paths) == 0 { 10457 return nil 10458 } 10459 return result 10460 } 10461 10462 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 10463 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask)) 10464 } 10465 10466 // FilterInputFields generates copy of field paths with output_only field paths removed 10467 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask { 10468 result := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask{} 10469 result.Paths = append(result.Paths, fieldMask.Paths...) 10470 return result 10471 } 10472 10473 // ToFieldMask is used for proto conversions 10474 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 10475 protoFieldMask := &googlefieldmaskpb.FieldMask{} 10476 for _, path := range fieldMask.Paths { 10477 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 10478 } 10479 return protoFieldMask 10480 } 10481 10482 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 10483 if fieldMask == nil { 10484 return status.Error(codes.Internal, "target field mask is nil") 10485 } 10486 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPath, 0, len(protoFieldMask.Paths)) 10487 for _, strPath := range protoFieldMask.Paths { 10488 path, err := ParseDeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPath(strPath) 10489 if err != nil { 10490 return err 10491 } 10492 fieldMask.Paths = append(fieldMask.Paths, path) 10493 } 10494 return nil 10495 } 10496 10497 // implement methods required by customType 10498 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) Marshal() ([]byte, error) { 10499 protoFieldMask := fieldMask.ToProtoFieldMask() 10500 return proto.Marshal(protoFieldMask) 10501 } 10502 10503 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) Unmarshal(data []byte) error { 10504 protoFieldMask := &googlefieldmaskpb.FieldMask{} 10505 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 10506 return err 10507 } 10508 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 10509 return err 10510 } 10511 return nil 10512 } 10513 10514 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) Size() int { 10515 return proto.Size(fieldMask.ToProtoFieldMask()) 10516 } 10517 10518 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) MarshalJSON() ([]byte, error) { 10519 return json.Marshal(fieldMask.ToProtoFieldMask()) 10520 } 10521 10522 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) UnmarshalJSON(data []byte) error { 10523 protoFieldMask := &googlefieldmaskpb.FieldMask{} 10524 if err := json.Unmarshal(data, protoFieldMask); err != nil { 10525 return err 10526 } 10527 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 10528 return err 10529 } 10530 return nil 10531 } 10532 10533 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPath) { 10534 fieldMask.Paths = append(fieldMask.Paths, path) 10535 } 10536 10537 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 10538 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPath)) 10539 } 10540 10541 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPath { 10542 if fieldMask == nil { 10543 return nil 10544 } 10545 return fieldMask.Paths 10546 } 10547 10548 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) GetRawPaths() []gotenobject.FieldPath { 10549 if fieldMask == nil { 10550 return nil 10551 } 10552 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 10553 for _, path := range fieldMask.Paths { 10554 rawPaths = append(rawPaths, path) 10555 } 10556 return rawPaths 10557 } 10558 10559 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) SetFromCliFlag(raw string) error { 10560 path, err := ParseDeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPath(raw) 10561 if err != nil { 10562 return err 10563 } 10564 fieldMask.Paths = append(fieldMask.Paths, path) 10565 return nil 10566 } 10567 10568 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor) { 10569 for _, path := range fieldMask.Paths { 10570 val, _ := path.GetSingle(source) 10571 // if val is nil, then field does not exist in source, skip 10572 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 10573 if val != nil { 10574 path.WithIValue(val).SetTo(&target) 10575 } 10576 } 10577 } 10578 10579 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 10580 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor), source.(*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor)) 10581 } 10582 10583 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor) *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor { 10584 if source == nil { 10585 return nil 10586 } 10587 if fieldMask == nil { 10588 return source 10589 } 10590 result := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor{} 10591 capabilitiesMask := &Device_Status_DeviceInfo_HardwareInformation_Capability_FieldMask{} 10592 wholeCapabilitiesAccepted := false 10593 cacheInfoMask := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask{} 10594 wholeCacheInfoAccepted := false 10595 10596 for _, p := range fieldMask.Paths { 10597 switch tp := p.(type) { 10598 case *DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldTerminalPath: 10599 switch tp.selector { 10600 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorVendor: 10601 result.Vendor = source.Vendor 10602 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorModel: 10603 result.Model = source.Model 10604 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCapabilities: 10605 result.Capabilities = source.Capabilities 10606 wholeCapabilitiesAccepted = true 10607 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorNumThreads: 10608 result.NumThreads = source.NumThreads 10609 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorNumCores: 10610 result.NumCores = source.NumCores 10611 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorNumEnabledCores: 10612 result.NumEnabledCores = source.NumEnabledCores 10613 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorName: 10614 result.Name = source.Name 10615 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorSerial: 10616 result.Serial = source.Serial 10617 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorFrequencyMhz: 10618 result.FrequencyMhz = source.FrequencyMhz 10619 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorMaxFrequencyMhz: 10620 result.MaxFrequencyMhz = source.MaxFrequencyMhz 10621 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCacheInfo: 10622 result.CacheInfo = source.CacheInfo 10623 wholeCacheInfoAccepted = true 10624 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorDriver: 10625 result.Driver = source.Driver 10626 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorLatency: 10627 result.Latency = source.Latency 10628 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorClock: 10629 result.Clock = source.Clock 10630 } 10631 case *DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldSubPath: 10632 switch tp.selector { 10633 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCapabilities: 10634 capabilitiesMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationCapability_FieldPath)) 10635 case DeviceStatusDeviceInfoHardwareInformationCPUProcessor_FieldPathSelectorCacheInfo: 10636 cacheInfoMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPath)) 10637 } 10638 } 10639 } 10640 if wholeCapabilitiesAccepted == false && len(capabilitiesMask.Paths) > 0 { 10641 for _, sourceItem := range source.GetCapabilities() { 10642 result.Capabilities = append(result.Capabilities, capabilitiesMask.Project(sourceItem)) 10643 } 10644 } 10645 if wholeCacheInfoAccepted == false && len(cacheInfoMask.Paths) > 0 { 10646 for _, sourceItem := range source.GetCacheInfo() { 10647 result.CacheInfo = append(result.CacheInfo, cacheInfoMask.Project(sourceItem)) 10648 } 10649 } 10650 return result 10651 } 10652 10653 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 10654 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor)) 10655 } 10656 10657 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_FieldMask) PathsCount() int { 10658 if fieldMask == nil { 10659 return 0 10660 } 10661 return len(fieldMask.Paths) 10662 } 10663 10664 type Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask struct { 10665 Paths []DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPath 10666 } 10667 10668 func FullDevice_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask { 10669 res := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask{} 10670 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPathSelectorType}) 10671 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPathSelectorSizeBytes}) 10672 return res 10673 } 10674 10675 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) String() string { 10676 if fieldMask == nil { 10677 return "<nil>" 10678 } 10679 pathsStr := make([]string, 0, len(fieldMask.Paths)) 10680 for _, path := range fieldMask.Paths { 10681 pathsStr = append(pathsStr, path.String()) 10682 } 10683 return strings.Join(pathsStr, ", ") 10684 } 10685 10686 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) IsFull() bool { 10687 if fieldMask == nil { 10688 return false 10689 } 10690 presentSelectors := make([]bool, 2) 10691 for _, path := range fieldMask.Paths { 10692 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldTerminalPath); ok { 10693 presentSelectors[int(asFinal.selector)] = true 10694 } 10695 } 10696 for _, flag := range presentSelectors { 10697 if !flag { 10698 return false 10699 } 10700 } 10701 return true 10702 } 10703 10704 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) ProtoReflect() preflect.Message { 10705 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 10706 return ParseDeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPath(raw) 10707 }) 10708 } 10709 10710 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) ProtoMessage() { 10711 } 10712 10713 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) Reset() { 10714 if fieldMask != nil { 10715 fieldMask.Paths = nil 10716 } 10717 } 10718 10719 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask { 10720 result := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask{} 10721 removedSelectors := make([]bool, 2) 10722 10723 for _, path := range other.GetPaths() { 10724 switch tp := path.(type) { 10725 case *DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldTerminalPath: 10726 removedSelectors[int(tp.selector)] = true 10727 } 10728 } 10729 for _, path := range fieldMask.GetPaths() { 10730 if !removedSelectors[int(path.Selector())] { 10731 result.Paths = append(result.Paths, path) 10732 } 10733 } 10734 10735 if len(result.Paths) == 0 { 10736 return nil 10737 } 10738 return result 10739 } 10740 10741 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 10742 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask)) 10743 } 10744 10745 // FilterInputFields generates copy of field paths with output_only field paths removed 10746 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask { 10747 result := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask{} 10748 result.Paths = append(result.Paths, fieldMask.Paths...) 10749 return result 10750 } 10751 10752 // ToFieldMask is used for proto conversions 10753 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 10754 protoFieldMask := &googlefieldmaskpb.FieldMask{} 10755 for _, path := range fieldMask.Paths { 10756 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 10757 } 10758 return protoFieldMask 10759 } 10760 10761 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 10762 if fieldMask == nil { 10763 return status.Error(codes.Internal, "target field mask is nil") 10764 } 10765 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPath, 0, len(protoFieldMask.Paths)) 10766 for _, strPath := range protoFieldMask.Paths { 10767 path, err := ParseDeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPath(strPath) 10768 if err != nil { 10769 return err 10770 } 10771 fieldMask.Paths = append(fieldMask.Paths, path) 10772 } 10773 return nil 10774 } 10775 10776 // implement methods required by customType 10777 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) Marshal() ([]byte, error) { 10778 protoFieldMask := fieldMask.ToProtoFieldMask() 10779 return proto.Marshal(protoFieldMask) 10780 } 10781 10782 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) Unmarshal(data []byte) error { 10783 protoFieldMask := &googlefieldmaskpb.FieldMask{} 10784 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 10785 return err 10786 } 10787 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 10788 return err 10789 } 10790 return nil 10791 } 10792 10793 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) Size() int { 10794 return proto.Size(fieldMask.ToProtoFieldMask()) 10795 } 10796 10797 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) MarshalJSON() ([]byte, error) { 10798 return json.Marshal(fieldMask.ToProtoFieldMask()) 10799 } 10800 10801 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) UnmarshalJSON(data []byte) error { 10802 protoFieldMask := &googlefieldmaskpb.FieldMask{} 10803 if err := json.Unmarshal(data, protoFieldMask); err != nil { 10804 return err 10805 } 10806 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 10807 return err 10808 } 10809 return nil 10810 } 10811 10812 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPath) { 10813 fieldMask.Paths = append(fieldMask.Paths, path) 10814 } 10815 10816 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 10817 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPath)) 10818 } 10819 10820 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPath { 10821 if fieldMask == nil { 10822 return nil 10823 } 10824 return fieldMask.Paths 10825 } 10826 10827 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) GetRawPaths() []gotenobject.FieldPath { 10828 if fieldMask == nil { 10829 return nil 10830 } 10831 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 10832 for _, path := range fieldMask.Paths { 10833 rawPaths = append(rawPaths, path) 10834 } 10835 return rawPaths 10836 } 10837 10838 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) SetFromCliFlag(raw string) error { 10839 path, err := ParseDeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPath(raw) 10840 if err != nil { 10841 return err 10842 } 10843 fieldMask.Paths = append(fieldMask.Paths, path) 10844 return nil 10845 } 10846 10847 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache) { 10848 for _, path := range fieldMask.Paths { 10849 val, _ := path.GetSingle(source) 10850 // if val is nil, then field does not exist in source, skip 10851 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 10852 if val != nil { 10853 path.WithIValue(val).SetTo(&target) 10854 } 10855 } 10856 } 10857 10858 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 10859 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache), source.(*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache)) 10860 } 10861 10862 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache) *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache { 10863 if source == nil { 10864 return nil 10865 } 10866 if fieldMask == nil { 10867 return source 10868 } 10869 result := &Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache{} 10870 10871 for _, p := range fieldMask.Paths { 10872 switch tp := p.(type) { 10873 case *DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldTerminalPath: 10874 switch tp.selector { 10875 case DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPathSelectorType: 10876 result.Type = source.Type 10877 case DeviceStatusDeviceInfoHardwareInformationCPUProcessorCache_FieldPathSelectorSizeBytes: 10878 result.SizeBytes = source.SizeBytes 10879 } 10880 } 10881 } 10882 return result 10883 } 10884 10885 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 10886 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache)) 10887 } 10888 10889 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_CPU_Processor_Cache_FieldMask) PathsCount() int { 10890 if fieldMask == nil { 10891 return 0 10892 } 10893 return len(fieldMask.Paths) 10894 } 10895 10896 type Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask struct { 10897 Paths []DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPath 10898 } 10899 10900 func FullDevice_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask { 10901 res := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask{} 10902 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorName}) 10903 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorSizeBytes}) 10904 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorDriveType}) 10905 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorVendor}) 10906 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorModel}) 10907 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorSerialNumber}) 10908 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorWwn}) 10909 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorPartitions}) 10910 return res 10911 } 10912 10913 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) String() string { 10914 if fieldMask == nil { 10915 return "<nil>" 10916 } 10917 pathsStr := make([]string, 0, len(fieldMask.Paths)) 10918 for _, path := range fieldMask.Paths { 10919 pathsStr = append(pathsStr, path.String()) 10920 } 10921 return strings.Join(pathsStr, ", ") 10922 } 10923 10924 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) IsFull() bool { 10925 if fieldMask == nil { 10926 return false 10927 } 10928 presentSelectors := make([]bool, 8) 10929 for _, path := range fieldMask.Paths { 10930 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath); ok { 10931 presentSelectors[int(asFinal.selector)] = true 10932 } 10933 } 10934 for _, flag := range presentSelectors { 10935 if !flag { 10936 return false 10937 } 10938 } 10939 return true 10940 } 10941 10942 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) ProtoReflect() preflect.Message { 10943 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 10944 return ParseDeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPath(raw) 10945 }) 10946 } 10947 10948 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) ProtoMessage() {} 10949 10950 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) Reset() { 10951 if fieldMask != nil { 10952 fieldMask.Paths = nil 10953 } 10954 } 10955 10956 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask { 10957 result := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask{} 10958 removedSelectors := make([]bool, 8) 10959 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelector]gotenobject.FieldMask{ 10960 DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorPartitions: &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask{}, 10961 } 10962 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelector]gotenobject.FieldMask{ 10963 DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorPartitions: &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask{}, 10964 } 10965 10966 for _, path := range other.GetPaths() { 10967 switch tp := path.(type) { 10968 case *DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath: 10969 removedSelectors[int(tp.selector)] = true 10970 case *DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldSubPath: 10971 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 10972 } 10973 } 10974 for _, path := range fieldMask.GetPaths() { 10975 if !removedSelectors[int(path.Selector())] { 10976 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 10977 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath); ok { 10978 switch tp.selector { 10979 case DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorPartitions: 10980 mySubMasks[DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorPartitions] = FullDevice_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask() 10981 } 10982 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldSubPath); ok { 10983 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 10984 } 10985 } else { 10986 result.Paths = append(result.Paths, path) 10987 } 10988 } 10989 } 10990 for selector, mySubMask := range mySubMasks { 10991 if mySubMask.PathsCount() > 0 { 10992 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 10993 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldSubPath{selector: selector, subPath: allowedPath}) 10994 } 10995 } 10996 } 10997 10998 if len(result.Paths) == 0 { 10999 return nil 11000 } 11001 return result 11002 } 11003 11004 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 11005 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask)) 11006 } 11007 11008 // FilterInputFields generates copy of field paths with output_only field paths removed 11009 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask { 11010 result := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask{} 11011 result.Paths = append(result.Paths, fieldMask.Paths...) 11012 return result 11013 } 11014 11015 // ToFieldMask is used for proto conversions 11016 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 11017 protoFieldMask := &googlefieldmaskpb.FieldMask{} 11018 for _, path := range fieldMask.Paths { 11019 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 11020 } 11021 return protoFieldMask 11022 } 11023 11024 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 11025 if fieldMask == nil { 11026 return status.Error(codes.Internal, "target field mask is nil") 11027 } 11028 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPath, 0, len(protoFieldMask.Paths)) 11029 for _, strPath := range protoFieldMask.Paths { 11030 path, err := ParseDeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPath(strPath) 11031 if err != nil { 11032 return err 11033 } 11034 fieldMask.Paths = append(fieldMask.Paths, path) 11035 } 11036 return nil 11037 } 11038 11039 // implement methods required by customType 11040 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) Marshal() ([]byte, error) { 11041 protoFieldMask := fieldMask.ToProtoFieldMask() 11042 return proto.Marshal(protoFieldMask) 11043 } 11044 11045 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) Unmarshal(data []byte) error { 11046 protoFieldMask := &googlefieldmaskpb.FieldMask{} 11047 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 11048 return err 11049 } 11050 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 11051 return err 11052 } 11053 return nil 11054 } 11055 11056 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) Size() int { 11057 return proto.Size(fieldMask.ToProtoFieldMask()) 11058 } 11059 11060 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) MarshalJSON() ([]byte, error) { 11061 return json.Marshal(fieldMask.ToProtoFieldMask()) 11062 } 11063 11064 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) UnmarshalJSON(data []byte) error { 11065 protoFieldMask := &googlefieldmaskpb.FieldMask{} 11066 if err := json.Unmarshal(data, protoFieldMask); err != nil { 11067 return err 11068 } 11069 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 11070 return err 11071 } 11072 return nil 11073 } 11074 11075 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPath) { 11076 fieldMask.Paths = append(fieldMask.Paths, path) 11077 } 11078 11079 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 11080 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPath)) 11081 } 11082 11083 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPath { 11084 if fieldMask == nil { 11085 return nil 11086 } 11087 return fieldMask.Paths 11088 } 11089 11090 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) GetRawPaths() []gotenobject.FieldPath { 11091 if fieldMask == nil { 11092 return nil 11093 } 11094 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 11095 for _, path := range fieldMask.Paths { 11096 rawPaths = append(rawPaths, path) 11097 } 11098 return rawPaths 11099 } 11100 11101 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) SetFromCliFlag(raw string) error { 11102 path, err := ParseDeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPath(raw) 11103 if err != nil { 11104 return err 11105 } 11106 fieldMask.Paths = append(fieldMask.Paths, path) 11107 return nil 11108 } 11109 11110 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_Block_Disk) { 11111 for _, path := range fieldMask.Paths { 11112 val, _ := path.GetSingle(source) 11113 // if val is nil, then field does not exist in source, skip 11114 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 11115 if val != nil { 11116 path.WithIValue(val).SetTo(&target) 11117 } 11118 } 11119 } 11120 11121 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 11122 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_Block_Disk), source.(*Device_Status_DeviceInfo_HardwareInformation_Block_Disk)) 11123 } 11124 11125 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_Block_Disk) *Device_Status_DeviceInfo_HardwareInformation_Block_Disk { 11126 if source == nil { 11127 return nil 11128 } 11129 if fieldMask == nil { 11130 return source 11131 } 11132 result := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk{} 11133 partitionsMask := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask{} 11134 wholePartitionsAccepted := false 11135 11136 for _, p := range fieldMask.Paths { 11137 switch tp := p.(type) { 11138 case *DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldTerminalPath: 11139 switch tp.selector { 11140 case DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorName: 11141 result.Name = source.Name 11142 case DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorSizeBytes: 11143 result.SizeBytes = source.SizeBytes 11144 case DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorDriveType: 11145 result.DriveType = source.DriveType 11146 case DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorVendor: 11147 result.Vendor = source.Vendor 11148 case DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorModel: 11149 result.Model = source.Model 11150 case DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorSerialNumber: 11151 result.SerialNumber = source.SerialNumber 11152 case DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorWwn: 11153 result.Wwn = source.Wwn 11154 case DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorPartitions: 11155 result.Partitions = source.Partitions 11156 wholePartitionsAccepted = true 11157 } 11158 case *DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldSubPath: 11159 switch tp.selector { 11160 case DeviceStatusDeviceInfoHardwareInformationBlockDisk_FieldPathSelectorPartitions: 11161 partitionsMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPath)) 11162 } 11163 } 11164 } 11165 if wholePartitionsAccepted == false && len(partitionsMask.Paths) > 0 { 11166 for _, sourceItem := range source.GetPartitions() { 11167 result.Partitions = append(result.Partitions, partitionsMask.Project(sourceItem)) 11168 } 11169 } 11170 return result 11171 } 11172 11173 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 11174 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_Block_Disk)) 11175 } 11176 11177 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_FieldMask) PathsCount() int { 11178 if fieldMask == nil { 11179 return 0 11180 } 11181 return len(fieldMask.Paths) 11182 } 11183 11184 type Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask struct { 11185 Paths []DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPath 11186 } 11187 11188 func FullDevice_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask { 11189 res := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask{} 11190 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPathSelectorName}) 11191 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPathSelectorSizeBytes}) 11192 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPathSelectorMountPoint}) 11193 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPathSelectorType}) 11194 return res 11195 } 11196 11197 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) String() string { 11198 if fieldMask == nil { 11199 return "<nil>" 11200 } 11201 pathsStr := make([]string, 0, len(fieldMask.Paths)) 11202 for _, path := range fieldMask.Paths { 11203 pathsStr = append(pathsStr, path.String()) 11204 } 11205 return strings.Join(pathsStr, ", ") 11206 } 11207 11208 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) IsFull() bool { 11209 if fieldMask == nil { 11210 return false 11211 } 11212 presentSelectors := make([]bool, 4) 11213 for _, path := range fieldMask.Paths { 11214 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldTerminalPath); ok { 11215 presentSelectors[int(asFinal.selector)] = true 11216 } 11217 } 11218 for _, flag := range presentSelectors { 11219 if !flag { 11220 return false 11221 } 11222 } 11223 return true 11224 } 11225 11226 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) ProtoReflect() preflect.Message { 11227 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 11228 return ParseDeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPath(raw) 11229 }) 11230 } 11231 11232 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) ProtoMessage() { 11233 } 11234 11235 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) Reset() { 11236 if fieldMask != nil { 11237 fieldMask.Paths = nil 11238 } 11239 } 11240 11241 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask { 11242 result := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask{} 11243 removedSelectors := make([]bool, 4) 11244 11245 for _, path := range other.GetPaths() { 11246 switch tp := path.(type) { 11247 case *DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldTerminalPath: 11248 removedSelectors[int(tp.selector)] = true 11249 } 11250 } 11251 for _, path := range fieldMask.GetPaths() { 11252 if !removedSelectors[int(path.Selector())] { 11253 result.Paths = append(result.Paths, path) 11254 } 11255 } 11256 11257 if len(result.Paths) == 0 { 11258 return nil 11259 } 11260 return result 11261 } 11262 11263 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 11264 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask)) 11265 } 11266 11267 // FilterInputFields generates copy of field paths with output_only field paths removed 11268 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask { 11269 result := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask{} 11270 result.Paths = append(result.Paths, fieldMask.Paths...) 11271 return result 11272 } 11273 11274 // ToFieldMask is used for proto conversions 11275 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 11276 protoFieldMask := &googlefieldmaskpb.FieldMask{} 11277 for _, path := range fieldMask.Paths { 11278 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 11279 } 11280 return protoFieldMask 11281 } 11282 11283 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 11284 if fieldMask == nil { 11285 return status.Error(codes.Internal, "target field mask is nil") 11286 } 11287 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPath, 0, len(protoFieldMask.Paths)) 11288 for _, strPath := range protoFieldMask.Paths { 11289 path, err := ParseDeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPath(strPath) 11290 if err != nil { 11291 return err 11292 } 11293 fieldMask.Paths = append(fieldMask.Paths, path) 11294 } 11295 return nil 11296 } 11297 11298 // implement methods required by customType 11299 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) Marshal() ([]byte, error) { 11300 protoFieldMask := fieldMask.ToProtoFieldMask() 11301 return proto.Marshal(protoFieldMask) 11302 } 11303 11304 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) Unmarshal(data []byte) error { 11305 protoFieldMask := &googlefieldmaskpb.FieldMask{} 11306 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 11307 return err 11308 } 11309 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 11310 return err 11311 } 11312 return nil 11313 } 11314 11315 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) Size() int { 11316 return proto.Size(fieldMask.ToProtoFieldMask()) 11317 } 11318 11319 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) MarshalJSON() ([]byte, error) { 11320 return json.Marshal(fieldMask.ToProtoFieldMask()) 11321 } 11322 11323 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) UnmarshalJSON(data []byte) error { 11324 protoFieldMask := &googlefieldmaskpb.FieldMask{} 11325 if err := json.Unmarshal(data, protoFieldMask); err != nil { 11326 return err 11327 } 11328 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 11329 return err 11330 } 11331 return nil 11332 } 11333 11334 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPath) { 11335 fieldMask.Paths = append(fieldMask.Paths, path) 11336 } 11337 11338 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 11339 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPath)) 11340 } 11341 11342 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPath { 11343 if fieldMask == nil { 11344 return nil 11345 } 11346 return fieldMask.Paths 11347 } 11348 11349 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) GetRawPaths() []gotenobject.FieldPath { 11350 if fieldMask == nil { 11351 return nil 11352 } 11353 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 11354 for _, path := range fieldMask.Paths { 11355 rawPaths = append(rawPaths, path) 11356 } 11357 return rawPaths 11358 } 11359 11360 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) SetFromCliFlag(raw string) error { 11361 path, err := ParseDeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPath(raw) 11362 if err != nil { 11363 return err 11364 } 11365 fieldMask.Paths = append(fieldMask.Paths, path) 11366 return nil 11367 } 11368 11369 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition) { 11370 for _, path := range fieldMask.Paths { 11371 val, _ := path.GetSingle(source) 11372 // if val is nil, then field does not exist in source, skip 11373 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 11374 if val != nil { 11375 path.WithIValue(val).SetTo(&target) 11376 } 11377 } 11378 } 11379 11380 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 11381 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition), source.(*Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition)) 11382 } 11383 11384 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition) *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition { 11385 if source == nil { 11386 return nil 11387 } 11388 if fieldMask == nil { 11389 return source 11390 } 11391 result := &Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition{} 11392 11393 for _, p := range fieldMask.Paths { 11394 switch tp := p.(type) { 11395 case *DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldTerminalPath: 11396 switch tp.selector { 11397 case DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPathSelectorName: 11398 result.Name = source.Name 11399 case DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPathSelectorSizeBytes: 11400 result.SizeBytes = source.SizeBytes 11401 case DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPathSelectorMountPoint: 11402 result.MountPoint = source.MountPoint 11403 case DeviceStatusDeviceInfoHardwareInformationBlockDiskPartition_FieldPathSelectorType: 11404 result.Type = source.Type 11405 } 11406 } 11407 } 11408 return result 11409 } 11410 11411 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 11412 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition)) 11413 } 11414 11415 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Block_Disk_Partition_FieldMask) PathsCount() int { 11416 if fieldMask == nil { 11417 return 0 11418 } 11419 return len(fieldMask.Paths) 11420 } 11421 11422 type Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask struct { 11423 Paths []DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPath 11424 } 11425 11426 func FullDevice_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask { 11427 res := &Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask{} 11428 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorName}) 11429 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorMacAddress}) 11430 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorVirtual}) 11431 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorDescription}) 11432 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorProductName}) 11433 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorVendor}) 11434 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorSubvendor}) 11435 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorSetting}) 11436 return res 11437 } 11438 11439 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) String() string { 11440 if fieldMask == nil { 11441 return "<nil>" 11442 } 11443 pathsStr := make([]string, 0, len(fieldMask.Paths)) 11444 for _, path := range fieldMask.Paths { 11445 pathsStr = append(pathsStr, path.String()) 11446 } 11447 return strings.Join(pathsStr, ", ") 11448 } 11449 11450 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) IsFull() bool { 11451 if fieldMask == nil { 11452 return false 11453 } 11454 presentSelectors := make([]bool, 8) 11455 for _, path := range fieldMask.Paths { 11456 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath); ok { 11457 presentSelectors[int(asFinal.selector)] = true 11458 } 11459 } 11460 for _, flag := range presentSelectors { 11461 if !flag { 11462 return false 11463 } 11464 } 11465 return true 11466 } 11467 11468 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) ProtoReflect() preflect.Message { 11469 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 11470 return ParseDeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPath(raw) 11471 }) 11472 } 11473 11474 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) ProtoMessage() {} 11475 11476 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) Reset() { 11477 if fieldMask != nil { 11478 fieldMask.Paths = nil 11479 } 11480 } 11481 11482 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask { 11483 result := &Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask{} 11484 removedSelectors := make([]bool, 8) 11485 11486 for _, path := range other.GetPaths() { 11487 switch tp := path.(type) { 11488 case *DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath: 11489 removedSelectors[int(tp.selector)] = true 11490 } 11491 } 11492 for _, path := range fieldMask.GetPaths() { 11493 if !removedSelectors[int(path.Selector())] { 11494 result.Paths = append(result.Paths, path) 11495 } 11496 } 11497 11498 if len(result.Paths) == 0 { 11499 return nil 11500 } 11501 return result 11502 } 11503 11504 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 11505 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask)) 11506 } 11507 11508 // FilterInputFields generates copy of field paths with output_only field paths removed 11509 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask { 11510 result := &Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask{} 11511 result.Paths = append(result.Paths, fieldMask.Paths...) 11512 return result 11513 } 11514 11515 // ToFieldMask is used for proto conversions 11516 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 11517 protoFieldMask := &googlefieldmaskpb.FieldMask{} 11518 for _, path := range fieldMask.Paths { 11519 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 11520 } 11521 return protoFieldMask 11522 } 11523 11524 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 11525 if fieldMask == nil { 11526 return status.Error(codes.Internal, "target field mask is nil") 11527 } 11528 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPath, 0, len(protoFieldMask.Paths)) 11529 for _, strPath := range protoFieldMask.Paths { 11530 path, err := ParseDeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPath(strPath) 11531 if err != nil { 11532 return err 11533 } 11534 fieldMask.Paths = append(fieldMask.Paths, path) 11535 } 11536 return nil 11537 } 11538 11539 // implement methods required by customType 11540 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) Marshal() ([]byte, error) { 11541 protoFieldMask := fieldMask.ToProtoFieldMask() 11542 return proto.Marshal(protoFieldMask) 11543 } 11544 11545 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) Unmarshal(data []byte) error { 11546 protoFieldMask := &googlefieldmaskpb.FieldMask{} 11547 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 11548 return err 11549 } 11550 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 11551 return err 11552 } 11553 return nil 11554 } 11555 11556 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) Size() int { 11557 return proto.Size(fieldMask.ToProtoFieldMask()) 11558 } 11559 11560 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) MarshalJSON() ([]byte, error) { 11561 return json.Marshal(fieldMask.ToProtoFieldMask()) 11562 } 11563 11564 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) UnmarshalJSON(data []byte) error { 11565 protoFieldMask := &googlefieldmaskpb.FieldMask{} 11566 if err := json.Unmarshal(data, protoFieldMask); err != nil { 11567 return err 11568 } 11569 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 11570 return err 11571 } 11572 return nil 11573 } 11574 11575 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPath) { 11576 fieldMask.Paths = append(fieldMask.Paths, path) 11577 } 11578 11579 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 11580 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPath)) 11581 } 11582 11583 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPath { 11584 if fieldMask == nil { 11585 return nil 11586 } 11587 return fieldMask.Paths 11588 } 11589 11590 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) GetRawPaths() []gotenobject.FieldPath { 11591 if fieldMask == nil { 11592 return nil 11593 } 11594 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 11595 for _, path := range fieldMask.Paths { 11596 rawPaths = append(rawPaths, path) 11597 } 11598 return rawPaths 11599 } 11600 11601 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) SetFromCliFlag(raw string) error { 11602 path, err := ParseDeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPath(raw) 11603 if err != nil { 11604 return err 11605 } 11606 fieldMask.Paths = append(fieldMask.Paths, path) 11607 return nil 11608 } 11609 11610 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_Network_NIC) { 11611 for _, path := range fieldMask.Paths { 11612 val, _ := path.GetSingle(source) 11613 // if val is nil, then field does not exist in source, skip 11614 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 11615 if val != nil { 11616 path.WithIValue(val).SetTo(&target) 11617 } 11618 } 11619 } 11620 11621 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 11622 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_Network_NIC), source.(*Device_Status_DeviceInfo_HardwareInformation_Network_NIC)) 11623 } 11624 11625 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_Network_NIC) *Device_Status_DeviceInfo_HardwareInformation_Network_NIC { 11626 if source == nil { 11627 return nil 11628 } 11629 if fieldMask == nil { 11630 return source 11631 } 11632 result := &Device_Status_DeviceInfo_HardwareInformation_Network_NIC{} 11633 var settingMapKeys []string 11634 wholeSettingAccepted := false 11635 11636 for _, p := range fieldMask.Paths { 11637 switch tp := p.(type) { 11638 case *DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldTerminalPath: 11639 switch tp.selector { 11640 case DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorName: 11641 result.Name = source.Name 11642 case DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorMacAddress: 11643 result.MacAddress = source.MacAddress 11644 case DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorVirtual: 11645 result.Virtual = source.Virtual 11646 case DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorDescription: 11647 result.Description = source.Description 11648 case DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorProductName: 11649 result.ProductName = source.ProductName 11650 case DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorVendor: 11651 result.Vendor = source.Vendor 11652 case DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorSubvendor: 11653 result.Subvendor = source.Subvendor 11654 case DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorSetting: 11655 result.Setting = source.Setting 11656 wholeSettingAccepted = true 11657 } 11658 case *DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathMap: 11659 switch tp.selector { 11660 case DeviceStatusDeviceInfoHardwareInformationNetworkNIC_FieldPathSelectorSetting: 11661 settingMapKeys = append(settingMapKeys, tp.key) 11662 } 11663 } 11664 } 11665 if wholeSettingAccepted == false && len(settingMapKeys) > 0 && source.GetSetting() != nil { 11666 copiedMap := map[string]string{} 11667 sourceMap := source.GetSetting() 11668 for _, key := range settingMapKeys { 11669 copiedMap[key] = sourceMap[key] 11670 } 11671 result.Setting = copiedMap 11672 } 11673 return result 11674 } 11675 11676 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 11677 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_Network_NIC)) 11678 } 11679 11680 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_Network_NIC_FieldMask) PathsCount() int { 11681 if fieldMask == nil { 11682 return 0 11683 } 11684 return len(fieldMask.Paths) 11685 } 11686 11687 type Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask struct { 11688 Paths []DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPath 11689 } 11690 11691 func FullDevice_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask { 11692 res := &Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask{} 11693 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelectorIndex}) 11694 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelectorDevice}) 11695 return res 11696 } 11697 11698 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) String() string { 11699 if fieldMask == nil { 11700 return "<nil>" 11701 } 11702 pathsStr := make([]string, 0, len(fieldMask.Paths)) 11703 for _, path := range fieldMask.Paths { 11704 pathsStr = append(pathsStr, path.String()) 11705 } 11706 return strings.Join(pathsStr, ", ") 11707 } 11708 11709 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) IsFull() bool { 11710 if fieldMask == nil { 11711 return false 11712 } 11713 presentSelectors := make([]bool, 2) 11714 for _, path := range fieldMask.Paths { 11715 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldTerminalPath); ok { 11716 presentSelectors[int(asFinal.selector)] = true 11717 } 11718 } 11719 for _, flag := range presentSelectors { 11720 if !flag { 11721 return false 11722 } 11723 } 11724 return true 11725 } 11726 11727 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) ProtoReflect() preflect.Message { 11728 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 11729 return ParseDeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPath(raw) 11730 }) 11731 } 11732 11733 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) ProtoMessage() { 11734 } 11735 11736 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) Reset() { 11737 if fieldMask != nil { 11738 fieldMask.Paths = nil 11739 } 11740 } 11741 11742 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask { 11743 result := &Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask{} 11744 removedSelectors := make([]bool, 2) 11745 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelector]gotenobject.FieldMask{ 11746 DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelectorDevice: &Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask{}, 11747 } 11748 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelector]gotenobject.FieldMask{ 11749 DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelectorDevice: &Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask{}, 11750 } 11751 11752 for _, path := range other.GetPaths() { 11753 switch tp := path.(type) { 11754 case *DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldTerminalPath: 11755 removedSelectors[int(tp.selector)] = true 11756 case *DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldSubPath: 11757 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 11758 } 11759 } 11760 for _, path := range fieldMask.GetPaths() { 11761 if !removedSelectors[int(path.Selector())] { 11762 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 11763 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldTerminalPath); ok { 11764 switch tp.selector { 11765 case DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelectorDevice: 11766 mySubMasks[DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelectorDevice] = FullDevice_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask() 11767 } 11768 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldSubPath); ok { 11769 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 11770 } 11771 } else { 11772 result.Paths = append(result.Paths, path) 11773 } 11774 } 11775 } 11776 for selector, mySubMask := range mySubMasks { 11777 if mySubMask.PathsCount() > 0 { 11778 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 11779 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldSubPath{selector: selector, subPath: allowedPath}) 11780 } 11781 } 11782 } 11783 11784 if len(result.Paths) == 0 { 11785 return nil 11786 } 11787 return result 11788 } 11789 11790 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 11791 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask)) 11792 } 11793 11794 // FilterInputFields generates copy of field paths with output_only field paths removed 11795 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask { 11796 result := &Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask{} 11797 result.Paths = append(result.Paths, fieldMask.Paths...) 11798 return result 11799 } 11800 11801 // ToFieldMask is used for proto conversions 11802 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 11803 protoFieldMask := &googlefieldmaskpb.FieldMask{} 11804 for _, path := range fieldMask.Paths { 11805 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 11806 } 11807 return protoFieldMask 11808 } 11809 11810 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 11811 if fieldMask == nil { 11812 return status.Error(codes.Internal, "target field mask is nil") 11813 } 11814 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPath, 0, len(protoFieldMask.Paths)) 11815 for _, strPath := range protoFieldMask.Paths { 11816 path, err := ParseDeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPath(strPath) 11817 if err != nil { 11818 return err 11819 } 11820 fieldMask.Paths = append(fieldMask.Paths, path) 11821 } 11822 return nil 11823 } 11824 11825 // implement methods required by customType 11826 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) Marshal() ([]byte, error) { 11827 protoFieldMask := fieldMask.ToProtoFieldMask() 11828 return proto.Marshal(protoFieldMask) 11829 } 11830 11831 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) Unmarshal(data []byte) error { 11832 protoFieldMask := &googlefieldmaskpb.FieldMask{} 11833 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 11834 return err 11835 } 11836 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 11837 return err 11838 } 11839 return nil 11840 } 11841 11842 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) Size() int { 11843 return proto.Size(fieldMask.ToProtoFieldMask()) 11844 } 11845 11846 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) MarshalJSON() ([]byte, error) { 11847 return json.Marshal(fieldMask.ToProtoFieldMask()) 11848 } 11849 11850 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) UnmarshalJSON(data []byte) error { 11851 protoFieldMask := &googlefieldmaskpb.FieldMask{} 11852 if err := json.Unmarshal(data, protoFieldMask); err != nil { 11853 return err 11854 } 11855 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 11856 return err 11857 } 11858 return nil 11859 } 11860 11861 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPath) { 11862 fieldMask.Paths = append(fieldMask.Paths, path) 11863 } 11864 11865 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 11866 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPath)) 11867 } 11868 11869 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPath { 11870 if fieldMask == nil { 11871 return nil 11872 } 11873 return fieldMask.Paths 11874 } 11875 11876 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) GetRawPaths() []gotenobject.FieldPath { 11877 if fieldMask == nil { 11878 return nil 11879 } 11880 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 11881 for _, path := range fieldMask.Paths { 11882 rawPaths = append(rawPaths, path) 11883 } 11884 return rawPaths 11885 } 11886 11887 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) SetFromCliFlag(raw string) error { 11888 path, err := ParseDeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPath(raw) 11889 if err != nil { 11890 return err 11891 } 11892 fieldMask.Paths = append(fieldMask.Paths, path) 11893 return nil 11894 } 11895 11896 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard) { 11897 for _, path := range fieldMask.Paths { 11898 val, _ := path.GetSingle(source) 11899 // if val is nil, then field does not exist in source, skip 11900 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 11901 if val != nil { 11902 path.WithIValue(val).SetTo(&target) 11903 } 11904 } 11905 } 11906 11907 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 11908 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard), source.(*Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard)) 11909 } 11910 11911 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard) *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard { 11912 if source == nil { 11913 return nil 11914 } 11915 if fieldMask == nil { 11916 return source 11917 } 11918 result := &Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard{} 11919 deviceMask := &Device_Status_DeviceInfo_HardwareInformation_PCIDevice_FieldMask{} 11920 wholeDeviceAccepted := false 11921 11922 for _, p := range fieldMask.Paths { 11923 switch tp := p.(type) { 11924 case *DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldTerminalPath: 11925 switch tp.selector { 11926 case DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelectorIndex: 11927 result.Index = source.Index 11928 case DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelectorDevice: 11929 result.Device = source.Device 11930 wholeDeviceAccepted = true 11931 } 11932 case *DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldSubPath: 11933 switch tp.selector { 11934 case DeviceStatusDeviceInfoHardwareInformationGPUGraphicCard_FieldPathSelectorDevice: 11935 deviceMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationPCIDevice_FieldPath)) 11936 } 11937 } 11938 } 11939 if wholeDeviceAccepted == false && len(deviceMask.Paths) > 0 { 11940 result.Device = deviceMask.Project(source.GetDevice()) 11941 } 11942 return result 11943 } 11944 11945 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 11946 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard)) 11947 } 11948 11949 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_GPU_GraphicCard_FieldMask) PathsCount() int { 11950 if fieldMask == nil { 11951 return 0 11952 } 11953 return len(fieldMask.Paths) 11954 } 11955 11956 type Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask struct { 11957 Paths []DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPath 11958 } 11959 11960 func FullDevice_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask { 11961 res := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask{} 11962 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorDescription}) 11963 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorProduct}) 11964 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorVendor}) 11965 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorSerial}) 11966 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorSlot}) 11967 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorSizeBytes}) 11968 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorFrequencyHz}) 11969 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorWidthBits}) 11970 return res 11971 } 11972 11973 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) String() string { 11974 if fieldMask == nil { 11975 return "<nil>" 11976 } 11977 pathsStr := make([]string, 0, len(fieldMask.Paths)) 11978 for _, path := range fieldMask.Paths { 11979 pathsStr = append(pathsStr, path.String()) 11980 } 11981 return strings.Join(pathsStr, ", ") 11982 } 11983 11984 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) IsFull() bool { 11985 if fieldMask == nil { 11986 return false 11987 } 11988 presentSelectors := make([]bool, 8) 11989 for _, path := range fieldMask.Paths { 11990 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldTerminalPath); ok { 11991 presentSelectors[int(asFinal.selector)] = true 11992 } 11993 } 11994 for _, flag := range presentSelectors { 11995 if !flag { 11996 return false 11997 } 11998 } 11999 return true 12000 } 12001 12002 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) ProtoReflect() preflect.Message { 12003 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 12004 return ParseDeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPath(raw) 12005 }) 12006 } 12007 12008 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) ProtoMessage() { 12009 } 12010 12011 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) Reset() { 12012 if fieldMask != nil { 12013 fieldMask.Paths = nil 12014 } 12015 } 12016 12017 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask { 12018 result := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask{} 12019 removedSelectors := make([]bool, 8) 12020 12021 for _, path := range other.GetPaths() { 12022 switch tp := path.(type) { 12023 case *DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldTerminalPath: 12024 removedSelectors[int(tp.selector)] = true 12025 } 12026 } 12027 for _, path := range fieldMask.GetPaths() { 12028 if !removedSelectors[int(path.Selector())] { 12029 result.Paths = append(result.Paths, path) 12030 } 12031 } 12032 12033 if len(result.Paths) == 0 { 12034 return nil 12035 } 12036 return result 12037 } 12038 12039 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 12040 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask)) 12041 } 12042 12043 // FilterInputFields generates copy of field paths with output_only field paths removed 12044 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask { 12045 result := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask{} 12046 result.Paths = append(result.Paths, fieldMask.Paths...) 12047 return result 12048 } 12049 12050 // ToFieldMask is used for proto conversions 12051 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 12052 protoFieldMask := &googlefieldmaskpb.FieldMask{} 12053 for _, path := range fieldMask.Paths { 12054 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 12055 } 12056 return protoFieldMask 12057 } 12058 12059 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 12060 if fieldMask == nil { 12061 return status.Error(codes.Internal, "target field mask is nil") 12062 } 12063 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPath, 0, len(protoFieldMask.Paths)) 12064 for _, strPath := range protoFieldMask.Paths { 12065 path, err := ParseDeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPath(strPath) 12066 if err != nil { 12067 return err 12068 } 12069 fieldMask.Paths = append(fieldMask.Paths, path) 12070 } 12071 return nil 12072 } 12073 12074 // implement methods required by customType 12075 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) Marshal() ([]byte, error) { 12076 protoFieldMask := fieldMask.ToProtoFieldMask() 12077 return proto.Marshal(protoFieldMask) 12078 } 12079 12080 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) Unmarshal(data []byte) error { 12081 protoFieldMask := &googlefieldmaskpb.FieldMask{} 12082 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 12083 return err 12084 } 12085 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 12086 return err 12087 } 12088 return nil 12089 } 12090 12091 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) Size() int { 12092 return proto.Size(fieldMask.ToProtoFieldMask()) 12093 } 12094 12095 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) MarshalJSON() ([]byte, error) { 12096 return json.Marshal(fieldMask.ToProtoFieldMask()) 12097 } 12098 12099 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) UnmarshalJSON(data []byte) error { 12100 protoFieldMask := &googlefieldmaskpb.FieldMask{} 12101 if err := json.Unmarshal(data, protoFieldMask); err != nil { 12102 return err 12103 } 12104 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 12105 return err 12106 } 12107 return nil 12108 } 12109 12110 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPath) { 12111 fieldMask.Paths = append(fieldMask.Paths, path) 12112 } 12113 12114 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 12115 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPath)) 12116 } 12117 12118 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPath { 12119 if fieldMask == nil { 12120 return nil 12121 } 12122 return fieldMask.Paths 12123 } 12124 12125 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) GetRawPaths() []gotenobject.FieldPath { 12126 if fieldMask == nil { 12127 return nil 12128 } 12129 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 12130 for _, path := range fieldMask.Paths { 12131 rawPaths = append(rawPaths, path) 12132 } 12133 return rawPaths 12134 } 12135 12136 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) SetFromCliFlag(raw string) error { 12137 path, err := ParseDeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPath(raw) 12138 if err != nil { 12139 return err 12140 } 12141 fieldMask.Paths = append(fieldMask.Paths, path) 12142 return nil 12143 } 12144 12145 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank) { 12146 for _, path := range fieldMask.Paths { 12147 val, _ := path.GetSingle(source) 12148 // if val is nil, then field does not exist in source, skip 12149 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 12150 if val != nil { 12151 path.WithIValue(val).SetTo(&target) 12152 } 12153 } 12154 } 12155 12156 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 12157 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank), source.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank)) 12158 } 12159 12160 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank) *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank { 12161 if source == nil { 12162 return nil 12163 } 12164 if fieldMask == nil { 12165 return source 12166 } 12167 result := &Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank{} 12168 12169 for _, p := range fieldMask.Paths { 12170 switch tp := p.(type) { 12171 case *DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldTerminalPath: 12172 switch tp.selector { 12173 case DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorDescription: 12174 result.Description = source.Description 12175 case DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorProduct: 12176 result.Product = source.Product 12177 case DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorVendor: 12178 result.Vendor = source.Vendor 12179 case DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorSerial: 12180 result.Serial = source.Serial 12181 case DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorSlot: 12182 result.Slot = source.Slot 12183 case DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorSizeBytes: 12184 result.SizeBytes = source.SizeBytes 12185 case DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorFrequencyHz: 12186 result.FrequencyHz = source.FrequencyHz 12187 case DeviceStatusDeviceInfoHardwareInformationMemoryInfoMemoryBank_FieldPathSelectorWidthBits: 12188 result.WidthBits = source.WidthBits 12189 } 12190 } 12191 } 12192 return result 12193 } 12194 12195 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 12196 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank)) 12197 } 12198 12199 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_MemoryInfo_MemoryBank_FieldMask) PathsCount() int { 12200 if fieldMask == nil { 12201 return 0 12202 } 12203 return len(fieldMask.Paths) 12204 } 12205 12206 type Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask struct { 12207 Paths []DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPath 12208 } 12209 12210 func FullDevice_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask { 12211 res := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask{} 12212 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorDevId}) 12213 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorControlProtoVersion}) 12214 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorFirmwareVersion}) 12215 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorLoggerVersion}) 12216 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorBoardName}) 12217 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorSerialNumber}) 12218 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorPartNumber}) 12219 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorProductName}) 12220 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorNeuralNetworkCoreClockRate}) 12221 return res 12222 } 12223 12224 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) String() string { 12225 if fieldMask == nil { 12226 return "<nil>" 12227 } 12228 pathsStr := make([]string, 0, len(fieldMask.Paths)) 12229 for _, path := range fieldMask.Paths { 12230 pathsStr = append(pathsStr, path.String()) 12231 } 12232 return strings.Join(pathsStr, ", ") 12233 } 12234 12235 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) IsFull() bool { 12236 if fieldMask == nil { 12237 return false 12238 } 12239 presentSelectors := make([]bool, 9) 12240 for _, path := range fieldMask.Paths { 12241 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath); ok { 12242 presentSelectors[int(asFinal.selector)] = true 12243 } 12244 } 12245 for _, flag := range presentSelectors { 12246 if !flag { 12247 return false 12248 } 12249 } 12250 return true 12251 } 12252 12253 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) ProtoReflect() preflect.Message { 12254 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 12255 return ParseDeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPath(raw) 12256 }) 12257 } 12258 12259 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) ProtoMessage() { 12260 } 12261 12262 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) Reset() { 12263 if fieldMask != nil { 12264 fieldMask.Paths = nil 12265 } 12266 } 12267 12268 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask { 12269 result := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask{} 12270 removedSelectors := make([]bool, 9) 12271 12272 for _, path := range other.GetPaths() { 12273 switch tp := path.(type) { 12274 case *DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath: 12275 removedSelectors[int(tp.selector)] = true 12276 } 12277 } 12278 for _, path := range fieldMask.GetPaths() { 12279 if !removedSelectors[int(path.Selector())] { 12280 result.Paths = append(result.Paths, path) 12281 } 12282 } 12283 12284 if len(result.Paths) == 0 { 12285 return nil 12286 } 12287 return result 12288 } 12289 12290 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 12291 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask)) 12292 } 12293 12294 // FilterInputFields generates copy of field paths with output_only field paths removed 12295 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask { 12296 result := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask{} 12297 result.Paths = append(result.Paths, fieldMask.Paths...) 12298 return result 12299 } 12300 12301 // ToFieldMask is used for proto conversions 12302 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 12303 protoFieldMask := &googlefieldmaskpb.FieldMask{} 12304 for _, path := range fieldMask.Paths { 12305 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 12306 } 12307 return protoFieldMask 12308 } 12309 12310 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 12311 if fieldMask == nil { 12312 return status.Error(codes.Internal, "target field mask is nil") 12313 } 12314 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPath, 0, len(protoFieldMask.Paths)) 12315 for _, strPath := range protoFieldMask.Paths { 12316 path, err := ParseDeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPath(strPath) 12317 if err != nil { 12318 return err 12319 } 12320 fieldMask.Paths = append(fieldMask.Paths, path) 12321 } 12322 return nil 12323 } 12324 12325 // implement methods required by customType 12326 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) Marshal() ([]byte, error) { 12327 protoFieldMask := fieldMask.ToProtoFieldMask() 12328 return proto.Marshal(protoFieldMask) 12329 } 12330 12331 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) Unmarshal(data []byte) error { 12332 protoFieldMask := &googlefieldmaskpb.FieldMask{} 12333 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 12334 return err 12335 } 12336 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 12337 return err 12338 } 12339 return nil 12340 } 12341 12342 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) Size() int { 12343 return proto.Size(fieldMask.ToProtoFieldMask()) 12344 } 12345 12346 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) MarshalJSON() ([]byte, error) { 12347 return json.Marshal(fieldMask.ToProtoFieldMask()) 12348 } 12349 12350 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) UnmarshalJSON(data []byte) error { 12351 protoFieldMask := &googlefieldmaskpb.FieldMask{} 12352 if err := json.Unmarshal(data, protoFieldMask); err != nil { 12353 return err 12354 } 12355 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 12356 return err 12357 } 12358 return nil 12359 } 12360 12361 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPath) { 12362 fieldMask.Paths = append(fieldMask.Paths, path) 12363 } 12364 12365 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 12366 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPath)) 12367 } 12368 12369 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPath { 12370 if fieldMask == nil { 12371 return nil 12372 } 12373 return fieldMask.Paths 12374 } 12375 12376 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) GetRawPaths() []gotenobject.FieldPath { 12377 if fieldMask == nil { 12378 return nil 12379 } 12380 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 12381 for _, path := range fieldMask.Paths { 12382 rawPaths = append(rawPaths, path) 12383 } 12384 return rawPaths 12385 } 12386 12387 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) SetFromCliFlag(raw string) error { 12388 path, err := ParseDeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPath(raw) 12389 if err != nil { 12390 return err 12391 } 12392 fieldMask.Paths = append(fieldMask.Paths, path) 12393 return nil 12394 } 12395 12396 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo) { 12397 for _, path := range fieldMask.Paths { 12398 val, _ := path.GetSingle(source) 12399 // if val is nil, then field does not exist in source, skip 12400 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 12401 if val != nil { 12402 path.WithIValue(val).SetTo(&target) 12403 } 12404 } 12405 } 12406 12407 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 12408 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo), source.(*Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo)) 12409 } 12410 12411 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo) *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo { 12412 if source == nil { 12413 return nil 12414 } 12415 if fieldMask == nil { 12416 return source 12417 } 12418 result := &Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo{} 12419 12420 for _, p := range fieldMask.Paths { 12421 switch tp := p.(type) { 12422 case *DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldTerminalPath: 12423 switch tp.selector { 12424 case DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorDevId: 12425 result.DevId = source.DevId 12426 case DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorControlProtoVersion: 12427 result.ControlProtoVersion = source.ControlProtoVersion 12428 case DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorFirmwareVersion: 12429 result.FirmwareVersion = source.FirmwareVersion 12430 case DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorLoggerVersion: 12431 result.LoggerVersion = source.LoggerVersion 12432 case DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorBoardName: 12433 result.BoardName = source.BoardName 12434 case DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorSerialNumber: 12435 result.SerialNumber = source.SerialNumber 12436 case DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorPartNumber: 12437 result.PartNumber = source.PartNumber 12438 case DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorProductName: 12439 result.ProductName = source.ProductName 12440 case DeviceStatusDeviceInfoHardwareInformationHailoInfoHailoModuleInfo_FieldPathSelectorNeuralNetworkCoreClockRate: 12441 result.NeuralNetworkCoreClockRate = source.NeuralNetworkCoreClockRate 12442 } 12443 } 12444 } 12445 return result 12446 } 12447 12448 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 12449 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo)) 12450 } 12451 12452 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_HailoInfo_HailoModuleInfo_FieldMask) PathsCount() int { 12453 if fieldMask == nil { 12454 return 0 12455 } 12456 return len(fieldMask.Paths) 12457 } 12458 12459 type Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask struct { 12460 Paths []DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPath 12461 } 12462 12463 func FullDevice_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask { 12464 res := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask{} 12465 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPathSelectorId}) 12466 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPathSelectorProductName}) 12467 return res 12468 } 12469 12470 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) String() string { 12471 if fieldMask == nil { 12472 return "<nil>" 12473 } 12474 pathsStr := make([]string, 0, len(fieldMask.Paths)) 12475 for _, path := range fieldMask.Paths { 12476 pathsStr = append(pathsStr, path.String()) 12477 } 12478 return strings.Join(pathsStr, ", ") 12479 } 12480 12481 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) IsFull() bool { 12482 if fieldMask == nil { 12483 return false 12484 } 12485 presentSelectors := make([]bool, 2) 12486 for _, path := range fieldMask.Paths { 12487 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldTerminalPath); ok { 12488 presentSelectors[int(asFinal.selector)] = true 12489 } 12490 } 12491 for _, flag := range presentSelectors { 12492 if !flag { 12493 return false 12494 } 12495 } 12496 return true 12497 } 12498 12499 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) ProtoReflect() preflect.Message { 12500 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 12501 return ParseDeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPath(raw) 12502 }) 12503 } 12504 12505 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) ProtoMessage() { 12506 } 12507 12508 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) Reset() { 12509 if fieldMask != nil { 12510 fieldMask.Paths = nil 12511 } 12512 } 12513 12514 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask { 12515 result := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask{} 12516 removedSelectors := make([]bool, 2) 12517 12518 for _, path := range other.GetPaths() { 12519 switch tp := path.(type) { 12520 case *DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldTerminalPath: 12521 removedSelectors[int(tp.selector)] = true 12522 } 12523 } 12524 for _, path := range fieldMask.GetPaths() { 12525 if !removedSelectors[int(path.Selector())] { 12526 result.Paths = append(result.Paths, path) 12527 } 12528 } 12529 12530 if len(result.Paths) == 0 { 12531 return nil 12532 } 12533 return result 12534 } 12535 12536 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 12537 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask)) 12538 } 12539 12540 // FilterInputFields generates copy of field paths with output_only field paths removed 12541 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask { 12542 result := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask{} 12543 result.Paths = append(result.Paths, fieldMask.Paths...) 12544 return result 12545 } 12546 12547 // ToFieldMask is used for proto conversions 12548 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 12549 protoFieldMask := &googlefieldmaskpb.FieldMask{} 12550 for _, path := range fieldMask.Paths { 12551 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 12552 } 12553 return protoFieldMask 12554 } 12555 12556 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 12557 if fieldMask == nil { 12558 return status.Error(codes.Internal, "target field mask is nil") 12559 } 12560 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPath, 0, len(protoFieldMask.Paths)) 12561 for _, strPath := range protoFieldMask.Paths { 12562 path, err := ParseDeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPath(strPath) 12563 if err != nil { 12564 return err 12565 } 12566 fieldMask.Paths = append(fieldMask.Paths, path) 12567 } 12568 return nil 12569 } 12570 12571 // implement methods required by customType 12572 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) Marshal() ([]byte, error) { 12573 protoFieldMask := fieldMask.ToProtoFieldMask() 12574 return proto.Marshal(protoFieldMask) 12575 } 12576 12577 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) Unmarshal(data []byte) error { 12578 protoFieldMask := &googlefieldmaskpb.FieldMask{} 12579 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 12580 return err 12581 } 12582 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 12583 return err 12584 } 12585 return nil 12586 } 12587 12588 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) Size() int { 12589 return proto.Size(fieldMask.ToProtoFieldMask()) 12590 } 12591 12592 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) MarshalJSON() ([]byte, error) { 12593 return json.Marshal(fieldMask.ToProtoFieldMask()) 12594 } 12595 12596 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) UnmarshalJSON(data []byte) error { 12597 protoFieldMask := &googlefieldmaskpb.FieldMask{} 12598 if err := json.Unmarshal(data, protoFieldMask); err != nil { 12599 return err 12600 } 12601 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 12602 return err 12603 } 12604 return nil 12605 } 12606 12607 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPath) { 12608 fieldMask.Paths = append(fieldMask.Paths, path) 12609 } 12610 12611 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 12612 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPath)) 12613 } 12614 12615 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPath { 12616 if fieldMask == nil { 12617 return nil 12618 } 12619 return fieldMask.Paths 12620 } 12621 12622 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) GetRawPaths() []gotenobject.FieldPath { 12623 if fieldMask == nil { 12624 return nil 12625 } 12626 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 12627 for _, path := range fieldMask.Paths { 12628 rawPaths = append(rawPaths, path) 12629 } 12630 return rawPaths 12631 } 12632 12633 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) SetFromCliFlag(raw string) error { 12634 path, err := ParseDeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPath(raw) 12635 if err != nil { 12636 return err 12637 } 12638 fieldMask.Paths = append(fieldMask.Paths, path) 12639 return nil 12640 } 12641 12642 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo) { 12643 for _, path := range fieldMask.Paths { 12644 val, _ := path.GetSingle(source) 12645 // if val is nil, then field does not exist in source, skip 12646 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 12647 if val != nil { 12648 path.WithIValue(val).SetTo(&target) 12649 } 12650 } 12651 } 12652 12653 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 12654 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo), source.(*Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo)) 12655 } 12656 12657 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo) *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo { 12658 if source == nil { 12659 return nil 12660 } 12661 if fieldMask == nil { 12662 return source 12663 } 12664 result := &Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo{} 12665 12666 for _, p := range fieldMask.Paths { 12667 switch tp := p.(type) { 12668 case *DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldTerminalPath: 12669 switch tp.selector { 12670 case DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPathSelectorId: 12671 result.Id = source.Id 12672 case DeviceStatusDeviceInfoHardwareInformationNvidiaInfoGpuInfo_FieldPathSelectorProductName: 12673 result.ProductName = source.ProductName 12674 } 12675 } 12676 } 12677 return result 12678 } 12679 12680 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 12681 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo)) 12682 } 12683 12684 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_NvidiaInfo_GpuInfo_FieldMask) PathsCount() int { 12685 if fieldMask == nil { 12686 return 0 12687 } 12688 return len(fieldMask.Paths) 12689 } 12690 12691 type Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask struct { 12692 Paths []DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPath 12693 } 12694 12695 func FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask { 12696 res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask{} 12697 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPathSelectorDrxCycle}) 12698 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPathSelectorMicoMode}) 12699 return res 12700 } 12701 12702 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) String() string { 12703 if fieldMask == nil { 12704 return "<nil>" 12705 } 12706 pathsStr := make([]string, 0, len(fieldMask.Paths)) 12707 for _, path := range fieldMask.Paths { 12708 pathsStr = append(pathsStr, path.String()) 12709 } 12710 return strings.Join(pathsStr, ", ") 12711 } 12712 12713 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) IsFull() bool { 12714 if fieldMask == nil { 12715 return false 12716 } 12717 presentSelectors := make([]bool, 2) 12718 for _, path := range fieldMask.Paths { 12719 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldTerminalPath); ok { 12720 presentSelectors[int(asFinal.selector)] = true 12721 } 12722 } 12723 for _, flag := range presentSelectors { 12724 if !flag { 12725 return false 12726 } 12727 } 12728 return true 12729 } 12730 12731 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) ProtoReflect() preflect.Message { 12732 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 12733 return ParseDeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPath(raw) 12734 }) 12735 } 12736 12737 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) ProtoMessage() { 12738 } 12739 12740 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) Reset() { 12741 if fieldMask != nil { 12742 fieldMask.Paths = nil 12743 } 12744 } 12745 12746 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask { 12747 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask{} 12748 removedSelectors := make([]bool, 2) 12749 12750 for _, path := range other.GetPaths() { 12751 switch tp := path.(type) { 12752 case *DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldTerminalPath: 12753 removedSelectors[int(tp.selector)] = true 12754 } 12755 } 12756 for _, path := range fieldMask.GetPaths() { 12757 if !removedSelectors[int(path.Selector())] { 12758 result.Paths = append(result.Paths, path) 12759 } 12760 } 12761 12762 if len(result.Paths) == 0 { 12763 return nil 12764 } 12765 return result 12766 } 12767 12768 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 12769 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask)) 12770 } 12771 12772 // FilterInputFields generates copy of field paths with output_only field paths removed 12773 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask { 12774 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask{} 12775 result.Paths = append(result.Paths, fieldMask.Paths...) 12776 return result 12777 } 12778 12779 // ToFieldMask is used for proto conversions 12780 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 12781 protoFieldMask := &googlefieldmaskpb.FieldMask{} 12782 for _, path := range fieldMask.Paths { 12783 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 12784 } 12785 return protoFieldMask 12786 } 12787 12788 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 12789 if fieldMask == nil { 12790 return status.Error(codes.Internal, "target field mask is nil") 12791 } 12792 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPath, 0, len(protoFieldMask.Paths)) 12793 for _, strPath := range protoFieldMask.Paths { 12794 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPath(strPath) 12795 if err != nil { 12796 return err 12797 } 12798 fieldMask.Paths = append(fieldMask.Paths, path) 12799 } 12800 return nil 12801 } 12802 12803 // implement methods required by customType 12804 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) Marshal() ([]byte, error) { 12805 protoFieldMask := fieldMask.ToProtoFieldMask() 12806 return proto.Marshal(protoFieldMask) 12807 } 12808 12809 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) Unmarshal(data []byte) error { 12810 protoFieldMask := &googlefieldmaskpb.FieldMask{} 12811 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 12812 return err 12813 } 12814 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 12815 return err 12816 } 12817 return nil 12818 } 12819 12820 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) Size() int { 12821 return proto.Size(fieldMask.ToProtoFieldMask()) 12822 } 12823 12824 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) MarshalJSON() ([]byte, error) { 12825 return json.Marshal(fieldMask.ToProtoFieldMask()) 12826 } 12827 12828 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) UnmarshalJSON(data []byte) error { 12829 protoFieldMask := &googlefieldmaskpb.FieldMask{} 12830 if err := json.Unmarshal(data, protoFieldMask); err != nil { 12831 return err 12832 } 12833 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 12834 return err 12835 } 12836 return nil 12837 } 12838 12839 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPath) { 12840 fieldMask.Paths = append(fieldMask.Paths, path) 12841 } 12842 12843 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 12844 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPath)) 12845 } 12846 12847 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPath { 12848 if fieldMask == nil { 12849 return nil 12850 } 12851 return fieldMask.Paths 12852 } 12853 12854 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) GetRawPaths() []gotenobject.FieldPath { 12855 if fieldMask == nil { 12856 return nil 12857 } 12858 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 12859 for _, path := range fieldMask.Paths { 12860 rawPaths = append(rawPaths, path) 12861 } 12862 return rawPaths 12863 } 12864 12865 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) SetFromCliFlag(raw string) error { 12866 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPath(raw) 12867 if err != nil { 12868 return err 12869 } 12870 fieldMask.Paths = append(fieldMask.Paths, path) 12871 return nil 12872 } 12873 12874 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings) { 12875 for _, path := range fieldMask.Paths { 12876 val, _ := path.GetSingle(source) 12877 // if val is nil, then field does not exist in source, skip 12878 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 12879 if val != nil { 12880 path.WithIValue(val).SetTo(&target) 12881 } 12882 } 12883 } 12884 12885 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 12886 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings), source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings)) 12887 } 12888 12889 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings { 12890 if source == nil { 12891 return nil 12892 } 12893 if fieldMask == nil { 12894 return source 12895 } 12896 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings{} 12897 12898 for _, p := range fieldMask.Paths { 12899 switch tp := p.(type) { 12900 case *DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldTerminalPath: 12901 switch tp.selector { 12902 case DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPathSelectorDrxCycle: 12903 result.DrxCycle = source.DrxCycle 12904 case DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPathSelectorMicoMode: 12905 result.MicoMode = source.MicoMode 12906 } 12907 } 12908 } 12909 return result 12910 } 12911 12912 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 12913 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings)) 12914 } 12915 12916 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask) PathsCount() int { 12917 if fieldMask == nil { 12918 return 0 12919 } 12920 return len(fieldMask.Paths) 12921 } 12922 12923 type Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask struct { 12924 Paths []DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPath 12925 } 12926 12927 func FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask { 12928 res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask{} 12929 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPathSelectorRegistrationSettings}) 12930 return res 12931 } 12932 12933 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) String() string { 12934 if fieldMask == nil { 12935 return "<nil>" 12936 } 12937 pathsStr := make([]string, 0, len(fieldMask.Paths)) 12938 for _, path := range fieldMask.Paths { 12939 pathsStr = append(pathsStr, path.String()) 12940 } 12941 return strings.Join(pathsStr, ", ") 12942 } 12943 12944 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) IsFull() bool { 12945 if fieldMask == nil { 12946 return false 12947 } 12948 presentSelectors := make([]bool, 1) 12949 for _, path := range fieldMask.Paths { 12950 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldTerminalPath); ok { 12951 presentSelectors[int(asFinal.selector)] = true 12952 } 12953 } 12954 for _, flag := range presentSelectors { 12955 if !flag { 12956 return false 12957 } 12958 } 12959 return true 12960 } 12961 12962 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) ProtoReflect() preflect.Message { 12963 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 12964 return ParseDeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPath(raw) 12965 }) 12966 } 12967 12968 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) ProtoMessage() { 12969 } 12970 12971 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) Reset() { 12972 if fieldMask != nil { 12973 fieldMask.Paths = nil 12974 } 12975 } 12976 12977 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask { 12978 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask{} 12979 removedSelectors := make([]bool, 1) 12980 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPathSelector]gotenobject.FieldMask{ 12981 DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPathSelectorRegistrationSettings: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask{}, 12982 } 12983 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPathSelector]gotenobject.FieldMask{ 12984 DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPathSelectorRegistrationSettings: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask{}, 12985 } 12986 12987 for _, path := range other.GetPaths() { 12988 switch tp := path.(type) { 12989 case *DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldTerminalPath: 12990 removedSelectors[int(tp.selector)] = true 12991 case *DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldSubPath: 12992 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 12993 } 12994 } 12995 for _, path := range fieldMask.GetPaths() { 12996 if !removedSelectors[int(path.Selector())] { 12997 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 12998 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldTerminalPath); ok { 12999 switch tp.selector { 13000 case DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPathSelectorRegistrationSettings: 13001 mySubMasks[DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPathSelectorRegistrationSettings] = FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask() 13002 } 13003 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldSubPath); ok { 13004 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 13005 } 13006 } else { 13007 result.Paths = append(result.Paths, path) 13008 } 13009 } 13010 } 13011 for selector, mySubMask := range mySubMasks { 13012 if mySubMask.PathsCount() > 0 { 13013 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 13014 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldSubPath{selector: selector, subPath: allowedPath}) 13015 } 13016 } 13017 } 13018 13019 if len(result.Paths) == 0 { 13020 return nil 13021 } 13022 return result 13023 } 13024 13025 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 13026 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask)) 13027 } 13028 13029 // FilterInputFields generates copy of field paths with output_only field paths removed 13030 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask { 13031 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask{} 13032 result.Paths = append(result.Paths, fieldMask.Paths...) 13033 return result 13034 } 13035 13036 // ToFieldMask is used for proto conversions 13037 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 13038 protoFieldMask := &googlefieldmaskpb.FieldMask{} 13039 for _, path := range fieldMask.Paths { 13040 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 13041 } 13042 return protoFieldMask 13043 } 13044 13045 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 13046 if fieldMask == nil { 13047 return status.Error(codes.Internal, "target field mask is nil") 13048 } 13049 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPath, 0, len(protoFieldMask.Paths)) 13050 for _, strPath := range protoFieldMask.Paths { 13051 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPath(strPath) 13052 if err != nil { 13053 return err 13054 } 13055 fieldMask.Paths = append(fieldMask.Paths, path) 13056 } 13057 return nil 13058 } 13059 13060 // implement methods required by customType 13061 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) Marshal() ([]byte, error) { 13062 protoFieldMask := fieldMask.ToProtoFieldMask() 13063 return proto.Marshal(protoFieldMask) 13064 } 13065 13066 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) Unmarshal(data []byte) error { 13067 protoFieldMask := &googlefieldmaskpb.FieldMask{} 13068 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 13069 return err 13070 } 13071 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 13072 return err 13073 } 13074 return nil 13075 } 13076 13077 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) Size() int { 13078 return proto.Size(fieldMask.ToProtoFieldMask()) 13079 } 13080 13081 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) MarshalJSON() ([]byte, error) { 13082 return json.Marshal(fieldMask.ToProtoFieldMask()) 13083 } 13084 13085 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) UnmarshalJSON(data []byte) error { 13086 protoFieldMask := &googlefieldmaskpb.FieldMask{} 13087 if err := json.Unmarshal(data, protoFieldMask); err != nil { 13088 return err 13089 } 13090 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 13091 return err 13092 } 13093 return nil 13094 } 13095 13096 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPath) { 13097 fieldMask.Paths = append(fieldMask.Paths, path) 13098 } 13099 13100 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 13101 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPath)) 13102 } 13103 13104 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPath { 13105 if fieldMask == nil { 13106 return nil 13107 } 13108 return fieldMask.Paths 13109 } 13110 13111 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) GetRawPaths() []gotenobject.FieldPath { 13112 if fieldMask == nil { 13113 return nil 13114 } 13115 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 13116 for _, path := range fieldMask.Paths { 13117 rawPaths = append(rawPaths, path) 13118 } 13119 return rawPaths 13120 } 13121 13122 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) SetFromCliFlag(raw string) error { 13123 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPath(raw) 13124 if err != nil { 13125 return err 13126 } 13127 fieldMask.Paths = append(fieldMask.Paths, path) 13128 return nil 13129 } 13130 13131 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr) { 13132 for _, path := range fieldMask.Paths { 13133 val, _ := path.GetSingle(source) 13134 // if val is nil, then field does not exist in source, skip 13135 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 13136 if val != nil { 13137 path.WithIValue(val).SetTo(&target) 13138 } 13139 } 13140 } 13141 13142 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 13143 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr), source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr)) 13144 } 13145 13146 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr { 13147 if source == nil { 13148 return nil 13149 } 13150 if fieldMask == nil { 13151 return source 13152 } 13153 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr{} 13154 registrationSettingsMask := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_RegistrationSettings_FieldMask{} 13155 wholeRegistrationSettingsAccepted := false 13156 13157 for _, p := range fieldMask.Paths { 13158 switch tp := p.(type) { 13159 case *DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldTerminalPath: 13160 switch tp.selector { 13161 case DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPathSelectorRegistrationSettings: 13162 result.RegistrationSettings = source.RegistrationSettings 13163 wholeRegistrationSettingsAccepted = true 13164 } 13165 case *DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldSubPath: 13166 switch tp.selector { 13167 case DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPathSelectorRegistrationSettings: 13168 registrationSettingsMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationModemStatusRegistrationSettings_FieldPath)) 13169 } 13170 } 13171 } 13172 if wholeRegistrationSettingsAccepted == false && len(registrationSettingsMask.Paths) > 0 { 13173 result.RegistrationSettings = registrationSettingsMask.Project(source.GetRegistrationSettings()) 13174 } 13175 return result 13176 } 13177 13178 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 13179 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr)) 13180 } 13181 13182 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask) PathsCount() int { 13183 if fieldMask == nil { 13184 return 0 13185 } 13186 return len(fieldMask.Paths) 13187 } 13188 13189 type Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask struct { 13190 Paths []DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPath 13191 } 13192 13193 func FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask { 13194 res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask{} 13195 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPathSelectorApn}) 13196 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPathSelectorIpType}) 13197 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPathSelectorPassword}) 13198 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPathSelectorUser}) 13199 return res 13200 } 13201 13202 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) String() string { 13203 if fieldMask == nil { 13204 return "<nil>" 13205 } 13206 pathsStr := make([]string, 0, len(fieldMask.Paths)) 13207 for _, path := range fieldMask.Paths { 13208 pathsStr = append(pathsStr, path.String()) 13209 } 13210 return strings.Join(pathsStr, ", ") 13211 } 13212 13213 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) IsFull() bool { 13214 if fieldMask == nil { 13215 return false 13216 } 13217 presentSelectors := make([]bool, 4) 13218 for _, path := range fieldMask.Paths { 13219 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldTerminalPath); ok { 13220 presentSelectors[int(asFinal.selector)] = true 13221 } 13222 } 13223 for _, flag := range presentSelectors { 13224 if !flag { 13225 return false 13226 } 13227 } 13228 return true 13229 } 13230 13231 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) ProtoReflect() preflect.Message { 13232 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 13233 return ParseDeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPath(raw) 13234 }) 13235 } 13236 13237 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) ProtoMessage() { 13238 } 13239 13240 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) Reset() { 13241 if fieldMask != nil { 13242 fieldMask.Paths = nil 13243 } 13244 } 13245 13246 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask { 13247 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask{} 13248 removedSelectors := make([]bool, 4) 13249 13250 for _, path := range other.GetPaths() { 13251 switch tp := path.(type) { 13252 case *DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldTerminalPath: 13253 removedSelectors[int(tp.selector)] = true 13254 } 13255 } 13256 for _, path := range fieldMask.GetPaths() { 13257 if !removedSelectors[int(path.Selector())] { 13258 result.Paths = append(result.Paths, path) 13259 } 13260 } 13261 13262 if len(result.Paths) == 0 { 13263 return nil 13264 } 13265 return result 13266 } 13267 13268 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 13269 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask)) 13270 } 13271 13272 // FilterInputFields generates copy of field paths with output_only field paths removed 13273 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask { 13274 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask{} 13275 result.Paths = append(result.Paths, fieldMask.Paths...) 13276 return result 13277 } 13278 13279 // ToFieldMask is used for proto conversions 13280 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 13281 protoFieldMask := &googlefieldmaskpb.FieldMask{} 13282 for _, path := range fieldMask.Paths { 13283 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 13284 } 13285 return protoFieldMask 13286 } 13287 13288 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 13289 if fieldMask == nil { 13290 return status.Error(codes.Internal, "target field mask is nil") 13291 } 13292 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPath, 0, len(protoFieldMask.Paths)) 13293 for _, strPath := range protoFieldMask.Paths { 13294 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPath(strPath) 13295 if err != nil { 13296 return err 13297 } 13298 fieldMask.Paths = append(fieldMask.Paths, path) 13299 } 13300 return nil 13301 } 13302 13303 // implement methods required by customType 13304 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) Marshal() ([]byte, error) { 13305 protoFieldMask := fieldMask.ToProtoFieldMask() 13306 return proto.Marshal(protoFieldMask) 13307 } 13308 13309 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) Unmarshal(data []byte) error { 13310 protoFieldMask := &googlefieldmaskpb.FieldMask{} 13311 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 13312 return err 13313 } 13314 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 13315 return err 13316 } 13317 return nil 13318 } 13319 13320 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) Size() int { 13321 return proto.Size(fieldMask.ToProtoFieldMask()) 13322 } 13323 13324 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) MarshalJSON() ([]byte, error) { 13325 return json.Marshal(fieldMask.ToProtoFieldMask()) 13326 } 13327 13328 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) UnmarshalJSON(data []byte) error { 13329 protoFieldMask := &googlefieldmaskpb.FieldMask{} 13330 if err := json.Unmarshal(data, protoFieldMask); err != nil { 13331 return err 13332 } 13333 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 13334 return err 13335 } 13336 return nil 13337 } 13338 13339 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPath) { 13340 fieldMask.Paths = append(fieldMask.Paths, path) 13341 } 13342 13343 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 13344 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPath)) 13345 } 13346 13347 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPath { 13348 if fieldMask == nil { 13349 return nil 13350 } 13351 return fieldMask.Paths 13352 } 13353 13354 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) GetRawPaths() []gotenobject.FieldPath { 13355 if fieldMask == nil { 13356 return nil 13357 } 13358 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 13359 for _, path := range fieldMask.Paths { 13360 rawPaths = append(rawPaths, path) 13361 } 13362 return rawPaths 13363 } 13364 13365 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) SetFromCliFlag(raw string) error { 13366 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPath(raw) 13367 if err != nil { 13368 return err 13369 } 13370 fieldMask.Paths = append(fieldMask.Paths, path) 13371 return nil 13372 } 13373 13374 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings) { 13375 for _, path := range fieldMask.Paths { 13376 val, _ := path.GetSingle(source) 13377 // if val is nil, then field does not exist in source, skip 13378 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 13379 if val != nil { 13380 path.WithIValue(val).SetTo(&target) 13381 } 13382 } 13383 } 13384 13385 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 13386 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings), source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings)) 13387 } 13388 13389 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings { 13390 if source == nil { 13391 return nil 13392 } 13393 if fieldMask == nil { 13394 return source 13395 } 13396 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings{} 13397 13398 for _, p := range fieldMask.Paths { 13399 switch tp := p.(type) { 13400 case *DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldTerminalPath: 13401 switch tp.selector { 13402 case DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPathSelectorApn: 13403 result.Apn = source.Apn 13404 case DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPathSelectorIpType: 13405 result.IpType = source.IpType 13406 case DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPathSelectorPassword: 13407 result.Password = source.Password 13408 case DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPathSelectorUser: 13409 result.User = source.User 13410 } 13411 } 13412 } 13413 return result 13414 } 13415 13416 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 13417 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings)) 13418 } 13419 13420 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask) PathsCount() int { 13421 if fieldMask == nil { 13422 return 0 13423 } 13424 return len(fieldMask.Paths) 13425 } 13426 13427 type Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask struct { 13428 Paths []DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPath 13429 } 13430 13431 func FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask { 13432 res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask{} 13433 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelectorDbusPath}) 13434 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelectorSettings}) 13435 return res 13436 } 13437 13438 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) String() string { 13439 if fieldMask == nil { 13440 return "<nil>" 13441 } 13442 pathsStr := make([]string, 0, len(fieldMask.Paths)) 13443 for _, path := range fieldMask.Paths { 13444 pathsStr = append(pathsStr, path.String()) 13445 } 13446 return strings.Join(pathsStr, ", ") 13447 } 13448 13449 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) IsFull() bool { 13450 if fieldMask == nil { 13451 return false 13452 } 13453 presentSelectors := make([]bool, 2) 13454 for _, path := range fieldMask.Paths { 13455 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldTerminalPath); ok { 13456 presentSelectors[int(asFinal.selector)] = true 13457 } 13458 } 13459 for _, flag := range presentSelectors { 13460 if !flag { 13461 return false 13462 } 13463 } 13464 return true 13465 } 13466 13467 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) ProtoReflect() preflect.Message { 13468 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 13469 return ParseDeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPath(raw) 13470 }) 13471 } 13472 13473 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) ProtoMessage() { 13474 } 13475 13476 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) Reset() { 13477 if fieldMask != nil { 13478 fieldMask.Paths = nil 13479 } 13480 } 13481 13482 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask { 13483 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask{} 13484 removedSelectors := make([]bool, 2) 13485 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelector]gotenobject.FieldMask{ 13486 DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelectorSettings: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask{}, 13487 } 13488 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelector]gotenobject.FieldMask{ 13489 DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelectorSettings: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask{}, 13490 } 13491 13492 for _, path := range other.GetPaths() { 13493 switch tp := path.(type) { 13494 case *DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldTerminalPath: 13495 removedSelectors[int(tp.selector)] = true 13496 case *DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldSubPath: 13497 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 13498 } 13499 } 13500 for _, path := range fieldMask.GetPaths() { 13501 if !removedSelectors[int(path.Selector())] { 13502 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 13503 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldTerminalPath); ok { 13504 switch tp.selector { 13505 case DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelectorSettings: 13506 mySubMasks[DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelectorSettings] = FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask() 13507 } 13508 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldSubPath); ok { 13509 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 13510 } 13511 } else { 13512 result.Paths = append(result.Paths, path) 13513 } 13514 } 13515 } 13516 for selector, mySubMask := range mySubMasks { 13517 if mySubMask.PathsCount() > 0 { 13518 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 13519 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldSubPath{selector: selector, subPath: allowedPath}) 13520 } 13521 } 13522 } 13523 13524 if len(result.Paths) == 0 { 13525 return nil 13526 } 13527 return result 13528 } 13529 13530 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 13531 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask)) 13532 } 13533 13534 // FilterInputFields generates copy of field paths with output_only field paths removed 13535 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask { 13536 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask{} 13537 result.Paths = append(result.Paths, fieldMask.Paths...) 13538 return result 13539 } 13540 13541 // ToFieldMask is used for proto conversions 13542 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 13543 protoFieldMask := &googlefieldmaskpb.FieldMask{} 13544 for _, path := range fieldMask.Paths { 13545 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 13546 } 13547 return protoFieldMask 13548 } 13549 13550 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 13551 if fieldMask == nil { 13552 return status.Error(codes.Internal, "target field mask is nil") 13553 } 13554 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPath, 0, len(protoFieldMask.Paths)) 13555 for _, strPath := range protoFieldMask.Paths { 13556 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPath(strPath) 13557 if err != nil { 13558 return err 13559 } 13560 fieldMask.Paths = append(fieldMask.Paths, path) 13561 } 13562 return nil 13563 } 13564 13565 // implement methods required by customType 13566 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) Marshal() ([]byte, error) { 13567 protoFieldMask := fieldMask.ToProtoFieldMask() 13568 return proto.Marshal(protoFieldMask) 13569 } 13570 13571 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) Unmarshal(data []byte) error { 13572 protoFieldMask := &googlefieldmaskpb.FieldMask{} 13573 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 13574 return err 13575 } 13576 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 13577 return err 13578 } 13579 return nil 13580 } 13581 13582 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) Size() int { 13583 return proto.Size(fieldMask.ToProtoFieldMask()) 13584 } 13585 13586 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) MarshalJSON() ([]byte, error) { 13587 return json.Marshal(fieldMask.ToProtoFieldMask()) 13588 } 13589 13590 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) UnmarshalJSON(data []byte) error { 13591 protoFieldMask := &googlefieldmaskpb.FieldMask{} 13592 if err := json.Unmarshal(data, protoFieldMask); err != nil { 13593 return err 13594 } 13595 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 13596 return err 13597 } 13598 return nil 13599 } 13600 13601 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPath) { 13602 fieldMask.Paths = append(fieldMask.Paths, path) 13603 } 13604 13605 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 13606 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPath)) 13607 } 13608 13609 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPath { 13610 if fieldMask == nil { 13611 return nil 13612 } 13613 return fieldMask.Paths 13614 } 13615 13616 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) GetRawPaths() []gotenobject.FieldPath { 13617 if fieldMask == nil { 13618 return nil 13619 } 13620 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 13621 for _, path := range fieldMask.Paths { 13622 rawPaths = append(rawPaths, path) 13623 } 13624 return rawPaths 13625 } 13626 13627 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) SetFromCliFlag(raw string) error { 13628 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPath(raw) 13629 if err != nil { 13630 return err 13631 } 13632 fieldMask.Paths = append(fieldMask.Paths, path) 13633 return nil 13634 } 13635 13636 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer) { 13637 for _, path := range fieldMask.Paths { 13638 val, _ := path.GetSingle(source) 13639 // if val is nil, then field does not exist in source, skip 13640 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 13641 if val != nil { 13642 path.WithIValue(val).SetTo(&target) 13643 } 13644 } 13645 } 13646 13647 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 13648 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer), source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer)) 13649 } 13650 13651 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer { 13652 if source == nil { 13653 return nil 13654 } 13655 if fieldMask == nil { 13656 return source 13657 } 13658 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer{} 13659 settingsMask := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Settings_FieldMask{} 13660 wholeSettingsAccepted := false 13661 13662 for _, p := range fieldMask.Paths { 13663 switch tp := p.(type) { 13664 case *DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldTerminalPath: 13665 switch tp.selector { 13666 case DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelectorDbusPath: 13667 result.DbusPath = source.DbusPath 13668 case DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelectorSettings: 13669 result.Settings = source.Settings 13670 wholeSettingsAccepted = true 13671 } 13672 case *DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldSubPath: 13673 switch tp.selector { 13674 case DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPathSelectorSettings: 13675 settingsMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationModemStatusSettings_FieldPath)) 13676 } 13677 } 13678 } 13679 if wholeSettingsAccepted == false && len(settingsMask.Paths) > 0 { 13680 result.Settings = settingsMask.Project(source.GetSettings()) 13681 } 13682 return result 13683 } 13684 13685 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 13686 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer)) 13687 } 13688 13689 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask) PathsCount() int { 13690 if fieldMask == nil { 13691 return 0 13692 } 13693 return len(fieldMask.Paths) 13694 } 13695 13696 type Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask struct { 13697 Paths []DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPath 13698 } 13699 13700 func FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask { 13701 res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask{} 13702 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelectorInitialBearer}) 13703 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelectorUeModeOperation}) 13704 return res 13705 } 13706 13707 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) String() string { 13708 if fieldMask == nil { 13709 return "<nil>" 13710 } 13711 pathsStr := make([]string, 0, len(fieldMask.Paths)) 13712 for _, path := range fieldMask.Paths { 13713 pathsStr = append(pathsStr, path.String()) 13714 } 13715 return strings.Join(pathsStr, ", ") 13716 } 13717 13718 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) IsFull() bool { 13719 if fieldMask == nil { 13720 return false 13721 } 13722 presentSelectors := make([]bool, 2) 13723 for _, path := range fieldMask.Paths { 13724 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldTerminalPath); ok { 13725 presentSelectors[int(asFinal.selector)] = true 13726 } 13727 } 13728 for _, flag := range presentSelectors { 13729 if !flag { 13730 return false 13731 } 13732 } 13733 return true 13734 } 13735 13736 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) ProtoReflect() preflect.Message { 13737 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 13738 return ParseDeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPath(raw) 13739 }) 13740 } 13741 13742 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) ProtoMessage() { 13743 } 13744 13745 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) Reset() { 13746 if fieldMask != nil { 13747 fieldMask.Paths = nil 13748 } 13749 } 13750 13751 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask { 13752 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask{} 13753 removedSelectors := make([]bool, 2) 13754 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelector]gotenobject.FieldMask{ 13755 DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelectorInitialBearer: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask{}, 13756 } 13757 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelector]gotenobject.FieldMask{ 13758 DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelectorInitialBearer: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask{}, 13759 } 13760 13761 for _, path := range other.GetPaths() { 13762 switch tp := path.(type) { 13763 case *DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldTerminalPath: 13764 removedSelectors[int(tp.selector)] = true 13765 case *DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldSubPath: 13766 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 13767 } 13768 } 13769 for _, path := range fieldMask.GetPaths() { 13770 if !removedSelectors[int(path.Selector())] { 13771 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 13772 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldTerminalPath); ok { 13773 switch tp.selector { 13774 case DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelectorInitialBearer: 13775 mySubMasks[DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelectorInitialBearer] = FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask() 13776 } 13777 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldSubPath); ok { 13778 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 13779 } 13780 } else { 13781 result.Paths = append(result.Paths, path) 13782 } 13783 } 13784 } 13785 for selector, mySubMask := range mySubMasks { 13786 if mySubMask.PathsCount() > 0 { 13787 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 13788 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldSubPath{selector: selector, subPath: allowedPath}) 13789 } 13790 } 13791 } 13792 13793 if len(result.Paths) == 0 { 13794 return nil 13795 } 13796 return result 13797 } 13798 13799 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 13800 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask)) 13801 } 13802 13803 // FilterInputFields generates copy of field paths with output_only field paths removed 13804 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask { 13805 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask{} 13806 result.Paths = append(result.Paths, fieldMask.Paths...) 13807 return result 13808 } 13809 13810 // ToFieldMask is used for proto conversions 13811 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 13812 protoFieldMask := &googlefieldmaskpb.FieldMask{} 13813 for _, path := range fieldMask.Paths { 13814 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 13815 } 13816 return protoFieldMask 13817 } 13818 13819 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 13820 if fieldMask == nil { 13821 return status.Error(codes.Internal, "target field mask is nil") 13822 } 13823 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPath, 0, len(protoFieldMask.Paths)) 13824 for _, strPath := range protoFieldMask.Paths { 13825 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPath(strPath) 13826 if err != nil { 13827 return err 13828 } 13829 fieldMask.Paths = append(fieldMask.Paths, path) 13830 } 13831 return nil 13832 } 13833 13834 // implement methods required by customType 13835 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) Marshal() ([]byte, error) { 13836 protoFieldMask := fieldMask.ToProtoFieldMask() 13837 return proto.Marshal(protoFieldMask) 13838 } 13839 13840 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) Unmarshal(data []byte) error { 13841 protoFieldMask := &googlefieldmaskpb.FieldMask{} 13842 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 13843 return err 13844 } 13845 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 13846 return err 13847 } 13848 return nil 13849 } 13850 13851 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) Size() int { 13852 return proto.Size(fieldMask.ToProtoFieldMask()) 13853 } 13854 13855 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) MarshalJSON() ([]byte, error) { 13856 return json.Marshal(fieldMask.ToProtoFieldMask()) 13857 } 13858 13859 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) UnmarshalJSON(data []byte) error { 13860 protoFieldMask := &googlefieldmaskpb.FieldMask{} 13861 if err := json.Unmarshal(data, protoFieldMask); err != nil { 13862 return err 13863 } 13864 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 13865 return err 13866 } 13867 return nil 13868 } 13869 13870 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPath) { 13871 fieldMask.Paths = append(fieldMask.Paths, path) 13872 } 13873 13874 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 13875 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPath)) 13876 } 13877 13878 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPath { 13879 if fieldMask == nil { 13880 return nil 13881 } 13882 return fieldMask.Paths 13883 } 13884 13885 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) GetRawPaths() []gotenobject.FieldPath { 13886 if fieldMask == nil { 13887 return nil 13888 } 13889 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 13890 for _, path := range fieldMask.Paths { 13891 rawPaths = append(rawPaths, path) 13892 } 13893 return rawPaths 13894 } 13895 13896 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) SetFromCliFlag(raw string) error { 13897 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPath(raw) 13898 if err != nil { 13899 return err 13900 } 13901 fieldMask.Paths = append(fieldMask.Paths, path) 13902 return nil 13903 } 13904 13905 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps) { 13906 for _, path := range fieldMask.Paths { 13907 val, _ := path.GetSingle(source) 13908 // if val is nil, then field does not exist in source, skip 13909 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 13910 if val != nil { 13911 path.WithIValue(val).SetTo(&target) 13912 } 13913 } 13914 } 13915 13916 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 13917 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps), source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps)) 13918 } 13919 13920 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps { 13921 if source == nil { 13922 return nil 13923 } 13924 if fieldMask == nil { 13925 return source 13926 } 13927 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps{} 13928 initialBearerMask := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_InitialBearer_FieldMask{} 13929 wholeInitialBearerAccepted := false 13930 13931 for _, p := range fieldMask.Paths { 13932 switch tp := p.(type) { 13933 case *DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldTerminalPath: 13934 switch tp.selector { 13935 case DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelectorInitialBearer: 13936 result.InitialBearer = source.InitialBearer 13937 wholeInitialBearerAccepted = true 13938 case DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelectorUeModeOperation: 13939 result.UeModeOperation = source.UeModeOperation 13940 } 13941 case *DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldSubPath: 13942 switch tp.selector { 13943 case DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPathSelectorInitialBearer: 13944 initialBearerMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationModemStatusInitialBearer_FieldPath)) 13945 } 13946 } 13947 } 13948 if wholeInitialBearerAccepted == false && len(initialBearerMask.Paths) > 0 { 13949 result.InitialBearer = initialBearerMask.Project(source.GetInitialBearer()) 13950 } 13951 return result 13952 } 13953 13954 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 13955 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps)) 13956 } 13957 13958 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask) PathsCount() int { 13959 if fieldMask == nil { 13960 return 0 13961 } 13962 return len(fieldMask.Paths) 13963 } 13964 13965 type Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask struct { 13966 Paths []DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPath 13967 } 13968 13969 func FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask { 13970 res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask{} 13971 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorFivegNr}) 13972 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorEnabledLocks}) 13973 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorEps}) 13974 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorImei}) 13975 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorOperatorCode}) 13976 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorOperatorName}) 13977 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorPacketServiceState}) 13978 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorPco}) 13979 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorRegistrationState}) 13980 return res 13981 } 13982 13983 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) String() string { 13984 if fieldMask == nil { 13985 return "<nil>" 13986 } 13987 pathsStr := make([]string, 0, len(fieldMask.Paths)) 13988 for _, path := range fieldMask.Paths { 13989 pathsStr = append(pathsStr, path.String()) 13990 } 13991 return strings.Join(pathsStr, ", ") 13992 } 13993 13994 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) IsFull() bool { 13995 if fieldMask == nil { 13996 return false 13997 } 13998 presentSelectors := make([]bool, 9) 13999 for _, path := range fieldMask.Paths { 14000 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath); ok { 14001 presentSelectors[int(asFinal.selector)] = true 14002 } 14003 } 14004 for _, flag := range presentSelectors { 14005 if !flag { 14006 return false 14007 } 14008 } 14009 return true 14010 } 14011 14012 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) ProtoReflect() preflect.Message { 14013 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 14014 return ParseDeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPath(raw) 14015 }) 14016 } 14017 14018 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) ProtoMessage() { 14019 } 14020 14021 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) Reset() { 14022 if fieldMask != nil { 14023 fieldMask.Paths = nil 14024 } 14025 } 14026 14027 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask { 14028 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask{} 14029 removedSelectors := make([]bool, 9) 14030 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelector]gotenobject.FieldMask{ 14031 DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorFivegNr: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask{}, 14032 DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorEps: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask{}, 14033 } 14034 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelector]gotenobject.FieldMask{ 14035 DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorFivegNr: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask{}, 14036 DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorEps: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask{}, 14037 } 14038 14039 for _, path := range other.GetPaths() { 14040 switch tp := path.(type) { 14041 case *DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath: 14042 removedSelectors[int(tp.selector)] = true 14043 case *DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldSubPath: 14044 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 14045 } 14046 } 14047 for _, path := range fieldMask.GetPaths() { 14048 if !removedSelectors[int(path.Selector())] { 14049 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 14050 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath); ok { 14051 switch tp.selector { 14052 case DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorFivegNr: 14053 mySubMasks[DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorFivegNr] = FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask() 14054 case DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorEps: 14055 mySubMasks[DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorEps] = FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask() 14056 } 14057 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldSubPath); ok { 14058 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 14059 } 14060 } else { 14061 result.Paths = append(result.Paths, path) 14062 } 14063 } 14064 } 14065 for selector, mySubMask := range mySubMasks { 14066 if mySubMask.PathsCount() > 0 { 14067 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 14068 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldSubPath{selector: selector, subPath: allowedPath}) 14069 } 14070 } 14071 } 14072 14073 if len(result.Paths) == 0 { 14074 return nil 14075 } 14076 return result 14077 } 14078 14079 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 14080 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask)) 14081 } 14082 14083 // FilterInputFields generates copy of field paths with output_only field paths removed 14084 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask { 14085 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask{} 14086 result.Paths = append(result.Paths, fieldMask.Paths...) 14087 return result 14088 } 14089 14090 // ToFieldMask is used for proto conversions 14091 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 14092 protoFieldMask := &googlefieldmaskpb.FieldMask{} 14093 for _, path := range fieldMask.Paths { 14094 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 14095 } 14096 return protoFieldMask 14097 } 14098 14099 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 14100 if fieldMask == nil { 14101 return status.Error(codes.Internal, "target field mask is nil") 14102 } 14103 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPath, 0, len(protoFieldMask.Paths)) 14104 for _, strPath := range protoFieldMask.Paths { 14105 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPath(strPath) 14106 if err != nil { 14107 return err 14108 } 14109 fieldMask.Paths = append(fieldMask.Paths, path) 14110 } 14111 return nil 14112 } 14113 14114 // implement methods required by customType 14115 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) Marshal() ([]byte, error) { 14116 protoFieldMask := fieldMask.ToProtoFieldMask() 14117 return proto.Marshal(protoFieldMask) 14118 } 14119 14120 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) Unmarshal(data []byte) error { 14121 protoFieldMask := &googlefieldmaskpb.FieldMask{} 14122 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 14123 return err 14124 } 14125 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 14126 return err 14127 } 14128 return nil 14129 } 14130 14131 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) Size() int { 14132 return proto.Size(fieldMask.ToProtoFieldMask()) 14133 } 14134 14135 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) MarshalJSON() ([]byte, error) { 14136 return json.Marshal(fieldMask.ToProtoFieldMask()) 14137 } 14138 14139 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) UnmarshalJSON(data []byte) error { 14140 protoFieldMask := &googlefieldmaskpb.FieldMask{} 14141 if err := json.Unmarshal(data, protoFieldMask); err != nil { 14142 return err 14143 } 14144 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 14145 return err 14146 } 14147 return nil 14148 } 14149 14150 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPath) { 14151 fieldMask.Paths = append(fieldMask.Paths, path) 14152 } 14153 14154 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 14155 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPath)) 14156 } 14157 14158 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPath { 14159 if fieldMask == nil { 14160 return nil 14161 } 14162 return fieldMask.Paths 14163 } 14164 14165 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) GetRawPaths() []gotenobject.FieldPath { 14166 if fieldMask == nil { 14167 return nil 14168 } 14169 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 14170 for _, path := range fieldMask.Paths { 14171 rawPaths = append(rawPaths, path) 14172 } 14173 return rawPaths 14174 } 14175 14176 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) SetFromCliFlag(raw string) error { 14177 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPath(raw) 14178 if err != nil { 14179 return err 14180 } 14181 fieldMask.Paths = append(fieldMask.Paths, path) 14182 return nil 14183 } 14184 14185 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp) { 14186 for _, path := range fieldMask.Paths { 14187 val, _ := path.GetSingle(source) 14188 // if val is nil, then field does not exist in source, skip 14189 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 14190 if val != nil { 14191 path.WithIValue(val).SetTo(&target) 14192 } 14193 } 14194 } 14195 14196 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 14197 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp), source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp)) 14198 } 14199 14200 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp { 14201 if source == nil { 14202 return nil 14203 } 14204 if fieldMask == nil { 14205 return source 14206 } 14207 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp{} 14208 fivegNrMask := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_FiveGNr_FieldMask{} 14209 wholeFivegNrAccepted := false 14210 epsMask := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Eps_FieldMask{} 14211 wholeEpsAccepted := false 14212 14213 for _, p := range fieldMask.Paths { 14214 switch tp := p.(type) { 14215 case *DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldTerminalPath: 14216 switch tp.selector { 14217 case DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorFivegNr: 14218 result.FivegNr = source.FivegNr 14219 wholeFivegNrAccepted = true 14220 case DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorEnabledLocks: 14221 result.EnabledLocks = source.EnabledLocks 14222 case DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorEps: 14223 result.Eps = source.Eps 14224 wholeEpsAccepted = true 14225 case DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorImei: 14226 result.Imei = source.Imei 14227 case DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorOperatorCode: 14228 result.OperatorCode = source.OperatorCode 14229 case DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorOperatorName: 14230 result.OperatorName = source.OperatorName 14231 case DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorPacketServiceState: 14232 result.PacketServiceState = source.PacketServiceState 14233 case DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorPco: 14234 result.Pco = source.Pco 14235 case DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorRegistrationState: 14236 result.RegistrationState = source.RegistrationState 14237 } 14238 case *DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldSubPath: 14239 switch tp.selector { 14240 case DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorFivegNr: 14241 fivegNrMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationModemStatusFiveGNr_FieldPath)) 14242 case DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPathSelectorEps: 14243 epsMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationModemStatusEps_FieldPath)) 14244 } 14245 } 14246 } 14247 if wholeFivegNrAccepted == false && len(fivegNrMask.Paths) > 0 { 14248 result.FivegNr = fivegNrMask.Project(source.GetFivegNr()) 14249 } 14250 if wholeEpsAccepted == false && len(epsMask.Paths) > 0 { 14251 result.Eps = epsMask.Project(source.GetEps()) 14252 } 14253 return result 14254 } 14255 14256 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 14257 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp)) 14258 } 14259 14260 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask) PathsCount() int { 14261 if fieldMask == nil { 14262 return 0 14263 } 14264 return len(fieldMask.Paths) 14265 } 14266 14267 type Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask struct { 14268 Paths []DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPath 14269 } 14270 14271 func FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask { 14272 res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask{} 14273 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorActivationState}) 14274 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorCdma1xRegistrationState}) 14275 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorEsn}) 14276 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorEvdoRegistrationState}) 14277 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorMeid}) 14278 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorNid}) 14279 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorSid}) 14280 return res 14281 } 14282 14283 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) String() string { 14284 if fieldMask == nil { 14285 return "<nil>" 14286 } 14287 pathsStr := make([]string, 0, len(fieldMask.Paths)) 14288 for _, path := range fieldMask.Paths { 14289 pathsStr = append(pathsStr, path.String()) 14290 } 14291 return strings.Join(pathsStr, ", ") 14292 } 14293 14294 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) IsFull() bool { 14295 if fieldMask == nil { 14296 return false 14297 } 14298 presentSelectors := make([]bool, 7) 14299 for _, path := range fieldMask.Paths { 14300 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath); ok { 14301 presentSelectors[int(asFinal.selector)] = true 14302 } 14303 } 14304 for _, flag := range presentSelectors { 14305 if !flag { 14306 return false 14307 } 14308 } 14309 return true 14310 } 14311 14312 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) ProtoReflect() preflect.Message { 14313 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 14314 return ParseDeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPath(raw) 14315 }) 14316 } 14317 14318 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) ProtoMessage() { 14319 } 14320 14321 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) Reset() { 14322 if fieldMask != nil { 14323 fieldMask.Paths = nil 14324 } 14325 } 14326 14327 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask { 14328 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask{} 14329 removedSelectors := make([]bool, 7) 14330 14331 for _, path := range other.GetPaths() { 14332 switch tp := path.(type) { 14333 case *DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath: 14334 removedSelectors[int(tp.selector)] = true 14335 } 14336 } 14337 for _, path := range fieldMask.GetPaths() { 14338 if !removedSelectors[int(path.Selector())] { 14339 result.Paths = append(result.Paths, path) 14340 } 14341 } 14342 14343 if len(result.Paths) == 0 { 14344 return nil 14345 } 14346 return result 14347 } 14348 14349 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 14350 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask)) 14351 } 14352 14353 // FilterInputFields generates copy of field paths with output_only field paths removed 14354 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask { 14355 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask{} 14356 result.Paths = append(result.Paths, fieldMask.Paths...) 14357 return result 14358 } 14359 14360 // ToFieldMask is used for proto conversions 14361 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 14362 protoFieldMask := &googlefieldmaskpb.FieldMask{} 14363 for _, path := range fieldMask.Paths { 14364 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 14365 } 14366 return protoFieldMask 14367 } 14368 14369 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 14370 if fieldMask == nil { 14371 return status.Error(codes.Internal, "target field mask is nil") 14372 } 14373 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPath, 0, len(protoFieldMask.Paths)) 14374 for _, strPath := range protoFieldMask.Paths { 14375 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPath(strPath) 14376 if err != nil { 14377 return err 14378 } 14379 fieldMask.Paths = append(fieldMask.Paths, path) 14380 } 14381 return nil 14382 } 14383 14384 // implement methods required by customType 14385 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) Marshal() ([]byte, error) { 14386 protoFieldMask := fieldMask.ToProtoFieldMask() 14387 return proto.Marshal(protoFieldMask) 14388 } 14389 14390 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) Unmarshal(data []byte) error { 14391 protoFieldMask := &googlefieldmaskpb.FieldMask{} 14392 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 14393 return err 14394 } 14395 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 14396 return err 14397 } 14398 return nil 14399 } 14400 14401 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) Size() int { 14402 return proto.Size(fieldMask.ToProtoFieldMask()) 14403 } 14404 14405 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) MarshalJSON() ([]byte, error) { 14406 return json.Marshal(fieldMask.ToProtoFieldMask()) 14407 } 14408 14409 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) UnmarshalJSON(data []byte) error { 14410 protoFieldMask := &googlefieldmaskpb.FieldMask{} 14411 if err := json.Unmarshal(data, protoFieldMask); err != nil { 14412 return err 14413 } 14414 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 14415 return err 14416 } 14417 return nil 14418 } 14419 14420 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPath) { 14421 fieldMask.Paths = append(fieldMask.Paths, path) 14422 } 14423 14424 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 14425 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPath)) 14426 } 14427 14428 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPath { 14429 if fieldMask == nil { 14430 return nil 14431 } 14432 return fieldMask.Paths 14433 } 14434 14435 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) GetRawPaths() []gotenobject.FieldPath { 14436 if fieldMask == nil { 14437 return nil 14438 } 14439 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 14440 for _, path := range fieldMask.Paths { 14441 rawPaths = append(rawPaths, path) 14442 } 14443 return rawPaths 14444 } 14445 14446 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) SetFromCliFlag(raw string) error { 14447 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPath(raw) 14448 if err != nil { 14449 return err 14450 } 14451 fieldMask.Paths = append(fieldMask.Paths, path) 14452 return nil 14453 } 14454 14455 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma) { 14456 for _, path := range fieldMask.Paths { 14457 val, _ := path.GetSingle(source) 14458 // if val is nil, then field does not exist in source, skip 14459 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 14460 if val != nil { 14461 path.WithIValue(val).SetTo(&target) 14462 } 14463 } 14464 } 14465 14466 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 14467 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma), source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma)) 14468 } 14469 14470 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma { 14471 if source == nil { 14472 return nil 14473 } 14474 if fieldMask == nil { 14475 return source 14476 } 14477 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma{} 14478 14479 for _, p := range fieldMask.Paths { 14480 switch tp := p.(type) { 14481 case *DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldTerminalPath: 14482 switch tp.selector { 14483 case DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorActivationState: 14484 result.ActivationState = source.ActivationState 14485 case DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorCdma1xRegistrationState: 14486 result.Cdma1XRegistrationState = source.Cdma1XRegistrationState 14487 case DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorEsn: 14488 result.Esn = source.Esn 14489 case DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorEvdoRegistrationState: 14490 result.EvdoRegistrationState = source.EvdoRegistrationState 14491 case DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorMeid: 14492 result.Meid = source.Meid 14493 case DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorNid: 14494 result.Nid = source.Nid 14495 case DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPathSelectorSid: 14496 result.Sid = source.Sid 14497 } 14498 } 14499 } 14500 return result 14501 } 14502 14503 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 14504 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma)) 14505 } 14506 14507 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask) PathsCount() int { 14508 if fieldMask == nil { 14509 return 0 14510 } 14511 return len(fieldMask.Paths) 14512 } 14513 14514 type Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask struct { 14515 Paths []DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPath 14516 } 14517 14518 func FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask { 14519 res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask{} 14520 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPathSelectorRecent}) 14521 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPathSelectorValue}) 14522 return res 14523 } 14524 14525 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) String() string { 14526 if fieldMask == nil { 14527 return "<nil>" 14528 } 14529 pathsStr := make([]string, 0, len(fieldMask.Paths)) 14530 for _, path := range fieldMask.Paths { 14531 pathsStr = append(pathsStr, path.String()) 14532 } 14533 return strings.Join(pathsStr, ", ") 14534 } 14535 14536 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) IsFull() bool { 14537 if fieldMask == nil { 14538 return false 14539 } 14540 presentSelectors := make([]bool, 2) 14541 for _, path := range fieldMask.Paths { 14542 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldTerminalPath); ok { 14543 presentSelectors[int(asFinal.selector)] = true 14544 } 14545 } 14546 for _, flag := range presentSelectors { 14547 if !flag { 14548 return false 14549 } 14550 } 14551 return true 14552 } 14553 14554 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) ProtoReflect() preflect.Message { 14555 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 14556 return ParseDeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPath(raw) 14557 }) 14558 } 14559 14560 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) ProtoMessage() { 14561 } 14562 14563 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) Reset() { 14564 if fieldMask != nil { 14565 fieldMask.Paths = nil 14566 } 14567 } 14568 14569 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask { 14570 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask{} 14571 removedSelectors := make([]bool, 2) 14572 14573 for _, path := range other.GetPaths() { 14574 switch tp := path.(type) { 14575 case *DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldTerminalPath: 14576 removedSelectors[int(tp.selector)] = true 14577 } 14578 } 14579 for _, path := range fieldMask.GetPaths() { 14580 if !removedSelectors[int(path.Selector())] { 14581 result.Paths = append(result.Paths, path) 14582 } 14583 } 14584 14585 if len(result.Paths) == 0 { 14586 return nil 14587 } 14588 return result 14589 } 14590 14591 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 14592 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask)) 14593 } 14594 14595 // FilterInputFields generates copy of field paths with output_only field paths removed 14596 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask { 14597 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask{} 14598 result.Paths = append(result.Paths, fieldMask.Paths...) 14599 return result 14600 } 14601 14602 // ToFieldMask is used for proto conversions 14603 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 14604 protoFieldMask := &googlefieldmaskpb.FieldMask{} 14605 for _, path := range fieldMask.Paths { 14606 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 14607 } 14608 return protoFieldMask 14609 } 14610 14611 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 14612 if fieldMask == nil { 14613 return status.Error(codes.Internal, "target field mask is nil") 14614 } 14615 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPath, 0, len(protoFieldMask.Paths)) 14616 for _, strPath := range protoFieldMask.Paths { 14617 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPath(strPath) 14618 if err != nil { 14619 return err 14620 } 14621 fieldMask.Paths = append(fieldMask.Paths, path) 14622 } 14623 return nil 14624 } 14625 14626 // implement methods required by customType 14627 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) Marshal() ([]byte, error) { 14628 protoFieldMask := fieldMask.ToProtoFieldMask() 14629 return proto.Marshal(protoFieldMask) 14630 } 14631 14632 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) Unmarshal(data []byte) error { 14633 protoFieldMask := &googlefieldmaskpb.FieldMask{} 14634 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 14635 return err 14636 } 14637 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 14638 return err 14639 } 14640 return nil 14641 } 14642 14643 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) Size() int { 14644 return proto.Size(fieldMask.ToProtoFieldMask()) 14645 } 14646 14647 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) MarshalJSON() ([]byte, error) { 14648 return json.Marshal(fieldMask.ToProtoFieldMask()) 14649 } 14650 14651 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) UnmarshalJSON(data []byte) error { 14652 protoFieldMask := &googlefieldmaskpb.FieldMask{} 14653 if err := json.Unmarshal(data, protoFieldMask); err != nil { 14654 return err 14655 } 14656 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 14657 return err 14658 } 14659 return nil 14660 } 14661 14662 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPath) { 14663 fieldMask.Paths = append(fieldMask.Paths, path) 14664 } 14665 14666 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 14667 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPath)) 14668 } 14669 14670 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPath { 14671 if fieldMask == nil { 14672 return nil 14673 } 14674 return fieldMask.Paths 14675 } 14676 14677 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) GetRawPaths() []gotenobject.FieldPath { 14678 if fieldMask == nil { 14679 return nil 14680 } 14681 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 14682 for _, path := range fieldMask.Paths { 14683 rawPaths = append(rawPaths, path) 14684 } 14685 return rawPaths 14686 } 14687 14688 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) SetFromCliFlag(raw string) error { 14689 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPath(raw) 14690 if err != nil { 14691 return err 14692 } 14693 fieldMask.Paths = append(fieldMask.Paths, path) 14694 return nil 14695 } 14696 14697 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality) { 14698 for _, path := range fieldMask.Paths { 14699 val, _ := path.GetSingle(source) 14700 // if val is nil, then field does not exist in source, skip 14701 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 14702 if val != nil { 14703 path.WithIValue(val).SetTo(&target) 14704 } 14705 } 14706 } 14707 14708 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 14709 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality), source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality)) 14710 } 14711 14712 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality { 14713 if source == nil { 14714 return nil 14715 } 14716 if fieldMask == nil { 14717 return source 14718 } 14719 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality{} 14720 14721 for _, p := range fieldMask.Paths { 14722 switch tp := p.(type) { 14723 case *DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldTerminalPath: 14724 switch tp.selector { 14725 case DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPathSelectorRecent: 14726 result.Recent = source.Recent 14727 case DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPathSelectorValue: 14728 result.Value = source.Value 14729 } 14730 } 14731 } 14732 return result 14733 } 14734 14735 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 14736 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality)) 14737 } 14738 14739 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask) PathsCount() int { 14740 if fieldMask == nil { 14741 return 0 14742 } 14743 return len(fieldMask.Paths) 14744 } 14745 14746 type Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask struct { 14747 Paths []DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPath 14748 } 14749 14750 func FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask { 14751 res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask{} 14752 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorAccessTechnologies}) 14753 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorBearers}) 14754 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCarrierConfiguration}) 14755 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCarrierConfigurationRevision}) 14756 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCurrentBands}) 14757 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCurrentCapabilities}) 14758 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCurrentModes}) 14759 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorDevice}) 14760 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorDeviceIdentifier}) 14761 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorDrivers}) 14762 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorEquipmentIdentifier}) 14763 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorHardwareRevision}) 14764 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorManufacturer}) 14765 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorModel}) 14766 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorOwnNumbers}) 14767 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPlugin}) 14768 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPorts}) 14769 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPowerState}) 14770 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPrimaryPort}) 14771 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPrimarySimSlot}) 14772 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorRevision}) 14773 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSignalQuality}) 14774 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSim}) 14775 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSimSlots}) 14776 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorState}) 14777 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorStateFailedReason}) 14778 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedBands}) 14779 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedCapabilities}) 14780 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedIpFamilies}) 14781 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedModes}) 14782 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorUnlockRequired}) 14783 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorUnlockRetries}) 14784 return res 14785 } 14786 14787 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) String() string { 14788 if fieldMask == nil { 14789 return "<nil>" 14790 } 14791 pathsStr := make([]string, 0, len(fieldMask.Paths)) 14792 for _, path := range fieldMask.Paths { 14793 pathsStr = append(pathsStr, path.String()) 14794 } 14795 return strings.Join(pathsStr, ", ") 14796 } 14797 14798 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) IsFull() bool { 14799 if fieldMask == nil { 14800 return false 14801 } 14802 presentSelectors := make([]bool, 32) 14803 for _, path := range fieldMask.Paths { 14804 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath); ok { 14805 presentSelectors[int(asFinal.selector)] = true 14806 } 14807 } 14808 for _, flag := range presentSelectors { 14809 if !flag { 14810 return false 14811 } 14812 } 14813 return true 14814 } 14815 14816 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) ProtoReflect() preflect.Message { 14817 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 14818 return ParseDeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPath(raw) 14819 }) 14820 } 14821 14822 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) ProtoMessage() { 14823 } 14824 14825 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) Reset() { 14826 if fieldMask != nil { 14827 fieldMask.Paths = nil 14828 } 14829 } 14830 14831 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask { 14832 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask{} 14833 removedSelectors := make([]bool, 32) 14834 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelector]gotenobject.FieldMask{ 14835 DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSignalQuality: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask{}, 14836 } 14837 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelector]gotenobject.FieldMask{ 14838 DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSignalQuality: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask{}, 14839 } 14840 14841 for _, path := range other.GetPaths() { 14842 switch tp := path.(type) { 14843 case *DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath: 14844 removedSelectors[int(tp.selector)] = true 14845 case *DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldSubPath: 14846 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 14847 } 14848 } 14849 for _, path := range fieldMask.GetPaths() { 14850 if !removedSelectors[int(path.Selector())] { 14851 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 14852 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath); ok { 14853 switch tp.selector { 14854 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSignalQuality: 14855 mySubMasks[DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSignalQuality] = FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask() 14856 } 14857 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldSubPath); ok { 14858 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 14859 } 14860 } else { 14861 result.Paths = append(result.Paths, path) 14862 } 14863 } 14864 } 14865 for selector, mySubMask := range mySubMasks { 14866 if mySubMask.PathsCount() > 0 { 14867 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 14868 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldSubPath{selector: selector, subPath: allowedPath}) 14869 } 14870 } 14871 } 14872 14873 if len(result.Paths) == 0 { 14874 return nil 14875 } 14876 return result 14877 } 14878 14879 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 14880 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask)) 14881 } 14882 14883 // FilterInputFields generates copy of field paths with output_only field paths removed 14884 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask { 14885 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask{} 14886 result.Paths = append(result.Paths, fieldMask.Paths...) 14887 return result 14888 } 14889 14890 // ToFieldMask is used for proto conversions 14891 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 14892 protoFieldMask := &googlefieldmaskpb.FieldMask{} 14893 for _, path := range fieldMask.Paths { 14894 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 14895 } 14896 return protoFieldMask 14897 } 14898 14899 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 14900 if fieldMask == nil { 14901 return status.Error(codes.Internal, "target field mask is nil") 14902 } 14903 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPath, 0, len(protoFieldMask.Paths)) 14904 for _, strPath := range protoFieldMask.Paths { 14905 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPath(strPath) 14906 if err != nil { 14907 return err 14908 } 14909 fieldMask.Paths = append(fieldMask.Paths, path) 14910 } 14911 return nil 14912 } 14913 14914 // implement methods required by customType 14915 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) Marshal() ([]byte, error) { 14916 protoFieldMask := fieldMask.ToProtoFieldMask() 14917 return proto.Marshal(protoFieldMask) 14918 } 14919 14920 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) Unmarshal(data []byte) error { 14921 protoFieldMask := &googlefieldmaskpb.FieldMask{} 14922 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 14923 return err 14924 } 14925 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 14926 return err 14927 } 14928 return nil 14929 } 14930 14931 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) Size() int { 14932 return proto.Size(fieldMask.ToProtoFieldMask()) 14933 } 14934 14935 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) MarshalJSON() ([]byte, error) { 14936 return json.Marshal(fieldMask.ToProtoFieldMask()) 14937 } 14938 14939 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) UnmarshalJSON(data []byte) error { 14940 protoFieldMask := &googlefieldmaskpb.FieldMask{} 14941 if err := json.Unmarshal(data, protoFieldMask); err != nil { 14942 return err 14943 } 14944 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 14945 return err 14946 } 14947 return nil 14948 } 14949 14950 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPath) { 14951 fieldMask.Paths = append(fieldMask.Paths, path) 14952 } 14953 14954 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 14955 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPath)) 14956 } 14957 14958 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPath { 14959 if fieldMask == nil { 14960 return nil 14961 } 14962 return fieldMask.Paths 14963 } 14964 14965 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) GetRawPaths() []gotenobject.FieldPath { 14966 if fieldMask == nil { 14967 return nil 14968 } 14969 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 14970 for _, path := range fieldMask.Paths { 14971 rawPaths = append(rawPaths, path) 14972 } 14973 return rawPaths 14974 } 14975 14976 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) SetFromCliFlag(raw string) error { 14977 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPath(raw) 14978 if err != nil { 14979 return err 14980 } 14981 fieldMask.Paths = append(fieldMask.Paths, path) 14982 return nil 14983 } 14984 14985 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic) { 14986 for _, path := range fieldMask.Paths { 14987 val, _ := path.GetSingle(source) 14988 // if val is nil, then field does not exist in source, skip 14989 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 14990 if val != nil { 14991 path.WithIValue(val).SetTo(&target) 14992 } 14993 } 14994 } 14995 14996 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 14997 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic), source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic)) 14998 } 14999 15000 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic { 15001 if source == nil { 15002 return nil 15003 } 15004 if fieldMask == nil { 15005 return source 15006 } 15007 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic{} 15008 signalQualityMask := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SignalQuality_FieldMask{} 15009 wholeSignalQualityAccepted := false 15010 15011 for _, p := range fieldMask.Paths { 15012 switch tp := p.(type) { 15013 case *DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldTerminalPath: 15014 switch tp.selector { 15015 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorAccessTechnologies: 15016 result.AccessTechnologies = source.AccessTechnologies 15017 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorBearers: 15018 result.Bearers = source.Bearers 15019 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCarrierConfiguration: 15020 result.CarrierConfiguration = source.CarrierConfiguration 15021 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCarrierConfigurationRevision: 15022 result.CarrierConfigurationRevision = source.CarrierConfigurationRevision 15023 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCurrentBands: 15024 result.CurrentBands = source.CurrentBands 15025 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCurrentCapabilities: 15026 result.CurrentCapabilities = source.CurrentCapabilities 15027 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorCurrentModes: 15028 result.CurrentModes = source.CurrentModes 15029 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorDevice: 15030 result.Device = source.Device 15031 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorDeviceIdentifier: 15032 result.DeviceIdentifier = source.DeviceIdentifier 15033 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorDrivers: 15034 result.Drivers = source.Drivers 15035 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorEquipmentIdentifier: 15036 result.EquipmentIdentifier = source.EquipmentIdentifier 15037 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorHardwareRevision: 15038 result.HardwareRevision = source.HardwareRevision 15039 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorManufacturer: 15040 result.Manufacturer = source.Manufacturer 15041 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorModel: 15042 result.Model = source.Model 15043 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorOwnNumbers: 15044 result.OwnNumbers = source.OwnNumbers 15045 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPlugin: 15046 result.Plugin = source.Plugin 15047 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPorts: 15048 result.Ports = source.Ports 15049 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPowerState: 15050 result.PowerState = source.PowerState 15051 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPrimaryPort: 15052 result.PrimaryPort = source.PrimaryPort 15053 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorPrimarySimSlot: 15054 result.PrimarySimSlot = source.PrimarySimSlot 15055 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorRevision: 15056 result.Revision = source.Revision 15057 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSignalQuality: 15058 result.SignalQuality = source.SignalQuality 15059 wholeSignalQualityAccepted = true 15060 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSim: 15061 result.Sim = source.Sim 15062 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSimSlots: 15063 result.SimSlots = source.SimSlots 15064 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorState: 15065 result.State = source.State 15066 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorStateFailedReason: 15067 result.StateFailedReason = source.StateFailedReason 15068 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedBands: 15069 result.SupportedBands = source.SupportedBands 15070 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedCapabilities: 15071 result.SupportedCapabilities = source.SupportedCapabilities 15072 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedIpFamilies: 15073 result.SupportedIpFamilies = source.SupportedIpFamilies 15074 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSupportedModes: 15075 result.SupportedModes = source.SupportedModes 15076 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorUnlockRequired: 15077 result.UnlockRequired = source.UnlockRequired 15078 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorUnlockRetries: 15079 result.UnlockRetries = source.UnlockRetries 15080 } 15081 case *DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldSubPath: 15082 switch tp.selector { 15083 case DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPathSelectorSignalQuality: 15084 signalQualityMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationModemStatusSignalQuality_FieldPath)) 15085 } 15086 } 15087 } 15088 if wholeSignalQualityAccepted == false && len(signalQualityMask.Paths) > 0 { 15089 result.SignalQuality = signalQualityMask.Project(source.GetSignalQuality()) 15090 } 15091 return result 15092 } 15093 15094 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 15095 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic)) 15096 } 15097 15098 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask) PathsCount() int { 15099 if fieldMask == nil { 15100 return 0 15101 } 15102 return len(fieldMask.Paths) 15103 } 15104 15105 type Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask struct { 15106 Paths []DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPath 15107 } 15108 15109 func FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask { 15110 res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask{} 15111 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorDbusPath}) 15112 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorActive}) 15113 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorEid}) 15114 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorEmergencyNumbers}) 15115 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorEsimStatus}) 15116 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorGid1}) 15117 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorGid2}) 15118 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorIccid}) 15119 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorImsi}) 15120 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorOperatorCode}) 15121 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorOperatorName}) 15122 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorRemovability}) 15123 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorSimType}) 15124 return res 15125 } 15126 15127 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) String() string { 15128 if fieldMask == nil { 15129 return "<nil>" 15130 } 15131 pathsStr := make([]string, 0, len(fieldMask.Paths)) 15132 for _, path := range fieldMask.Paths { 15133 pathsStr = append(pathsStr, path.String()) 15134 } 15135 return strings.Join(pathsStr, ", ") 15136 } 15137 15138 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) IsFull() bool { 15139 if fieldMask == nil { 15140 return false 15141 } 15142 presentSelectors := make([]bool, 13) 15143 for _, path := range fieldMask.Paths { 15144 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath); ok { 15145 presentSelectors[int(asFinal.selector)] = true 15146 } 15147 } 15148 for _, flag := range presentSelectors { 15149 if !flag { 15150 return false 15151 } 15152 } 15153 return true 15154 } 15155 15156 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) ProtoReflect() preflect.Message { 15157 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 15158 return ParseDeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPath(raw) 15159 }) 15160 } 15161 15162 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) ProtoMessage() { 15163 } 15164 15165 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) Reset() { 15166 if fieldMask != nil { 15167 fieldMask.Paths = nil 15168 } 15169 } 15170 15171 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask { 15172 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask{} 15173 removedSelectors := make([]bool, 13) 15174 15175 for _, path := range other.GetPaths() { 15176 switch tp := path.(type) { 15177 case *DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath: 15178 removedSelectors[int(tp.selector)] = true 15179 } 15180 } 15181 for _, path := range fieldMask.GetPaths() { 15182 if !removedSelectors[int(path.Selector())] { 15183 result.Paths = append(result.Paths, path) 15184 } 15185 } 15186 15187 if len(result.Paths) == 0 { 15188 return nil 15189 } 15190 return result 15191 } 15192 15193 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 15194 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask)) 15195 } 15196 15197 // FilterInputFields generates copy of field paths with output_only field paths removed 15198 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask { 15199 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask{} 15200 result.Paths = append(result.Paths, fieldMask.Paths...) 15201 return result 15202 } 15203 15204 // ToFieldMask is used for proto conversions 15205 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 15206 protoFieldMask := &googlefieldmaskpb.FieldMask{} 15207 for _, path := range fieldMask.Paths { 15208 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 15209 } 15210 return protoFieldMask 15211 } 15212 15213 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 15214 if fieldMask == nil { 15215 return status.Error(codes.Internal, "target field mask is nil") 15216 } 15217 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPath, 0, len(protoFieldMask.Paths)) 15218 for _, strPath := range protoFieldMask.Paths { 15219 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPath(strPath) 15220 if err != nil { 15221 return err 15222 } 15223 fieldMask.Paths = append(fieldMask.Paths, path) 15224 } 15225 return nil 15226 } 15227 15228 // implement methods required by customType 15229 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) Marshal() ([]byte, error) { 15230 protoFieldMask := fieldMask.ToProtoFieldMask() 15231 return proto.Marshal(protoFieldMask) 15232 } 15233 15234 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) Unmarshal(data []byte) error { 15235 protoFieldMask := &googlefieldmaskpb.FieldMask{} 15236 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 15237 return err 15238 } 15239 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 15240 return err 15241 } 15242 return nil 15243 } 15244 15245 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) Size() int { 15246 return proto.Size(fieldMask.ToProtoFieldMask()) 15247 } 15248 15249 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) MarshalJSON() ([]byte, error) { 15250 return json.Marshal(fieldMask.ToProtoFieldMask()) 15251 } 15252 15253 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) UnmarshalJSON(data []byte) error { 15254 protoFieldMask := &googlefieldmaskpb.FieldMask{} 15255 if err := json.Unmarshal(data, protoFieldMask); err != nil { 15256 return err 15257 } 15258 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 15259 return err 15260 } 15261 return nil 15262 } 15263 15264 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPath) { 15265 fieldMask.Paths = append(fieldMask.Paths, path) 15266 } 15267 15268 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 15269 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPath)) 15270 } 15271 15272 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPath { 15273 if fieldMask == nil { 15274 return nil 15275 } 15276 return fieldMask.Paths 15277 } 15278 15279 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) GetRawPaths() []gotenobject.FieldPath { 15280 if fieldMask == nil { 15281 return nil 15282 } 15283 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 15284 for _, path := range fieldMask.Paths { 15285 rawPaths = append(rawPaths, path) 15286 } 15287 return rawPaths 15288 } 15289 15290 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) SetFromCliFlag(raw string) error { 15291 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPath(raw) 15292 if err != nil { 15293 return err 15294 } 15295 fieldMask.Paths = append(fieldMask.Paths, path) 15296 return nil 15297 } 15298 15299 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus) { 15300 for _, path := range fieldMask.Paths { 15301 val, _ := path.GetSingle(source) 15302 // if val is nil, then field does not exist in source, skip 15303 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 15304 if val != nil { 15305 path.WithIValue(val).SetTo(&target) 15306 } 15307 } 15308 } 15309 15310 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 15311 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus), source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus)) 15312 } 15313 15314 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus { 15315 if source == nil { 15316 return nil 15317 } 15318 if fieldMask == nil { 15319 return source 15320 } 15321 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus{} 15322 15323 for _, p := range fieldMask.Paths { 15324 switch tp := p.(type) { 15325 case *DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldTerminalPath: 15326 switch tp.selector { 15327 case DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorDbusPath: 15328 result.DbusPath = source.DbusPath 15329 case DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorActive: 15330 result.Active = source.Active 15331 case DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorEid: 15332 result.Eid = source.Eid 15333 case DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorEmergencyNumbers: 15334 result.EmergencyNumbers = source.EmergencyNumbers 15335 case DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorEsimStatus: 15336 result.EsimStatus = source.EsimStatus 15337 case DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorGid1: 15338 result.Gid1 = source.Gid1 15339 case DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorGid2: 15340 result.Gid2 = source.Gid2 15341 case DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorIccid: 15342 result.Iccid = source.Iccid 15343 case DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorImsi: 15344 result.Imsi = source.Imsi 15345 case DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorOperatorCode: 15346 result.OperatorCode = source.OperatorCode 15347 case DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorOperatorName: 15348 result.OperatorName = source.OperatorName 15349 case DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorRemovability: 15350 result.Removability = source.Removability 15351 case DeviceStatusDeviceInfoHardwareInformationModemStatusSimStatus_FieldPathSelectorSimType: 15352 result.SimType = source.SimType 15353 } 15354 } 15355 } 15356 return result 15357 } 15358 15359 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 15360 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus)) 15361 } 15362 15363 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus_FieldMask) PathsCount() int { 15364 if fieldMask == nil { 15365 return 0 15366 } 15367 return len(fieldMask.Paths) 15368 } 15369 15370 type Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask struct { 15371 Paths []DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPath 15372 } 15373 15374 func FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask { 15375 res := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask{} 15376 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorThreeGPp}) 15377 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorCdma}) 15378 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorDbusPath}) 15379 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorGeneric}) 15380 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath{selector: DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorSimStatus}) 15381 return res 15382 } 15383 15384 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) String() string { 15385 if fieldMask == nil { 15386 return "<nil>" 15387 } 15388 pathsStr := make([]string, 0, len(fieldMask.Paths)) 15389 for _, path := range fieldMask.Paths { 15390 pathsStr = append(pathsStr, path.String()) 15391 } 15392 return strings.Join(pathsStr, ", ") 15393 } 15394 15395 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) IsFull() bool { 15396 if fieldMask == nil { 15397 return false 15398 } 15399 presentSelectors := make([]bool, 5) 15400 for _, path := range fieldMask.Paths { 15401 if asFinal, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath); ok { 15402 presentSelectors[int(asFinal.selector)] = true 15403 } 15404 } 15405 for _, flag := range presentSelectors { 15406 if !flag { 15407 return false 15408 } 15409 } 15410 return true 15411 } 15412 15413 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) ProtoReflect() preflect.Message { 15414 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 15415 return ParseDeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPath(raw) 15416 }) 15417 } 15418 15419 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) ProtoMessage() { 15420 } 15421 15422 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) Reset() { 15423 if fieldMask != nil { 15424 fieldMask.Paths = nil 15425 } 15426 } 15427 15428 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) Subtract(other *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask { 15429 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask{} 15430 removedSelectors := make([]bool, 5) 15431 otherSubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelector]gotenobject.FieldMask{ 15432 DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorThreeGPp: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask{}, 15433 DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorCdma: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask{}, 15434 DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorGeneric: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask{}, 15435 } 15436 mySubMasks := map[DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelector]gotenobject.FieldMask{ 15437 DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorThreeGPp: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask{}, 15438 DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorCdma: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask{}, 15439 DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorGeneric: &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask{}, 15440 } 15441 15442 for _, path := range other.GetPaths() { 15443 switch tp := path.(type) { 15444 case *DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath: 15445 removedSelectors[int(tp.selector)] = true 15446 case *DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldSubPath: 15447 otherSubMasks[tp.selector].AppendRawPath(tp.subPath) 15448 } 15449 } 15450 for _, path := range fieldMask.GetPaths() { 15451 if !removedSelectors[int(path.Selector())] { 15452 if otherSubMask := otherSubMasks[path.Selector()]; otherSubMask != nil && otherSubMask.PathsCount() > 0 { 15453 if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath); ok { 15454 switch tp.selector { 15455 case DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorThreeGPp: 15456 mySubMasks[DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorThreeGPp] = FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask() 15457 case DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorCdma: 15458 mySubMasks[DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorCdma] = FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask() 15459 case DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorGeneric: 15460 mySubMasks[DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorGeneric] = FullDevice_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask() 15461 } 15462 } else if tp, ok := path.(*DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldSubPath); ok { 15463 mySubMasks[tp.selector].AppendRawPath(tp.subPath) 15464 } 15465 } else { 15466 result.Paths = append(result.Paths, path) 15467 } 15468 } 15469 } 15470 for selector, mySubMask := range mySubMasks { 15471 if mySubMask.PathsCount() > 0 { 15472 for _, allowedPath := range mySubMask.SubtractRaw(otherSubMasks[selector]).GetRawPaths() { 15473 result.Paths = append(result.Paths, &DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldSubPath{selector: selector, subPath: allowedPath}) 15474 } 15475 } 15476 } 15477 15478 if len(result.Paths) == 0 { 15479 return nil 15480 } 15481 return result 15482 } 15483 15484 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 15485 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask)) 15486 } 15487 15488 // FilterInputFields generates copy of field paths with output_only field paths removed 15489 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask { 15490 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask{} 15491 result.Paths = append(result.Paths, fieldMask.Paths...) 15492 return result 15493 } 15494 15495 // ToFieldMask is used for proto conversions 15496 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 15497 protoFieldMask := &googlefieldmaskpb.FieldMask{} 15498 for _, path := range fieldMask.Paths { 15499 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 15500 } 15501 return protoFieldMask 15502 } 15503 15504 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 15505 if fieldMask == nil { 15506 return status.Error(codes.Internal, "target field mask is nil") 15507 } 15508 fieldMask.Paths = make([]DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPath, 0, len(protoFieldMask.Paths)) 15509 for _, strPath := range protoFieldMask.Paths { 15510 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPath(strPath) 15511 if err != nil { 15512 return err 15513 } 15514 fieldMask.Paths = append(fieldMask.Paths, path) 15515 } 15516 return nil 15517 } 15518 15519 // implement methods required by customType 15520 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) Marshal() ([]byte, error) { 15521 protoFieldMask := fieldMask.ToProtoFieldMask() 15522 return proto.Marshal(protoFieldMask) 15523 } 15524 15525 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) Unmarshal(data []byte) error { 15526 protoFieldMask := &googlefieldmaskpb.FieldMask{} 15527 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 15528 return err 15529 } 15530 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 15531 return err 15532 } 15533 return nil 15534 } 15535 15536 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) Size() int { 15537 return proto.Size(fieldMask.ToProtoFieldMask()) 15538 } 15539 15540 func (fieldMask Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) MarshalJSON() ([]byte, error) { 15541 return json.Marshal(fieldMask.ToProtoFieldMask()) 15542 } 15543 15544 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) UnmarshalJSON(data []byte) error { 15545 protoFieldMask := &googlefieldmaskpb.FieldMask{} 15546 if err := json.Unmarshal(data, protoFieldMask); err != nil { 15547 return err 15548 } 15549 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 15550 return err 15551 } 15552 return nil 15553 } 15554 15555 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) AppendPath(path DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPath) { 15556 fieldMask.Paths = append(fieldMask.Paths, path) 15557 } 15558 15559 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 15560 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPath)) 15561 } 15562 15563 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) GetPaths() []DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPath { 15564 if fieldMask == nil { 15565 return nil 15566 } 15567 return fieldMask.Paths 15568 } 15569 15570 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) GetRawPaths() []gotenobject.FieldPath { 15571 if fieldMask == nil { 15572 return nil 15573 } 15574 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 15575 for _, path := range fieldMask.Paths { 15576 rawPaths = append(rawPaths, path) 15577 } 15578 return rawPaths 15579 } 15580 15581 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) SetFromCliFlag(raw string) error { 15582 path, err := ParseDeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPath(raw) 15583 if err != nil { 15584 return err 15585 } 15586 fieldMask.Paths = append(fieldMask.Paths, path) 15587 return nil 15588 } 15589 15590 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) Set(target, source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem) { 15591 for _, path := range fieldMask.Paths { 15592 val, _ := path.GetSingle(source) 15593 // if val is nil, then field does not exist in source, skip 15594 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 15595 if val != nil { 15596 path.WithIValue(val).SetTo(&target) 15597 } 15598 } 15599 } 15600 15601 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 15602 fieldMask.Set(target.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem), source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem)) 15603 } 15604 15605 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) Project(source *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem) *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem { 15606 if source == nil { 15607 return nil 15608 } 15609 if fieldMask == nil { 15610 return source 15611 } 15612 result := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem{} 15613 threeGPpMask := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_ThreeGpp_FieldMask{} 15614 wholeThreeGPpAccepted := false 15615 cdmaMask := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Cdma_FieldMask{} 15616 wholeCdmaAccepted := false 15617 genericMask := &Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Generic_FieldMask{} 15618 wholeGenericAccepted := false 15619 var simStatusMapKeys []string 15620 wholeSimStatusAccepted := false 15621 15622 for _, p := range fieldMask.Paths { 15623 switch tp := p.(type) { 15624 case *DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldTerminalPath: 15625 switch tp.selector { 15626 case DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorThreeGPp: 15627 result.ThreeGPp = source.ThreeGPp 15628 wholeThreeGPpAccepted = true 15629 case DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorCdma: 15630 result.Cdma = source.Cdma 15631 wholeCdmaAccepted = true 15632 case DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorDbusPath: 15633 result.DbusPath = source.DbusPath 15634 case DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorGeneric: 15635 result.Generic = source.Generic 15636 wholeGenericAccepted = true 15637 case DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorSimStatus: 15638 result.SimStatus = source.SimStatus 15639 wholeSimStatusAccepted = true 15640 } 15641 case *DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldSubPath: 15642 switch tp.selector { 15643 case DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorThreeGPp: 15644 threeGPpMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationModemStatusThreeGpp_FieldPath)) 15645 case DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorCdma: 15646 cdmaMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationModemStatusCdma_FieldPath)) 15647 case DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorGeneric: 15648 genericMask.AppendPath(tp.subPath.(DeviceStatusDeviceInfoHardwareInformationModemStatusGeneric_FieldPath)) 15649 } 15650 case *DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathMap: 15651 switch tp.selector { 15652 case DeviceStatusDeviceInfoHardwareInformationModemStatusModem_FieldPathSelectorSimStatus: 15653 simStatusMapKeys = append(simStatusMapKeys, tp.key) 15654 } 15655 } 15656 } 15657 if wholeThreeGPpAccepted == false && len(threeGPpMask.Paths) > 0 { 15658 result.ThreeGPp = threeGPpMask.Project(source.GetThreeGPp()) 15659 } 15660 if wholeCdmaAccepted == false && len(cdmaMask.Paths) > 0 { 15661 result.Cdma = cdmaMask.Project(source.GetCdma()) 15662 } 15663 if wholeGenericAccepted == false && len(genericMask.Paths) > 0 { 15664 result.Generic = genericMask.Project(source.GetGeneric()) 15665 } 15666 if wholeSimStatusAccepted == false && len(simStatusMapKeys) > 0 && source.GetSimStatus() != nil { 15667 copiedMap := map[string]*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_SimStatus{} 15668 sourceMap := source.GetSimStatus() 15669 for _, key := range simStatusMapKeys { 15670 copiedMap[key] = sourceMap[key] 15671 } 15672 result.SimStatus = copiedMap 15673 } 15674 return result 15675 } 15676 15677 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 15678 return fieldMask.Project(source.(*Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem)) 15679 } 15680 15681 func (fieldMask *Device_Status_DeviceInfo_HardwareInformation_ModemStatus_Modem_FieldMask) PathsCount() int { 15682 if fieldMask == nil { 15683 return 0 15684 } 15685 return len(fieldMask.Paths) 15686 } 15687 15688 type Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask struct { 15689 Paths []DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPath 15690 } 15691 15692 func FullDevice_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask() *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask { 15693 res := &Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask{} 15694 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorAsn}) 15695 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorName}) 15696 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorDomain}) 15697 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorRoutes}) 15698 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorAsnType}) 15699 return res 15700 } 15701 15702 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) String() string { 15703 if fieldMask == nil { 15704 return "<nil>" 15705 } 15706 pathsStr := make([]string, 0, len(fieldMask.Paths)) 15707 for _, path := range fieldMask.Paths { 15708 pathsStr = append(pathsStr, path.String()) 15709 } 15710 return strings.Join(pathsStr, ", ") 15711 } 15712 15713 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) IsFull() bool { 15714 if fieldMask == nil { 15715 return false 15716 } 15717 presentSelectors := make([]bool, 5) 15718 for _, path := range fieldMask.Paths { 15719 if asFinal, ok := path.(*DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath); ok { 15720 presentSelectors[int(asFinal.selector)] = true 15721 } 15722 } 15723 for _, flag := range presentSelectors { 15724 if !flag { 15725 return false 15726 } 15727 } 15728 return true 15729 } 15730 15731 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) ProtoReflect() preflect.Message { 15732 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 15733 return ParseDeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPath(raw) 15734 }) 15735 } 15736 15737 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) ProtoMessage() {} 15738 15739 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) Reset() { 15740 if fieldMask != nil { 15741 fieldMask.Paths = nil 15742 } 15743 } 15744 15745 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) Subtract(other *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask { 15746 result := &Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask{} 15747 removedSelectors := make([]bool, 5) 15748 15749 for _, path := range other.GetPaths() { 15750 switch tp := path.(type) { 15751 case *DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath: 15752 removedSelectors[int(tp.selector)] = true 15753 } 15754 } 15755 for _, path := range fieldMask.GetPaths() { 15756 if !removedSelectors[int(path.Selector())] { 15757 result.Paths = append(result.Paths, path) 15758 } 15759 } 15760 15761 if len(result.Paths) == 0 { 15762 return nil 15763 } 15764 return result 15765 } 15766 15767 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 15768 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask)) 15769 } 15770 15771 // FilterInputFields generates copy of field paths with output_only field paths removed 15772 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask { 15773 result := &Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask{} 15774 result.Paths = append(result.Paths, fieldMask.Paths...) 15775 return result 15776 } 15777 15778 // ToFieldMask is used for proto conversions 15779 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 15780 protoFieldMask := &googlefieldmaskpb.FieldMask{} 15781 for _, path := range fieldMask.Paths { 15782 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 15783 } 15784 return protoFieldMask 15785 } 15786 15787 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 15788 if fieldMask == nil { 15789 return status.Error(codes.Internal, "target field mask is nil") 15790 } 15791 fieldMask.Paths = make([]DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPath, 0, len(protoFieldMask.Paths)) 15792 for _, strPath := range protoFieldMask.Paths { 15793 path, err := ParseDeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPath(strPath) 15794 if err != nil { 15795 return err 15796 } 15797 fieldMask.Paths = append(fieldMask.Paths, path) 15798 } 15799 return nil 15800 } 15801 15802 // implement methods required by customType 15803 func (fieldMask Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) Marshal() ([]byte, error) { 15804 protoFieldMask := fieldMask.ToProtoFieldMask() 15805 return proto.Marshal(protoFieldMask) 15806 } 15807 15808 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) Unmarshal(data []byte) error { 15809 protoFieldMask := &googlefieldmaskpb.FieldMask{} 15810 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 15811 return err 15812 } 15813 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 15814 return err 15815 } 15816 return nil 15817 } 15818 15819 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) Size() int { 15820 return proto.Size(fieldMask.ToProtoFieldMask()) 15821 } 15822 15823 func (fieldMask Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) MarshalJSON() ([]byte, error) { 15824 return json.Marshal(fieldMask.ToProtoFieldMask()) 15825 } 15826 15827 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) UnmarshalJSON(data []byte) error { 15828 protoFieldMask := &googlefieldmaskpb.FieldMask{} 15829 if err := json.Unmarshal(data, protoFieldMask); err != nil { 15830 return err 15831 } 15832 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 15833 return err 15834 } 15835 return nil 15836 } 15837 15838 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) AppendPath(path DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPath) { 15839 fieldMask.Paths = append(fieldMask.Paths, path) 15840 } 15841 15842 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 15843 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPath)) 15844 } 15845 15846 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) GetPaths() []DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPath { 15847 if fieldMask == nil { 15848 return nil 15849 } 15850 return fieldMask.Paths 15851 } 15852 15853 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) GetRawPaths() []gotenobject.FieldPath { 15854 if fieldMask == nil { 15855 return nil 15856 } 15857 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 15858 for _, path := range fieldMask.Paths { 15859 rawPaths = append(rawPaths, path) 15860 } 15861 return rawPaths 15862 } 15863 15864 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) SetFromCliFlag(raw string) error { 15865 path, err := ParseDeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPath(raw) 15866 if err != nil { 15867 return err 15868 } 15869 fieldMask.Paths = append(fieldMask.Paths, path) 15870 return nil 15871 } 15872 15873 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) Set(target, source *Device_Status_DeviceInfo_NetworkInterface_ASInfo) { 15874 for _, path := range fieldMask.Paths { 15875 val, _ := path.GetSingle(source) 15876 // if val is nil, then field does not exist in source, skip 15877 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 15878 if val != nil { 15879 path.WithIValue(val).SetTo(&target) 15880 } 15881 } 15882 } 15883 15884 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 15885 fieldMask.Set(target.(*Device_Status_DeviceInfo_NetworkInterface_ASInfo), source.(*Device_Status_DeviceInfo_NetworkInterface_ASInfo)) 15886 } 15887 15888 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) Project(source *Device_Status_DeviceInfo_NetworkInterface_ASInfo) *Device_Status_DeviceInfo_NetworkInterface_ASInfo { 15889 if source == nil { 15890 return nil 15891 } 15892 if fieldMask == nil { 15893 return source 15894 } 15895 result := &Device_Status_DeviceInfo_NetworkInterface_ASInfo{} 15896 15897 for _, p := range fieldMask.Paths { 15898 switch tp := p.(type) { 15899 case *DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldTerminalPath: 15900 switch tp.selector { 15901 case DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorAsn: 15902 result.Asn = source.Asn 15903 case DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorName: 15904 result.Name = source.Name 15905 case DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorDomain: 15906 result.Domain = source.Domain 15907 case DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorRoutes: 15908 result.Routes = source.Routes 15909 case DeviceStatusDeviceInfoNetworkInterfaceASInfo_FieldPathSelectorAsnType: 15910 result.AsnType = source.AsnType 15911 } 15912 } 15913 } 15914 return result 15915 } 15916 15917 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 15918 return fieldMask.Project(source.(*Device_Status_DeviceInfo_NetworkInterface_ASInfo)) 15919 } 15920 15921 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_ASInfo_FieldMask) PathsCount() int { 15922 if fieldMask == nil { 15923 return 0 15924 } 15925 return len(fieldMask.Paths) 15926 } 15927 15928 type Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask struct { 15929 Paths []DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPath 15930 } 15931 15932 func FullDevice_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask() *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask { 15933 res := &Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask{} 15934 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPathSelectorName}) 15935 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPathSelectorMobileCountryCode}) 15936 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPathSelectorMobileNetworkCode}) 15937 res.Paths = append(res.Paths, &DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldTerminalPath{selector: DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPathSelectorLocationAreaCode}) 15938 return res 15939 } 15940 15941 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) String() string { 15942 if fieldMask == nil { 15943 return "<nil>" 15944 } 15945 pathsStr := make([]string, 0, len(fieldMask.Paths)) 15946 for _, path := range fieldMask.Paths { 15947 pathsStr = append(pathsStr, path.String()) 15948 } 15949 return strings.Join(pathsStr, ", ") 15950 } 15951 15952 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) IsFull() bool { 15953 if fieldMask == nil { 15954 return false 15955 } 15956 presentSelectors := make([]bool, 4) 15957 for _, path := range fieldMask.Paths { 15958 if asFinal, ok := path.(*DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldTerminalPath); ok { 15959 presentSelectors[int(asFinal.selector)] = true 15960 } 15961 } 15962 for _, flag := range presentSelectors { 15963 if !flag { 15964 return false 15965 } 15966 } 15967 return true 15968 } 15969 15970 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) ProtoReflect() preflect.Message { 15971 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 15972 return ParseDeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPath(raw) 15973 }) 15974 } 15975 15976 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) ProtoMessage() {} 15977 15978 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) Reset() { 15979 if fieldMask != nil { 15980 fieldMask.Paths = nil 15981 } 15982 } 15983 15984 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) Subtract(other *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask { 15985 result := &Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask{} 15986 removedSelectors := make([]bool, 4) 15987 15988 for _, path := range other.GetPaths() { 15989 switch tp := path.(type) { 15990 case *DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldTerminalPath: 15991 removedSelectors[int(tp.selector)] = true 15992 } 15993 } 15994 for _, path := range fieldMask.GetPaths() { 15995 if !removedSelectors[int(path.Selector())] { 15996 result.Paths = append(result.Paths, path) 15997 } 15998 } 15999 16000 if len(result.Paths) == 0 { 16001 return nil 16002 } 16003 return result 16004 } 16005 16006 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 16007 return fieldMask.Subtract(other.(*Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask)) 16008 } 16009 16010 // FilterInputFields generates copy of field paths with output_only field paths removed 16011 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) FilterInputFields() *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask { 16012 result := &Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask{} 16013 result.Paths = append(result.Paths, fieldMask.Paths...) 16014 return result 16015 } 16016 16017 // ToFieldMask is used for proto conversions 16018 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 16019 protoFieldMask := &googlefieldmaskpb.FieldMask{} 16020 for _, path := range fieldMask.Paths { 16021 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 16022 } 16023 return protoFieldMask 16024 } 16025 16026 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 16027 if fieldMask == nil { 16028 return status.Error(codes.Internal, "target field mask is nil") 16029 } 16030 fieldMask.Paths = make([]DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPath, 0, len(protoFieldMask.Paths)) 16031 for _, strPath := range protoFieldMask.Paths { 16032 path, err := ParseDeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPath(strPath) 16033 if err != nil { 16034 return err 16035 } 16036 fieldMask.Paths = append(fieldMask.Paths, path) 16037 } 16038 return nil 16039 } 16040 16041 // implement methods required by customType 16042 func (fieldMask Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) Marshal() ([]byte, error) { 16043 protoFieldMask := fieldMask.ToProtoFieldMask() 16044 return proto.Marshal(protoFieldMask) 16045 } 16046 16047 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) Unmarshal(data []byte) error { 16048 protoFieldMask := &googlefieldmaskpb.FieldMask{} 16049 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 16050 return err 16051 } 16052 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 16053 return err 16054 } 16055 return nil 16056 } 16057 16058 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) Size() int { 16059 return proto.Size(fieldMask.ToProtoFieldMask()) 16060 } 16061 16062 func (fieldMask Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) MarshalJSON() ([]byte, error) { 16063 return json.Marshal(fieldMask.ToProtoFieldMask()) 16064 } 16065 16066 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) UnmarshalJSON(data []byte) error { 16067 protoFieldMask := &googlefieldmaskpb.FieldMask{} 16068 if err := json.Unmarshal(data, protoFieldMask); err != nil { 16069 return err 16070 } 16071 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 16072 return err 16073 } 16074 return nil 16075 } 16076 16077 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) AppendPath(path DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPath) { 16078 fieldMask.Paths = append(fieldMask.Paths, path) 16079 } 16080 16081 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 16082 fieldMask.Paths = append(fieldMask.Paths, path.(DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPath)) 16083 } 16084 16085 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) GetPaths() []DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPath { 16086 if fieldMask == nil { 16087 return nil 16088 } 16089 return fieldMask.Paths 16090 } 16091 16092 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) GetRawPaths() []gotenobject.FieldPath { 16093 if fieldMask == nil { 16094 return nil 16095 } 16096 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 16097 for _, path := range fieldMask.Paths { 16098 rawPaths = append(rawPaths, path) 16099 } 16100 return rawPaths 16101 } 16102 16103 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) SetFromCliFlag(raw string) error { 16104 path, err := ParseDeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPath(raw) 16105 if err != nil { 16106 return err 16107 } 16108 fieldMask.Paths = append(fieldMask.Paths, path) 16109 return nil 16110 } 16111 16112 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) Set(target, source *Device_Status_DeviceInfo_NetworkInterface_Carrier) { 16113 for _, path := range fieldMask.Paths { 16114 val, _ := path.GetSingle(source) 16115 // if val is nil, then field does not exist in source, skip 16116 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 16117 if val != nil { 16118 path.WithIValue(val).SetTo(&target) 16119 } 16120 } 16121 } 16122 16123 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 16124 fieldMask.Set(target.(*Device_Status_DeviceInfo_NetworkInterface_Carrier), source.(*Device_Status_DeviceInfo_NetworkInterface_Carrier)) 16125 } 16126 16127 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) Project(source *Device_Status_DeviceInfo_NetworkInterface_Carrier) *Device_Status_DeviceInfo_NetworkInterface_Carrier { 16128 if source == nil { 16129 return nil 16130 } 16131 if fieldMask == nil { 16132 return source 16133 } 16134 result := &Device_Status_DeviceInfo_NetworkInterface_Carrier{} 16135 16136 for _, p := range fieldMask.Paths { 16137 switch tp := p.(type) { 16138 case *DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldTerminalPath: 16139 switch tp.selector { 16140 case DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPathSelectorName: 16141 result.Name = source.Name 16142 case DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPathSelectorMobileCountryCode: 16143 result.MobileCountryCode = source.MobileCountryCode 16144 case DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPathSelectorMobileNetworkCode: 16145 result.MobileNetworkCode = source.MobileNetworkCode 16146 case DeviceStatusDeviceInfoNetworkInterfaceCarrier_FieldPathSelectorLocationAreaCode: 16147 result.LocationAreaCode = source.LocationAreaCode 16148 } 16149 } 16150 } 16151 return result 16152 } 16153 16154 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 16155 return fieldMask.Project(source.(*Device_Status_DeviceInfo_NetworkInterface_Carrier)) 16156 } 16157 16158 func (fieldMask *Device_Status_DeviceInfo_NetworkInterface_Carrier_FieldMask) PathsCount() int { 16159 if fieldMask == nil { 16160 return 0 16161 } 16162 return len(fieldMask.Paths) 16163 }