github.com/cloudwan/edgelq-sdk@v1.15.4/limits/resources/v1alpha2/limit/limit.pb.object_ext.go (about)

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/limits/proto/v1alpha2/limit.proto
     3  // DO NOT EDIT!!!
     4  
     5  package limit
     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  	iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/project"
    20  	limit_pool "github.com/cloudwan/edgelq-sdk/limits/resources/v1alpha2/limit_pool"
    21  	meta_resource "github.com/cloudwan/edgelq-sdk/meta/resources/v1alpha2/resource"
    22  	meta_service "github.com/cloudwan/edgelq-sdk/meta/resources/v1alpha2/service"
    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  	_ = &iam_project.Project{}
    40  	_ = &limit_pool.LimitPool{}
    41  	_ = &meta_resource.Resource{}
    42  	_ = &meta_service.Service{}
    43  	_ = &meta.Meta{}
    44  )
    45  
    46  func (o *Limit) GotenObjectExt() {}
    47  
    48  func (o *Limit) MakeFullFieldMask() *Limit_FieldMask {
    49  	return FullLimit_FieldMask()
    50  }
    51  
    52  func (o *Limit) MakeRawFullFieldMask() gotenobject.FieldMask {
    53  	return FullLimit_FieldMask()
    54  }
    55  
    56  func (o *Limit) MakeDiffFieldMask(other *Limit) *Limit_FieldMask {
    57  	if o == nil && other == nil {
    58  		return &Limit_FieldMask{}
    59  	}
    60  	if o == nil || other == nil {
    61  		return FullLimit_FieldMask()
    62  	}
    63  
    64  	res := &Limit_FieldMask{}
    65  	if o.GetName().String() != other.GetName().String() {
    66  		res.Paths = append(res.Paths, &Limit_FieldTerminalPath{selector: Limit_FieldPathSelectorName})
    67  	}
    68  	if o.GetService().String() != other.GetService().String() {
    69  		res.Paths = append(res.Paths, &Limit_FieldTerminalPath{selector: Limit_FieldPathSelectorService})
    70  	}
    71  	if o.GetResource().String() != other.GetResource().String() {
    72  		res.Paths = append(res.Paths, &Limit_FieldTerminalPath{selector: Limit_FieldPathSelectorResource})
    73  	}
    74  	if o.GetRegion() != other.GetRegion() {
    75  		res.Paths = append(res.Paths, &Limit_FieldTerminalPath{selector: Limit_FieldPathSelectorRegion})
    76  	}
    77  	if o.GetConfiguredLimit() != other.GetConfiguredLimit() {
    78  		res.Paths = append(res.Paths, &Limit_FieldTerminalPath{selector: Limit_FieldPathSelectorConfiguredLimit})
    79  	}
    80  	if o.GetActiveLimit() != other.GetActiveLimit() {
    81  		res.Paths = append(res.Paths, &Limit_FieldTerminalPath{selector: Limit_FieldPathSelectorActiveLimit})
    82  	}
    83  	if o.GetUsage() != other.GetUsage() {
    84  		res.Paths = append(res.Paths, &Limit_FieldTerminalPath{selector: Limit_FieldPathSelectorUsage})
    85  	}
    86  	if o.GetSource().String() != other.GetSource().String() {
    87  		res.Paths = append(res.Paths, &Limit_FieldTerminalPath{selector: Limit_FieldPathSelectorSource})
    88  	}
    89  	{
    90  		subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata())
    91  		if subMask.IsFull() {
    92  			res.Paths = append(res.Paths, &Limit_FieldTerminalPath{selector: Limit_FieldPathSelectorMetadata})
    93  		} else {
    94  			for _, subpath := range subMask.Paths {
    95  				res.Paths = append(res.Paths, &Limit_FieldSubPath{selector: Limit_FieldPathSelectorMetadata, subPath: subpath})
    96  			}
    97  		}
    98  	}
    99  	return res
   100  }
   101  
   102  func (o *Limit) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   103  	return o.MakeDiffFieldMask(other.(*Limit))
   104  }
   105  
   106  func (o *Limit) Clone() *Limit {
   107  	if o == nil {
   108  		return nil
   109  	}
   110  	result := &Limit{}
   111  	if o.Name == nil {
   112  		result.Name = nil
   113  	} else if data, err := o.Name.ProtoString(); err != nil {
   114  		panic(err)
   115  	} else {
   116  		result.Name = &Name{}
   117  		if err := result.Name.ParseProtoString(data); err != nil {
   118  			panic(err)
   119  		}
   120  	}
   121  	if o.Service == nil {
   122  		result.Service = nil
   123  	} else if data, err := o.Service.ProtoString(); err != nil {
   124  		panic(err)
   125  	} else {
   126  		result.Service = &meta_service.Reference{}
   127  		if err := result.Service.ParseProtoString(data); err != nil {
   128  			panic(err)
   129  		}
   130  	}
   131  	if o.Resource == nil {
   132  		result.Resource = nil
   133  	} else if data, err := o.Resource.ProtoString(); err != nil {
   134  		panic(err)
   135  	} else {
   136  		result.Resource = &meta_resource.Reference{}
   137  		if err := result.Resource.ParseProtoString(data); err != nil {
   138  			panic(err)
   139  		}
   140  	}
   141  	result.Region = o.Region
   142  	result.ConfiguredLimit = o.ConfiguredLimit
   143  	result.ActiveLimit = o.ActiveLimit
   144  	result.Usage = o.Usage
   145  	if o.Source == nil {
   146  		result.Source = nil
   147  	} else if data, err := o.Source.ProtoString(); err != nil {
   148  		panic(err)
   149  	} else {
   150  		result.Source = &limit_pool.Reference{}
   151  		if err := result.Source.ParseProtoString(data); err != nil {
   152  			panic(err)
   153  		}
   154  	}
   155  	result.Metadata = o.Metadata.Clone()
   156  	return result
   157  }
   158  
   159  func (o *Limit) CloneRaw() gotenobject.GotenObjectExt {
   160  	return o.Clone()
   161  }
   162  
   163  func (o *Limit) Merge(source *Limit) {
   164  	if source.GetName() != nil {
   165  		if data, err := source.GetName().ProtoString(); err != nil {
   166  			panic(err)
   167  		} else {
   168  			o.Name = &Name{}
   169  			if err := o.Name.ParseProtoString(data); err != nil {
   170  				panic(err)
   171  			}
   172  		}
   173  	} else {
   174  		o.Name = nil
   175  	}
   176  	if source.GetService() != nil {
   177  		if data, err := source.GetService().ProtoString(); err != nil {
   178  			panic(err)
   179  		} else {
   180  			o.Service = &meta_service.Reference{}
   181  			if err := o.Service.ParseProtoString(data); err != nil {
   182  				panic(err)
   183  			}
   184  		}
   185  	} else {
   186  		o.Service = nil
   187  	}
   188  	if source.GetResource() != nil {
   189  		if data, err := source.GetResource().ProtoString(); err != nil {
   190  			panic(err)
   191  		} else {
   192  			o.Resource = &meta_resource.Reference{}
   193  			if err := o.Resource.ParseProtoString(data); err != nil {
   194  				panic(err)
   195  			}
   196  		}
   197  	} else {
   198  		o.Resource = nil
   199  	}
   200  	o.Region = source.GetRegion()
   201  	o.ConfiguredLimit = source.GetConfiguredLimit()
   202  	o.ActiveLimit = source.GetActiveLimit()
   203  	o.Usage = source.GetUsage()
   204  	if source.GetSource() != nil {
   205  		if data, err := source.GetSource().ProtoString(); err != nil {
   206  			panic(err)
   207  		} else {
   208  			o.Source = &limit_pool.Reference{}
   209  			if err := o.Source.ParseProtoString(data); err != nil {
   210  				panic(err)
   211  			}
   212  		}
   213  	} else {
   214  		o.Source = nil
   215  	}
   216  	if source.GetMetadata() != nil {
   217  		if o.Metadata == nil {
   218  			o.Metadata = new(meta.Meta)
   219  		}
   220  		o.Metadata.Merge(source.GetMetadata())
   221  	}
   222  }
   223  
   224  func (o *Limit) MergeRaw(source gotenobject.GotenObjectExt) {
   225  	o.Merge(source.(*Limit))
   226  }