github.com/cloudwan/edgelq-sdk@v1.15.4/monitoring/resources/v3/metric_descriptor/metric_descriptor.pb.object_ext.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/monitoring/proto/v3/metric_descriptor.proto 3 // DO NOT EDIT!!! 4 5 package metric_descriptor 6 7 import ( 8 "fmt" 9 "sort" 10 11 "google.golang.org/protobuf/proto" 12 googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 13 14 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 15 ) 16 17 // proto imports 18 import ( 19 api "github.com/cloudwan/edgelq-sdk/common/api" 20 common "github.com/cloudwan/edgelq-sdk/monitoring/resources/v3/common" 21 monitored_resource_descriptor "github.com/cloudwan/edgelq-sdk/monitoring/resources/v3/monitored_resource_descriptor" 22 project "github.com/cloudwan/edgelq-sdk/monitoring/resources/v3/project" 23 meta "github.com/cloudwan/goten-sdk/types/meta" 24 ) 25 26 // ensure the imports are used 27 var ( 28 _ = new(fmt.Stringer) 29 _ = new(sort.Interface) 30 31 _ = new(proto.Message) 32 _ = googlefieldmaskpb.FieldMask{} 33 34 _ = new(gotenobject.FieldPath) 35 ) 36 37 // make sure we're using proto imports 38 var ( 39 _ = api.LaunchStage(0) 40 _ = &common.LabelDescriptor{} 41 _ = &monitored_resource_descriptor.MonitoredResourceDescriptor{} 42 _ = &project.Project{} 43 _ = &meta.Meta{} 44 ) 45 46 func (o *MetricDescriptor) GotenObjectExt() {} 47 48 func (o *MetricDescriptor) MakeFullFieldMask() *MetricDescriptor_FieldMask { 49 return FullMetricDescriptor_FieldMask() 50 } 51 52 func (o *MetricDescriptor) MakeRawFullFieldMask() gotenobject.FieldMask { 53 return FullMetricDescriptor_FieldMask() 54 } 55 56 func (o *MetricDescriptor) MakeDiffFieldMask(other *MetricDescriptor) *MetricDescriptor_FieldMask { 57 if o == nil && other == nil { 58 return &MetricDescriptor_FieldMask{} 59 } 60 if o == nil || other == nil { 61 return FullMetricDescriptor_FieldMask() 62 } 63 64 res := &MetricDescriptor_FieldMask{} 65 { 66 subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata()) 67 if subMask.IsFull() { 68 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorMetadata}) 69 } else { 70 for _, subpath := range subMask.Paths { 71 res.Paths = append(res.Paths, &MetricDescriptor_FieldSubPath{selector: MetricDescriptor_FieldPathSelectorMetadata, subPath: subpath}) 72 } 73 } 74 } 75 if o.GetName().String() != other.GetName().String() { 76 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorName}) 77 } 78 if o.GetType() != other.GetType() { 79 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorType}) 80 } 81 82 if len(o.GetResourceTypes()) == len(other.GetResourceTypes()) { 83 for i, lValue := range o.GetResourceTypes() { 84 rValue := other.GetResourceTypes()[i] 85 if lValue != rValue { 86 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorResourceTypes}) 87 break 88 } 89 } 90 } else { 91 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorResourceTypes}) 92 } 93 94 if len(o.GetLabels()) == len(other.GetLabels()) { 95 for i, lValue := range o.GetLabels() { 96 rValue := other.GetLabels()[i] 97 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 98 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorLabels}) 99 break 100 } 101 } 102 } else { 103 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorLabels}) 104 } 105 if o.GetMetricKind() != other.GetMetricKind() { 106 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorMetricKind}) 107 } 108 if o.GetValueType() != other.GetValueType() { 109 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorValueType}) 110 } 111 if o.GetUnit() != other.GetUnit() { 112 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorUnit}) 113 } 114 if o.GetDescription() != other.GetDescription() { 115 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorDescription}) 116 } 117 if o.GetDisplayName() != other.GetDisplayName() { 118 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorDisplayName}) 119 } 120 { 121 subMask := o.GetMetricDescriptorMetadata().MakeDiffFieldMask(other.GetMetricDescriptorMetadata()) 122 if subMask.IsFull() { 123 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorMetricDescriptorMetadata}) 124 } else { 125 for _, subpath := range subMask.Paths { 126 res.Paths = append(res.Paths, &MetricDescriptor_FieldSubPath{selector: MetricDescriptor_FieldPathSelectorMetricDescriptorMetadata, subPath: subpath}) 127 } 128 } 129 } 130 { 131 subMask := o.GetDistributionBucketOptions().MakeDiffFieldMask(other.GetDistributionBucketOptions()) 132 if subMask.IsFull() { 133 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorDistributionBucketOptions}) 134 } else { 135 for _, subpath := range subMask.Paths { 136 res.Paths = append(res.Paths, &MetricDescriptor_FieldSubPath{selector: MetricDescriptor_FieldPathSelectorDistributionBucketOptions, subPath: subpath}) 137 } 138 } 139 } 140 141 if len(o.GetPromotedLabelKeySets()) == len(other.GetPromotedLabelKeySets()) { 142 for i, lValue := range o.GetPromotedLabelKeySets() { 143 rValue := other.GetPromotedLabelKeySets()[i] 144 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 145 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorPromotedLabelKeySets}) 146 break 147 } 148 } 149 } else { 150 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorPromotedLabelKeySets}) 151 } 152 { 153 subMask := o.GetIndexSpec().MakeDiffFieldMask(other.GetIndexSpec()) 154 if subMask.IsFull() { 155 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorIndexSpec}) 156 } else { 157 for _, subpath := range subMask.Paths { 158 res.Paths = append(res.Paths, &MetricDescriptor_FieldSubPath{selector: MetricDescriptor_FieldPathSelectorIndexSpec, subPath: subpath}) 159 } 160 } 161 } 162 { 163 subMask := o.GetStorageConfig().MakeDiffFieldMask(other.GetStorageConfig()) 164 if subMask.IsFull() { 165 res.Paths = append(res.Paths, &MetricDescriptor_FieldTerminalPath{selector: MetricDescriptor_FieldPathSelectorStorageConfig}) 166 } else { 167 for _, subpath := range subMask.Paths { 168 res.Paths = append(res.Paths, &MetricDescriptor_FieldSubPath{selector: MetricDescriptor_FieldPathSelectorStorageConfig, subPath: subpath}) 169 } 170 } 171 } 172 return res 173 } 174 175 func (o *MetricDescriptor) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 176 return o.MakeDiffFieldMask(other.(*MetricDescriptor)) 177 } 178 179 func (o *MetricDescriptor) Clone() *MetricDescriptor { 180 if o == nil { 181 return nil 182 } 183 result := &MetricDescriptor{} 184 result.Metadata = o.Metadata.Clone() 185 if o.Name == nil { 186 result.Name = nil 187 } else if data, err := o.Name.ProtoString(); err != nil { 188 panic(err) 189 } else { 190 result.Name = &Name{} 191 if err := result.Name.ParseProtoString(data); err != nil { 192 panic(err) 193 } 194 } 195 result.Type = o.Type 196 result.ResourceTypes = make([]string, len(o.ResourceTypes)) 197 for i, sourceValue := range o.ResourceTypes { 198 result.ResourceTypes[i] = sourceValue 199 } 200 result.Labels = make([]*common.LabelDescriptor, len(o.Labels)) 201 for i, sourceValue := range o.Labels { 202 result.Labels[i] = sourceValue.Clone() 203 } 204 result.MetricKind = o.MetricKind 205 result.ValueType = o.ValueType 206 result.Unit = o.Unit 207 result.Description = o.Description 208 result.DisplayName = o.DisplayName 209 result.MetricDescriptorMetadata = o.MetricDescriptorMetadata.Clone() 210 result.DistributionBucketOptions = o.DistributionBucketOptions.Clone() 211 result.PromotedLabelKeySets = make([]*common.LabelKeySet, len(o.PromotedLabelKeySets)) 212 for i, sourceValue := range o.PromotedLabelKeySets { 213 result.PromotedLabelKeySets[i] = sourceValue.Clone() 214 } 215 result.IndexSpec = o.IndexSpec.Clone() 216 result.StorageConfig = o.StorageConfig.Clone() 217 return result 218 } 219 220 func (o *MetricDescriptor) CloneRaw() gotenobject.GotenObjectExt { 221 return o.Clone() 222 } 223 224 func (o *MetricDescriptor) Merge(source *MetricDescriptor) { 225 if source.GetMetadata() != nil { 226 if o.Metadata == nil { 227 o.Metadata = new(meta.Meta) 228 } 229 o.Metadata.Merge(source.GetMetadata()) 230 } 231 if source.GetName() != nil { 232 if data, err := source.GetName().ProtoString(); err != nil { 233 panic(err) 234 } else { 235 o.Name = &Name{} 236 if err := o.Name.ParseProtoString(data); err != nil { 237 panic(err) 238 } 239 } 240 } else { 241 o.Name = nil 242 } 243 o.Type = source.GetType() 244 for _, sourceValue := range source.GetResourceTypes() { 245 exists := false 246 for _, currentValue := range o.ResourceTypes { 247 if currentValue == sourceValue { 248 exists = true 249 break 250 } 251 } 252 if !exists { 253 var newDstElement string 254 newDstElement = sourceValue 255 o.ResourceTypes = append(o.ResourceTypes, newDstElement) 256 } 257 } 258 259 for _, sourceValue := range source.GetLabels() { 260 exists := false 261 for _, currentValue := range o.Labels { 262 if proto.Equal(sourceValue, currentValue) { 263 exists = true 264 break 265 } 266 } 267 if !exists { 268 var newDstElement *common.LabelDescriptor 269 if sourceValue != nil { 270 newDstElement = new(common.LabelDescriptor) 271 newDstElement.Merge(sourceValue) 272 } 273 o.Labels = append(o.Labels, newDstElement) 274 } 275 } 276 277 o.MetricKind = source.GetMetricKind() 278 o.ValueType = source.GetValueType() 279 o.Unit = source.GetUnit() 280 o.Description = source.GetDescription() 281 o.DisplayName = source.GetDisplayName() 282 if source.GetMetricDescriptorMetadata() != nil { 283 if o.MetricDescriptorMetadata == nil { 284 o.MetricDescriptorMetadata = new(MetricDescriptor_MetricDescriptorMetadata) 285 } 286 o.MetricDescriptorMetadata.Merge(source.GetMetricDescriptorMetadata()) 287 } 288 if source.GetDistributionBucketOptions() != nil { 289 if o.DistributionBucketOptions == nil { 290 o.DistributionBucketOptions = new(common.Distribution_BucketOptions) 291 } 292 o.DistributionBucketOptions.Merge(source.GetDistributionBucketOptions()) 293 } 294 for _, sourceValue := range source.GetPromotedLabelKeySets() { 295 exists := false 296 for _, currentValue := range o.PromotedLabelKeySets { 297 if proto.Equal(sourceValue, currentValue) { 298 exists = true 299 break 300 } 301 } 302 if !exists { 303 var newDstElement *common.LabelKeySet 304 if sourceValue != nil { 305 newDstElement = new(common.LabelKeySet) 306 newDstElement.Merge(sourceValue) 307 } 308 o.PromotedLabelKeySets = append(o.PromotedLabelKeySets, newDstElement) 309 } 310 } 311 312 if source.GetIndexSpec() != nil { 313 if o.IndexSpec == nil { 314 o.IndexSpec = new(MetricDescriptor_IndexSpec) 315 } 316 o.IndexSpec.Merge(source.GetIndexSpec()) 317 } 318 if source.GetStorageConfig() != nil { 319 if o.StorageConfig == nil { 320 o.StorageConfig = new(MetricDescriptor_StorageConfig) 321 } 322 o.StorageConfig.Merge(source.GetStorageConfig()) 323 } 324 } 325 326 func (o *MetricDescriptor) MergeRaw(source gotenobject.GotenObjectExt) { 327 o.Merge(source.(*MetricDescriptor)) 328 } 329 330 func (o *MetricDescriptor_MetricDescriptorMetadata) GotenObjectExt() {} 331 332 func (o *MetricDescriptor_MetricDescriptorMetadata) MakeFullFieldMask() *MetricDescriptor_MetricDescriptorMetadata_FieldMask { 333 return FullMetricDescriptor_MetricDescriptorMetadata_FieldMask() 334 } 335 336 func (o *MetricDescriptor_MetricDescriptorMetadata) MakeRawFullFieldMask() gotenobject.FieldMask { 337 return FullMetricDescriptor_MetricDescriptorMetadata_FieldMask() 338 } 339 340 func (o *MetricDescriptor_MetricDescriptorMetadata) MakeDiffFieldMask(other *MetricDescriptor_MetricDescriptorMetadata) *MetricDescriptor_MetricDescriptorMetadata_FieldMask { 341 if o == nil && other == nil { 342 return &MetricDescriptor_MetricDescriptorMetadata_FieldMask{} 343 } 344 if o == nil || other == nil { 345 return FullMetricDescriptor_MetricDescriptorMetadata_FieldMask() 346 } 347 348 res := &MetricDescriptor_MetricDescriptorMetadata_FieldMask{} 349 if o.GetLaunchStage() != other.GetLaunchStage() { 350 res.Paths = append(res.Paths, &MetricDescriptorMetricDescriptorMetadata_FieldTerminalPath{selector: MetricDescriptorMetricDescriptorMetadata_FieldPathSelectorLaunchStage}) 351 } 352 return res 353 } 354 355 func (o *MetricDescriptor_MetricDescriptorMetadata) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 356 return o.MakeDiffFieldMask(other.(*MetricDescriptor_MetricDescriptorMetadata)) 357 } 358 359 func (o *MetricDescriptor_MetricDescriptorMetadata) Clone() *MetricDescriptor_MetricDescriptorMetadata { 360 if o == nil { 361 return nil 362 } 363 result := &MetricDescriptor_MetricDescriptorMetadata{} 364 result.LaunchStage = o.LaunchStage 365 return result 366 } 367 368 func (o *MetricDescriptor_MetricDescriptorMetadata) CloneRaw() gotenobject.GotenObjectExt { 369 return o.Clone() 370 } 371 372 func (o *MetricDescriptor_MetricDescriptorMetadata) Merge(source *MetricDescriptor_MetricDescriptorMetadata) { 373 o.LaunchStage = source.GetLaunchStage() 374 } 375 376 func (o *MetricDescriptor_MetricDescriptorMetadata) MergeRaw(source gotenobject.GotenObjectExt) { 377 o.Merge(source.(*MetricDescriptor_MetricDescriptorMetadata)) 378 } 379 380 func (o *MetricDescriptor_IndexSpec) GotenObjectExt() {} 381 382 func (o *MetricDescriptor_IndexSpec) MakeFullFieldMask() *MetricDescriptor_IndexSpec_FieldMask { 383 return FullMetricDescriptor_IndexSpec_FieldMask() 384 } 385 386 func (o *MetricDescriptor_IndexSpec) MakeRawFullFieldMask() gotenobject.FieldMask { 387 return FullMetricDescriptor_IndexSpec_FieldMask() 388 } 389 390 func (o *MetricDescriptor_IndexSpec) MakeDiffFieldMask(other *MetricDescriptor_IndexSpec) *MetricDescriptor_IndexSpec_FieldMask { 391 if o == nil && other == nil { 392 return &MetricDescriptor_IndexSpec_FieldMask{} 393 } 394 if o == nil || other == nil { 395 return FullMetricDescriptor_IndexSpec_FieldMask() 396 } 397 398 res := &MetricDescriptor_IndexSpec_FieldMask{} 399 400 if len(o.GetPerResource()) == len(other.GetPerResource()) { 401 for i, lValue := range o.GetPerResource() { 402 rValue := other.GetPerResource()[i] 403 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 404 res.Paths = append(res.Paths, &MetricDescriptorIndexSpec_FieldTerminalPath{selector: MetricDescriptorIndexSpec_FieldPathSelectorPerResource}) 405 break 406 } 407 } 408 } else { 409 res.Paths = append(res.Paths, &MetricDescriptorIndexSpec_FieldTerminalPath{selector: MetricDescriptorIndexSpec_FieldPathSelectorPerResource}) 410 } 411 return res 412 } 413 414 func (o *MetricDescriptor_IndexSpec) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 415 return o.MakeDiffFieldMask(other.(*MetricDescriptor_IndexSpec)) 416 } 417 418 func (o *MetricDescriptor_IndexSpec) Clone() *MetricDescriptor_IndexSpec { 419 if o == nil { 420 return nil 421 } 422 result := &MetricDescriptor_IndexSpec{} 423 result.PerResource = make([]*MetricDescriptor_IndexSpec_PerMonitoredResource, len(o.PerResource)) 424 for i, sourceValue := range o.PerResource { 425 result.PerResource[i] = sourceValue.Clone() 426 } 427 return result 428 } 429 430 func (o *MetricDescriptor_IndexSpec) CloneRaw() gotenobject.GotenObjectExt { 431 return o.Clone() 432 } 433 434 func (o *MetricDescriptor_IndexSpec) Merge(source *MetricDescriptor_IndexSpec) { 435 for _, sourceValue := range source.GetPerResource() { 436 exists := false 437 for _, currentValue := range o.PerResource { 438 if proto.Equal(sourceValue, currentValue) { 439 exists = true 440 break 441 } 442 } 443 if !exists { 444 var newDstElement *MetricDescriptor_IndexSpec_PerMonitoredResource 445 if sourceValue != nil { 446 newDstElement = new(MetricDescriptor_IndexSpec_PerMonitoredResource) 447 newDstElement.Merge(sourceValue) 448 } 449 o.PerResource = append(o.PerResource, newDstElement) 450 } 451 } 452 453 } 454 455 func (o *MetricDescriptor_IndexSpec) MergeRaw(source gotenobject.GotenObjectExt) { 456 o.Merge(source.(*MetricDescriptor_IndexSpec)) 457 } 458 459 func (o *MetricDescriptor_StorageConfig) GotenObjectExt() {} 460 461 func (o *MetricDescriptor_StorageConfig) MakeFullFieldMask() *MetricDescriptor_StorageConfig_FieldMask { 462 return FullMetricDescriptor_StorageConfig_FieldMask() 463 } 464 465 func (o *MetricDescriptor_StorageConfig) MakeRawFullFieldMask() gotenobject.FieldMask { 466 return FullMetricDescriptor_StorageConfig_FieldMask() 467 } 468 469 func (o *MetricDescriptor_StorageConfig) MakeDiffFieldMask(other *MetricDescriptor_StorageConfig) *MetricDescriptor_StorageConfig_FieldMask { 470 if o == nil && other == nil { 471 return &MetricDescriptor_StorageConfig_FieldMask{} 472 } 473 if o == nil || other == nil { 474 return FullMetricDescriptor_StorageConfig_FieldMask() 475 } 476 477 res := &MetricDescriptor_StorageConfig_FieldMask{} 478 if o.GetStoreRawPoints() != other.GetStoreRawPoints() { 479 res.Paths = append(res.Paths, &MetricDescriptorStorageConfig_FieldTerminalPath{selector: MetricDescriptorStorageConfig_FieldPathSelectorStoreRawPoints}) 480 } 481 return res 482 } 483 484 func (o *MetricDescriptor_StorageConfig) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 485 return o.MakeDiffFieldMask(other.(*MetricDescriptor_StorageConfig)) 486 } 487 488 func (o *MetricDescriptor_StorageConfig) Clone() *MetricDescriptor_StorageConfig { 489 if o == nil { 490 return nil 491 } 492 result := &MetricDescriptor_StorageConfig{} 493 result.StoreRawPoints = o.StoreRawPoints 494 return result 495 } 496 497 func (o *MetricDescriptor_StorageConfig) CloneRaw() gotenobject.GotenObjectExt { 498 return o.Clone() 499 } 500 501 func (o *MetricDescriptor_StorageConfig) Merge(source *MetricDescriptor_StorageConfig) { 502 o.StoreRawPoints = source.GetStoreRawPoints() 503 } 504 505 func (o *MetricDescriptor_StorageConfig) MergeRaw(source gotenobject.GotenObjectExt) { 506 o.Merge(source.(*MetricDescriptor_StorageConfig)) 507 } 508 509 func (o *MetricDescriptor_IndexSpec_Index) GotenObjectExt() {} 510 511 func (o *MetricDescriptor_IndexSpec_Index) MakeFullFieldMask() *MetricDescriptor_IndexSpec_Index_FieldMask { 512 return FullMetricDescriptor_IndexSpec_Index_FieldMask() 513 } 514 515 func (o *MetricDescriptor_IndexSpec_Index) MakeRawFullFieldMask() gotenobject.FieldMask { 516 return FullMetricDescriptor_IndexSpec_Index_FieldMask() 517 } 518 519 func (o *MetricDescriptor_IndexSpec_Index) MakeDiffFieldMask(other *MetricDescriptor_IndexSpec_Index) *MetricDescriptor_IndexSpec_Index_FieldMask { 520 if o == nil && other == nil { 521 return &MetricDescriptor_IndexSpec_Index_FieldMask{} 522 } 523 if o == nil || other == nil { 524 return FullMetricDescriptor_IndexSpec_Index_FieldMask() 525 } 526 527 res := &MetricDescriptor_IndexSpec_Index_FieldMask{} 528 529 if len(o.GetPromotedLabels()) == len(other.GetPromotedLabels()) { 530 for i, lValue := range o.GetPromotedLabels() { 531 rValue := other.GetPromotedLabels()[i] 532 if lValue != rValue { 533 res.Paths = append(res.Paths, &MetricDescriptorIndexSpecIndex_FieldTerminalPath{selector: MetricDescriptorIndexSpecIndex_FieldPathSelectorPromotedLabels}) 534 break 535 } 536 } 537 } else { 538 res.Paths = append(res.Paths, &MetricDescriptorIndexSpecIndex_FieldTerminalPath{selector: MetricDescriptorIndexSpecIndex_FieldPathSelectorPromotedLabels}) 539 } 540 if o.GetWriteOnly() != other.GetWriteOnly() { 541 res.Paths = append(res.Paths, &MetricDescriptorIndexSpecIndex_FieldTerminalPath{selector: MetricDescriptorIndexSpecIndex_FieldPathSelectorWriteOnly}) 542 } 543 return res 544 } 545 546 func (o *MetricDescriptor_IndexSpec_Index) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 547 return o.MakeDiffFieldMask(other.(*MetricDescriptor_IndexSpec_Index)) 548 } 549 550 func (o *MetricDescriptor_IndexSpec_Index) Clone() *MetricDescriptor_IndexSpec_Index { 551 if o == nil { 552 return nil 553 } 554 result := &MetricDescriptor_IndexSpec_Index{} 555 result.PromotedLabels = make([]string, len(o.PromotedLabels)) 556 for i, sourceValue := range o.PromotedLabels { 557 result.PromotedLabels[i] = sourceValue 558 } 559 result.WriteOnly = o.WriteOnly 560 return result 561 } 562 563 func (o *MetricDescriptor_IndexSpec_Index) CloneRaw() gotenobject.GotenObjectExt { 564 return o.Clone() 565 } 566 567 func (o *MetricDescriptor_IndexSpec_Index) Merge(source *MetricDescriptor_IndexSpec_Index) { 568 for _, sourceValue := range source.GetPromotedLabels() { 569 exists := false 570 for _, currentValue := range o.PromotedLabels { 571 if currentValue == sourceValue { 572 exists = true 573 break 574 } 575 } 576 if !exists { 577 var newDstElement string 578 newDstElement = sourceValue 579 o.PromotedLabels = append(o.PromotedLabels, newDstElement) 580 } 581 } 582 583 o.WriteOnly = source.GetWriteOnly() 584 } 585 586 func (o *MetricDescriptor_IndexSpec_Index) MergeRaw(source gotenobject.GotenObjectExt) { 587 o.Merge(source.(*MetricDescriptor_IndexSpec_Index)) 588 } 589 590 func (o *MetricDescriptor_IndexSpec_PerMonitoredResource) GotenObjectExt() {} 591 592 func (o *MetricDescriptor_IndexSpec_PerMonitoredResource) MakeFullFieldMask() *MetricDescriptor_IndexSpec_PerMonitoredResource_FieldMask { 593 return FullMetricDescriptor_IndexSpec_PerMonitoredResource_FieldMask() 594 } 595 596 func (o *MetricDescriptor_IndexSpec_PerMonitoredResource) MakeRawFullFieldMask() gotenobject.FieldMask { 597 return FullMetricDescriptor_IndexSpec_PerMonitoredResource_FieldMask() 598 } 599 600 func (o *MetricDescriptor_IndexSpec_PerMonitoredResource) MakeDiffFieldMask(other *MetricDescriptor_IndexSpec_PerMonitoredResource) *MetricDescriptor_IndexSpec_PerMonitoredResource_FieldMask { 601 if o == nil && other == nil { 602 return &MetricDescriptor_IndexSpec_PerMonitoredResource_FieldMask{} 603 } 604 if o == nil || other == nil { 605 return FullMetricDescriptor_IndexSpec_PerMonitoredResource_FieldMask() 606 } 607 608 res := &MetricDescriptor_IndexSpec_PerMonitoredResource_FieldMask{} 609 if o.GetResource().String() != other.GetResource().String() { 610 res.Paths = append(res.Paths, &MetricDescriptorIndexSpecPerMonitoredResource_FieldTerminalPath{selector: MetricDescriptorIndexSpecPerMonitoredResource_FieldPathSelectorResource}) 611 } 612 613 if len(o.GetIndices()) == len(other.GetIndices()) { 614 for i, lValue := range o.GetIndices() { 615 rValue := other.GetIndices()[i] 616 if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 { 617 res.Paths = append(res.Paths, &MetricDescriptorIndexSpecPerMonitoredResource_FieldTerminalPath{selector: MetricDescriptorIndexSpecPerMonitoredResource_FieldPathSelectorIndices}) 618 break 619 } 620 } 621 } else { 622 res.Paths = append(res.Paths, &MetricDescriptorIndexSpecPerMonitoredResource_FieldTerminalPath{selector: MetricDescriptorIndexSpecPerMonitoredResource_FieldPathSelectorIndices}) 623 } 624 return res 625 } 626 627 func (o *MetricDescriptor_IndexSpec_PerMonitoredResource) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask { 628 return o.MakeDiffFieldMask(other.(*MetricDescriptor_IndexSpec_PerMonitoredResource)) 629 } 630 631 func (o *MetricDescriptor_IndexSpec_PerMonitoredResource) Clone() *MetricDescriptor_IndexSpec_PerMonitoredResource { 632 if o == nil { 633 return nil 634 } 635 result := &MetricDescriptor_IndexSpec_PerMonitoredResource{} 636 if o.Resource == nil { 637 result.Resource = nil 638 } else if data, err := o.Resource.ProtoString(); err != nil { 639 panic(err) 640 } else { 641 result.Resource = &monitored_resource_descriptor.Reference{} 642 if err := result.Resource.ParseProtoString(data); err != nil { 643 panic(err) 644 } 645 } 646 result.Indices = make([]*MetricDescriptor_IndexSpec_Index, len(o.Indices)) 647 for i, sourceValue := range o.Indices { 648 result.Indices[i] = sourceValue.Clone() 649 } 650 return result 651 } 652 653 func (o *MetricDescriptor_IndexSpec_PerMonitoredResource) CloneRaw() gotenobject.GotenObjectExt { 654 return o.Clone() 655 } 656 657 func (o *MetricDescriptor_IndexSpec_PerMonitoredResource) Merge(source *MetricDescriptor_IndexSpec_PerMonitoredResource) { 658 if source.GetResource() != nil { 659 if data, err := source.GetResource().ProtoString(); err != nil { 660 panic(err) 661 } else { 662 o.Resource = &monitored_resource_descriptor.Reference{} 663 if err := o.Resource.ParseProtoString(data); err != nil { 664 panic(err) 665 } 666 } 667 } else { 668 o.Resource = nil 669 } 670 for _, sourceValue := range source.GetIndices() { 671 exists := false 672 for _, currentValue := range o.Indices { 673 if proto.Equal(sourceValue, currentValue) { 674 exists = true 675 break 676 } 677 } 678 if !exists { 679 var newDstElement *MetricDescriptor_IndexSpec_Index 680 if sourceValue != nil { 681 newDstElement = new(MetricDescriptor_IndexSpec_Index) 682 newDstElement.Merge(sourceValue) 683 } 684 o.Indices = append(o.Indices, newDstElement) 685 } 686 } 687 688 } 689 690 func (o *MetricDescriptor_IndexSpec_PerMonitoredResource) MergeRaw(source gotenobject.GotenObjectExt) { 691 o.Merge(source.(*MetricDescriptor_IndexSpec_PerMonitoredResource)) 692 }