github.com/cloudwan/edgelq-sdk@v1.15.4/limits/resources/v1alpha2/common/common.pb.fieldmask.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/limits/proto/v1alpha2/common.proto 3 // DO NOT EDIT!!! 4 5 package common 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 meta_resource "github.com/cloudwan/edgelq-sdk/meta/resources/v1alpha2/resource" 23 ) 24 25 // ensure the imports are used 26 var ( 27 _ = new(json.Marshaler) 28 _ = strings.Builder{} 29 30 _ = codes.NotFound 31 _ = status.Status{} 32 _ = new(proto.Message) 33 _ = new(preflect.Message) 34 _ = googlefieldmaskpb.FieldMask{} 35 36 _ = new(gotenobject.FieldMask) 37 ) 38 39 // make sure we're using proto imports 40 var ( 41 _ = &meta_resource.Resource{} 42 ) 43 44 type Allowance_FieldMask struct { 45 Paths []Allowance_FieldPath 46 } 47 48 func FullAllowance_FieldMask() *Allowance_FieldMask { 49 res := &Allowance_FieldMask{} 50 res.Paths = append(res.Paths, &Allowance_FieldTerminalPath{selector: Allowance_FieldPathSelectorResource}) 51 res.Paths = append(res.Paths, &Allowance_FieldTerminalPath{selector: Allowance_FieldPathSelectorValue}) 52 return res 53 } 54 55 func (fieldMask *Allowance_FieldMask) String() string { 56 if fieldMask == nil { 57 return "<nil>" 58 } 59 pathsStr := make([]string, 0, len(fieldMask.Paths)) 60 for _, path := range fieldMask.Paths { 61 pathsStr = append(pathsStr, path.String()) 62 } 63 return strings.Join(pathsStr, ", ") 64 } 65 66 func (fieldMask *Allowance_FieldMask) IsFull() bool { 67 if fieldMask == nil { 68 return false 69 } 70 presentSelectors := make([]bool, 2) 71 for _, path := range fieldMask.Paths { 72 if asFinal, ok := path.(*Allowance_FieldTerminalPath); ok { 73 presentSelectors[int(asFinal.selector)] = true 74 } 75 } 76 for _, flag := range presentSelectors { 77 if !flag { 78 return false 79 } 80 } 81 return true 82 } 83 84 func (fieldMask *Allowance_FieldMask) ProtoReflect() preflect.Message { 85 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 86 return ParseAllowance_FieldPath(raw) 87 }) 88 } 89 90 func (fieldMask *Allowance_FieldMask) ProtoMessage() {} 91 92 func (fieldMask *Allowance_FieldMask) Reset() { 93 if fieldMask != nil { 94 fieldMask.Paths = nil 95 } 96 } 97 98 func (fieldMask *Allowance_FieldMask) Subtract(other *Allowance_FieldMask) *Allowance_FieldMask { 99 result := &Allowance_FieldMask{} 100 removedSelectors := make([]bool, 2) 101 102 for _, path := range other.GetPaths() { 103 switch tp := path.(type) { 104 case *Allowance_FieldTerminalPath: 105 removedSelectors[int(tp.selector)] = true 106 } 107 } 108 for _, path := range fieldMask.GetPaths() { 109 if !removedSelectors[int(path.Selector())] { 110 result.Paths = append(result.Paths, path) 111 } 112 } 113 114 if len(result.Paths) == 0 { 115 return nil 116 } 117 return result 118 } 119 120 func (fieldMask *Allowance_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 121 return fieldMask.Subtract(other.(*Allowance_FieldMask)) 122 } 123 124 // FilterInputFields generates copy of field paths with output_only field paths removed 125 func (fieldMask *Allowance_FieldMask) FilterInputFields() *Allowance_FieldMask { 126 result := &Allowance_FieldMask{} 127 result.Paths = append(result.Paths, fieldMask.Paths...) 128 return result 129 } 130 131 // ToFieldMask is used for proto conversions 132 func (fieldMask *Allowance_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 133 protoFieldMask := &googlefieldmaskpb.FieldMask{} 134 for _, path := range fieldMask.Paths { 135 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 136 } 137 return protoFieldMask 138 } 139 140 func (fieldMask *Allowance_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 141 if fieldMask == nil { 142 return status.Error(codes.Internal, "target field mask is nil") 143 } 144 fieldMask.Paths = make([]Allowance_FieldPath, 0, len(protoFieldMask.Paths)) 145 for _, strPath := range protoFieldMask.Paths { 146 path, err := ParseAllowance_FieldPath(strPath) 147 if err != nil { 148 return err 149 } 150 fieldMask.Paths = append(fieldMask.Paths, path) 151 } 152 return nil 153 } 154 155 // implement methods required by customType 156 func (fieldMask Allowance_FieldMask) Marshal() ([]byte, error) { 157 protoFieldMask := fieldMask.ToProtoFieldMask() 158 return proto.Marshal(protoFieldMask) 159 } 160 161 func (fieldMask *Allowance_FieldMask) Unmarshal(data []byte) error { 162 protoFieldMask := &googlefieldmaskpb.FieldMask{} 163 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 164 return err 165 } 166 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 167 return err 168 } 169 return nil 170 } 171 172 func (fieldMask *Allowance_FieldMask) Size() int { 173 return proto.Size(fieldMask.ToProtoFieldMask()) 174 } 175 176 func (fieldMask Allowance_FieldMask) MarshalJSON() ([]byte, error) { 177 return json.Marshal(fieldMask.ToProtoFieldMask()) 178 } 179 180 func (fieldMask *Allowance_FieldMask) UnmarshalJSON(data []byte) error { 181 protoFieldMask := &googlefieldmaskpb.FieldMask{} 182 if err := json.Unmarshal(data, protoFieldMask); err != nil { 183 return err 184 } 185 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 186 return err 187 } 188 return nil 189 } 190 191 func (fieldMask *Allowance_FieldMask) AppendPath(path Allowance_FieldPath) { 192 fieldMask.Paths = append(fieldMask.Paths, path) 193 } 194 195 func (fieldMask *Allowance_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 196 fieldMask.Paths = append(fieldMask.Paths, path.(Allowance_FieldPath)) 197 } 198 199 func (fieldMask *Allowance_FieldMask) GetPaths() []Allowance_FieldPath { 200 if fieldMask == nil { 201 return nil 202 } 203 return fieldMask.Paths 204 } 205 206 func (fieldMask *Allowance_FieldMask) GetRawPaths() []gotenobject.FieldPath { 207 if fieldMask == nil { 208 return nil 209 } 210 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 211 for _, path := range fieldMask.Paths { 212 rawPaths = append(rawPaths, path) 213 } 214 return rawPaths 215 } 216 217 func (fieldMask *Allowance_FieldMask) SetFromCliFlag(raw string) error { 218 path, err := ParseAllowance_FieldPath(raw) 219 if err != nil { 220 return err 221 } 222 fieldMask.Paths = append(fieldMask.Paths, path) 223 return nil 224 } 225 226 func (fieldMask *Allowance_FieldMask) Set(target, source *Allowance) { 227 for _, path := range fieldMask.Paths { 228 val, _ := path.GetSingle(source) 229 // if val is nil, then field does not exist in source, skip 230 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 231 if val != nil { 232 path.WithIValue(val).SetTo(&target) 233 } 234 } 235 } 236 237 func (fieldMask *Allowance_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 238 fieldMask.Set(target.(*Allowance), source.(*Allowance)) 239 } 240 241 func (fieldMask *Allowance_FieldMask) Project(source *Allowance) *Allowance { 242 if source == nil { 243 return nil 244 } 245 if fieldMask == nil { 246 return source 247 } 248 result := &Allowance{} 249 250 for _, p := range fieldMask.Paths { 251 switch tp := p.(type) { 252 case *Allowance_FieldTerminalPath: 253 switch tp.selector { 254 case Allowance_FieldPathSelectorResource: 255 result.Resource = source.Resource 256 case Allowance_FieldPathSelectorValue: 257 result.Value = source.Value 258 } 259 } 260 } 261 return result 262 } 263 264 func (fieldMask *Allowance_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 265 return fieldMask.Project(source.(*Allowance)) 266 } 267 268 func (fieldMask *Allowance_FieldMask) PathsCount() int { 269 if fieldMask == nil { 270 return 0 271 } 272 return len(fieldMask.Paths) 273 } 274 275 type RegionalDistribution_FieldMask struct { 276 Paths []RegionalDistribution_FieldPath 277 } 278 279 func FullRegionalDistribution_FieldMask() *RegionalDistribution_FieldMask { 280 res := &RegionalDistribution_FieldMask{} 281 res.Paths = append(res.Paths, &RegionalDistribution_FieldTerminalPath{selector: RegionalDistribution_FieldPathSelectorResource}) 282 res.Paths = append(res.Paths, &RegionalDistribution_FieldTerminalPath{selector: RegionalDistribution_FieldPathSelectorLimitsByRegion}) 283 return res 284 } 285 286 func (fieldMask *RegionalDistribution_FieldMask) String() string { 287 if fieldMask == nil { 288 return "<nil>" 289 } 290 pathsStr := make([]string, 0, len(fieldMask.Paths)) 291 for _, path := range fieldMask.Paths { 292 pathsStr = append(pathsStr, path.String()) 293 } 294 return strings.Join(pathsStr, ", ") 295 } 296 297 func (fieldMask *RegionalDistribution_FieldMask) IsFull() bool { 298 if fieldMask == nil { 299 return false 300 } 301 presentSelectors := make([]bool, 2) 302 for _, path := range fieldMask.Paths { 303 if asFinal, ok := path.(*RegionalDistribution_FieldTerminalPath); ok { 304 presentSelectors[int(asFinal.selector)] = true 305 } 306 } 307 for _, flag := range presentSelectors { 308 if !flag { 309 return false 310 } 311 } 312 return true 313 } 314 315 func (fieldMask *RegionalDistribution_FieldMask) ProtoReflect() preflect.Message { 316 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 317 return ParseRegionalDistribution_FieldPath(raw) 318 }) 319 } 320 321 func (fieldMask *RegionalDistribution_FieldMask) ProtoMessage() {} 322 323 func (fieldMask *RegionalDistribution_FieldMask) Reset() { 324 if fieldMask != nil { 325 fieldMask.Paths = nil 326 } 327 } 328 329 func (fieldMask *RegionalDistribution_FieldMask) Subtract(other *RegionalDistribution_FieldMask) *RegionalDistribution_FieldMask { 330 result := &RegionalDistribution_FieldMask{} 331 removedSelectors := make([]bool, 2) 332 333 for _, path := range other.GetPaths() { 334 switch tp := path.(type) { 335 case *RegionalDistribution_FieldTerminalPath: 336 removedSelectors[int(tp.selector)] = true 337 } 338 } 339 for _, path := range fieldMask.GetPaths() { 340 if !removedSelectors[int(path.Selector())] { 341 result.Paths = append(result.Paths, path) 342 } 343 } 344 345 if len(result.Paths) == 0 { 346 return nil 347 } 348 return result 349 } 350 351 func (fieldMask *RegionalDistribution_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 352 return fieldMask.Subtract(other.(*RegionalDistribution_FieldMask)) 353 } 354 355 // FilterInputFields generates copy of field paths with output_only field paths removed 356 func (fieldMask *RegionalDistribution_FieldMask) FilterInputFields() *RegionalDistribution_FieldMask { 357 result := &RegionalDistribution_FieldMask{} 358 result.Paths = append(result.Paths, fieldMask.Paths...) 359 return result 360 } 361 362 // ToFieldMask is used for proto conversions 363 func (fieldMask *RegionalDistribution_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 364 protoFieldMask := &googlefieldmaskpb.FieldMask{} 365 for _, path := range fieldMask.Paths { 366 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 367 } 368 return protoFieldMask 369 } 370 371 func (fieldMask *RegionalDistribution_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 372 if fieldMask == nil { 373 return status.Error(codes.Internal, "target field mask is nil") 374 } 375 fieldMask.Paths = make([]RegionalDistribution_FieldPath, 0, len(protoFieldMask.Paths)) 376 for _, strPath := range protoFieldMask.Paths { 377 path, err := ParseRegionalDistribution_FieldPath(strPath) 378 if err != nil { 379 return err 380 } 381 fieldMask.Paths = append(fieldMask.Paths, path) 382 } 383 return nil 384 } 385 386 // implement methods required by customType 387 func (fieldMask RegionalDistribution_FieldMask) Marshal() ([]byte, error) { 388 protoFieldMask := fieldMask.ToProtoFieldMask() 389 return proto.Marshal(protoFieldMask) 390 } 391 392 func (fieldMask *RegionalDistribution_FieldMask) Unmarshal(data []byte) error { 393 protoFieldMask := &googlefieldmaskpb.FieldMask{} 394 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 395 return err 396 } 397 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 398 return err 399 } 400 return nil 401 } 402 403 func (fieldMask *RegionalDistribution_FieldMask) Size() int { 404 return proto.Size(fieldMask.ToProtoFieldMask()) 405 } 406 407 func (fieldMask RegionalDistribution_FieldMask) MarshalJSON() ([]byte, error) { 408 return json.Marshal(fieldMask.ToProtoFieldMask()) 409 } 410 411 func (fieldMask *RegionalDistribution_FieldMask) UnmarshalJSON(data []byte) error { 412 protoFieldMask := &googlefieldmaskpb.FieldMask{} 413 if err := json.Unmarshal(data, protoFieldMask); err != nil { 414 return err 415 } 416 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 417 return err 418 } 419 return nil 420 } 421 422 func (fieldMask *RegionalDistribution_FieldMask) AppendPath(path RegionalDistribution_FieldPath) { 423 fieldMask.Paths = append(fieldMask.Paths, path) 424 } 425 426 func (fieldMask *RegionalDistribution_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 427 fieldMask.Paths = append(fieldMask.Paths, path.(RegionalDistribution_FieldPath)) 428 } 429 430 func (fieldMask *RegionalDistribution_FieldMask) GetPaths() []RegionalDistribution_FieldPath { 431 if fieldMask == nil { 432 return nil 433 } 434 return fieldMask.Paths 435 } 436 437 func (fieldMask *RegionalDistribution_FieldMask) GetRawPaths() []gotenobject.FieldPath { 438 if fieldMask == nil { 439 return nil 440 } 441 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 442 for _, path := range fieldMask.Paths { 443 rawPaths = append(rawPaths, path) 444 } 445 return rawPaths 446 } 447 448 func (fieldMask *RegionalDistribution_FieldMask) SetFromCliFlag(raw string) error { 449 path, err := ParseRegionalDistribution_FieldPath(raw) 450 if err != nil { 451 return err 452 } 453 fieldMask.Paths = append(fieldMask.Paths, path) 454 return nil 455 } 456 457 func (fieldMask *RegionalDistribution_FieldMask) Set(target, source *RegionalDistribution) { 458 for _, path := range fieldMask.Paths { 459 val, _ := path.GetSingle(source) 460 // if val is nil, then field does not exist in source, skip 461 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 462 if val != nil { 463 path.WithIValue(val).SetTo(&target) 464 } 465 } 466 } 467 468 func (fieldMask *RegionalDistribution_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 469 fieldMask.Set(target.(*RegionalDistribution), source.(*RegionalDistribution)) 470 } 471 472 func (fieldMask *RegionalDistribution_FieldMask) Project(source *RegionalDistribution) *RegionalDistribution { 473 if source == nil { 474 return nil 475 } 476 if fieldMask == nil { 477 return source 478 } 479 result := &RegionalDistribution{} 480 var limitsByRegionMapKeys []string 481 wholeLimitsByRegionAccepted := false 482 483 for _, p := range fieldMask.Paths { 484 switch tp := p.(type) { 485 case *RegionalDistribution_FieldTerminalPath: 486 switch tp.selector { 487 case RegionalDistribution_FieldPathSelectorResource: 488 result.Resource = source.Resource 489 case RegionalDistribution_FieldPathSelectorLimitsByRegion: 490 result.LimitsByRegion = source.LimitsByRegion 491 wholeLimitsByRegionAccepted = true 492 } 493 case *RegionalDistribution_FieldPathMap: 494 switch tp.selector { 495 case RegionalDistribution_FieldPathSelectorLimitsByRegion: 496 limitsByRegionMapKeys = append(limitsByRegionMapKeys, tp.key) 497 } 498 } 499 } 500 if wholeLimitsByRegionAccepted == false && len(limitsByRegionMapKeys) > 0 && source.GetLimitsByRegion() != nil { 501 copiedMap := map[string]int64{} 502 sourceMap := source.GetLimitsByRegion() 503 for _, key := range limitsByRegionMapKeys { 504 copiedMap[key] = sourceMap[key] 505 } 506 result.LimitsByRegion = copiedMap 507 } 508 return result 509 } 510 511 func (fieldMask *RegionalDistribution_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 512 return fieldMask.Project(source.(*RegionalDistribution)) 513 } 514 515 func (fieldMask *RegionalDistribution_FieldMask) PathsCount() int { 516 if fieldMask == nil { 517 return 0 518 } 519 return len(fieldMask.Paths) 520 }