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