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 }