github.com/cloudwan/edgelq-sdk@v1.15.4/logging/resources/v1/log/log.pb.fieldmask.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/logging/proto/v1/log.proto 3 // DO NOT EDIT!!! 4 5 package log 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 iam_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization" 23 iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project" 24 bucket "github.com/cloudwan/edgelq-sdk/logging/resources/v1/bucket" 25 log_descriptor "github.com/cloudwan/edgelq-sdk/logging/resources/v1/log_descriptor" 26 meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service" 27 anypb "google.golang.org/protobuf/types/known/anypb" 28 structpb "google.golang.org/protobuf/types/known/structpb" 29 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 30 ) 31 32 // ensure the imports are used 33 var ( 34 _ = new(json.Marshaler) 35 _ = strings.Builder{} 36 37 _ = codes.NotFound 38 _ = status.Status{} 39 _ = new(proto.Message) 40 _ = new(preflect.Message) 41 _ = googlefieldmaskpb.FieldMask{} 42 43 _ = new(gotenobject.FieldMask) 44 ) 45 46 // make sure we're using proto imports 47 var ( 48 _ = &iam_organization.Organization{} 49 _ = &iam_project.Project{} 50 _ = &bucket.Bucket{} 51 _ = &log_descriptor.LogDescriptor{} 52 _ = &anypb.Any{} 53 _ = &structpb.Struct{} 54 _ = ×tamppb.Timestamp{} 55 _ = &meta_service.Service{} 56 ) 57 58 type Log_FieldMask struct { 59 Paths []Log_FieldPath 60 } 61 62 func FullLog_FieldMask() *Log_FieldMask { 63 res := &Log_FieldMask{} 64 res.Paths = append(res.Paths, &Log_FieldTerminalPath{selector: Log_FieldPathSelectorName}) 65 res.Paths = append(res.Paths, &Log_FieldTerminalPath{selector: Log_FieldPathSelectorScope}) 66 res.Paths = append(res.Paths, &Log_FieldTerminalPath{selector: Log_FieldPathSelectorService}) 67 res.Paths = append(res.Paths, &Log_FieldTerminalPath{selector: Log_FieldPathSelectorRegion}) 68 res.Paths = append(res.Paths, &Log_FieldTerminalPath{selector: Log_FieldPathSelectorVersion}) 69 res.Paths = append(res.Paths, &Log_FieldTerminalPath{selector: Log_FieldPathSelectorLogDescriptor}) 70 res.Paths = append(res.Paths, &Log_FieldTerminalPath{selector: Log_FieldPathSelectorLabels}) 71 res.Paths = append(res.Paths, &Log_FieldTerminalPath{selector: Log_FieldPathSelectorTime}) 72 res.Paths = append(res.Paths, &Log_FieldTerminalPath{selector: Log_FieldPathSelectorJsonPayload}) 73 res.Paths = append(res.Paths, &Log_FieldTerminalPath{selector: Log_FieldPathSelectorPbPayload}) 74 res.Paths = append(res.Paths, &Log_FieldTerminalPath{selector: Log_FieldPathSelectorStringPayload}) 75 res.Paths = append(res.Paths, &Log_FieldTerminalPath{selector: Log_FieldPathSelectorBytesPayload}) 76 res.Paths = append(res.Paths, &Log_FieldTerminalPath{selector: Log_FieldPathSelectorBinKey}) 77 return res 78 } 79 80 func (fieldMask *Log_FieldMask) String() string { 81 if fieldMask == nil { 82 return "<nil>" 83 } 84 pathsStr := make([]string, 0, len(fieldMask.Paths)) 85 for _, path := range fieldMask.Paths { 86 pathsStr = append(pathsStr, path.String()) 87 } 88 return strings.Join(pathsStr, ", ") 89 } 90 91 func (fieldMask *Log_FieldMask) IsFull() bool { 92 if fieldMask == nil { 93 return false 94 } 95 presentSelectors := make([]bool, 13) 96 for _, path := range fieldMask.Paths { 97 if asFinal, ok := path.(*Log_FieldTerminalPath); ok { 98 presentSelectors[int(asFinal.selector)] = true 99 } 100 } 101 for _, flag := range presentSelectors { 102 if !flag { 103 return false 104 } 105 } 106 return true 107 } 108 109 func (fieldMask *Log_FieldMask) ProtoReflect() preflect.Message { 110 return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) { 111 return ParseLog_FieldPath(raw) 112 }) 113 } 114 115 func (fieldMask *Log_FieldMask) ProtoMessage() {} 116 117 func (fieldMask *Log_FieldMask) Reset() { 118 if fieldMask != nil { 119 fieldMask.Paths = nil 120 } 121 } 122 123 func (fieldMask *Log_FieldMask) Subtract(other *Log_FieldMask) *Log_FieldMask { 124 result := &Log_FieldMask{} 125 removedSelectors := make([]bool, 13) 126 127 for _, path := range other.GetPaths() { 128 switch tp := path.(type) { 129 case *Log_FieldTerminalPath: 130 removedSelectors[int(tp.selector)] = true 131 } 132 } 133 for _, path := range fieldMask.GetPaths() { 134 if !removedSelectors[int(path.Selector())] { 135 result.Paths = append(result.Paths, path) 136 } 137 } 138 139 if len(result.Paths) == 0 { 140 return nil 141 } 142 return result 143 } 144 145 func (fieldMask *Log_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask { 146 return fieldMask.Subtract(other.(*Log_FieldMask)) 147 } 148 149 // FilterInputFields generates copy of field paths with output_only field paths removed 150 func (fieldMask *Log_FieldMask) FilterInputFields() *Log_FieldMask { 151 result := &Log_FieldMask{} 152 result.Paths = append(result.Paths, fieldMask.Paths...) 153 return result 154 } 155 156 // ToFieldMask is used for proto conversions 157 func (fieldMask *Log_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask { 158 protoFieldMask := &googlefieldmaskpb.FieldMask{} 159 for _, path := range fieldMask.Paths { 160 protoFieldMask.Paths = append(protoFieldMask.Paths, path.String()) 161 } 162 return protoFieldMask 163 } 164 165 func (fieldMask *Log_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error { 166 if fieldMask == nil { 167 return status.Error(codes.Internal, "target field mask is nil") 168 } 169 fieldMask.Paths = make([]Log_FieldPath, 0, len(protoFieldMask.Paths)) 170 for _, strPath := range protoFieldMask.Paths { 171 path, err := ParseLog_FieldPath(strPath) 172 if err != nil { 173 return err 174 } 175 fieldMask.Paths = append(fieldMask.Paths, path) 176 } 177 return nil 178 } 179 180 // implement methods required by customType 181 func (fieldMask Log_FieldMask) Marshal() ([]byte, error) { 182 protoFieldMask := fieldMask.ToProtoFieldMask() 183 return proto.Marshal(protoFieldMask) 184 } 185 186 func (fieldMask *Log_FieldMask) Unmarshal(data []byte) error { 187 protoFieldMask := &googlefieldmaskpb.FieldMask{} 188 if err := proto.Unmarshal(data, protoFieldMask); err != nil { 189 return err 190 } 191 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 192 return err 193 } 194 return nil 195 } 196 197 func (fieldMask *Log_FieldMask) Size() int { 198 return proto.Size(fieldMask.ToProtoFieldMask()) 199 } 200 201 func (fieldMask Log_FieldMask) MarshalJSON() ([]byte, error) { 202 return json.Marshal(fieldMask.ToProtoFieldMask()) 203 } 204 205 func (fieldMask *Log_FieldMask) UnmarshalJSON(data []byte) error { 206 protoFieldMask := &googlefieldmaskpb.FieldMask{} 207 if err := json.Unmarshal(data, protoFieldMask); err != nil { 208 return err 209 } 210 if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil { 211 return err 212 } 213 return nil 214 } 215 216 func (fieldMask *Log_FieldMask) AppendPath(path Log_FieldPath) { 217 fieldMask.Paths = append(fieldMask.Paths, path) 218 } 219 220 func (fieldMask *Log_FieldMask) AppendRawPath(path gotenobject.FieldPath) { 221 fieldMask.Paths = append(fieldMask.Paths, path.(Log_FieldPath)) 222 } 223 224 func (fieldMask *Log_FieldMask) GetPaths() []Log_FieldPath { 225 if fieldMask == nil { 226 return nil 227 } 228 return fieldMask.Paths 229 } 230 231 func (fieldMask *Log_FieldMask) GetRawPaths() []gotenobject.FieldPath { 232 if fieldMask == nil { 233 return nil 234 } 235 rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths)) 236 for _, path := range fieldMask.Paths { 237 rawPaths = append(rawPaths, path) 238 } 239 return rawPaths 240 } 241 242 func (fieldMask *Log_FieldMask) SetFromCliFlag(raw string) error { 243 path, err := ParseLog_FieldPath(raw) 244 if err != nil { 245 return err 246 } 247 fieldMask.Paths = append(fieldMask.Paths, path) 248 return nil 249 } 250 251 func (fieldMask *Log_FieldMask) Set(target, source *Log) { 252 for _, path := range fieldMask.Paths { 253 val, _ := path.GetSingle(source) 254 // if val is nil, then field does not exist in source, skip 255 // otherwise, process (can still reflect.ValueOf(val).IsNil!) 256 if val != nil { 257 path.WithIValue(val).SetTo(&target) 258 } 259 } 260 } 261 262 func (fieldMask *Log_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) { 263 fieldMask.Set(target.(*Log), source.(*Log)) 264 } 265 266 func (fieldMask *Log_FieldMask) Project(source *Log) *Log { 267 if source == nil { 268 return nil 269 } 270 if fieldMask == nil { 271 return source 272 } 273 result := &Log{} 274 var labelsMapKeys []string 275 wholeLabelsAccepted := false 276 277 for _, p := range fieldMask.Paths { 278 switch tp := p.(type) { 279 case *Log_FieldTerminalPath: 280 switch tp.selector { 281 case Log_FieldPathSelectorName: 282 result.Name = source.Name 283 case Log_FieldPathSelectorScope: 284 result.Scope = source.Scope 285 case Log_FieldPathSelectorService: 286 result.Service = source.Service 287 case Log_FieldPathSelectorRegion: 288 result.Region = source.Region 289 case Log_FieldPathSelectorVersion: 290 result.Version = source.Version 291 case Log_FieldPathSelectorLogDescriptor: 292 result.LogDescriptor = source.LogDescriptor 293 case Log_FieldPathSelectorLabels: 294 result.Labels = source.Labels 295 wholeLabelsAccepted = true 296 case Log_FieldPathSelectorTime: 297 result.Time = source.Time 298 case Log_FieldPathSelectorJsonPayload: 299 result.JsonPayload = source.JsonPayload 300 case Log_FieldPathSelectorPbPayload: 301 result.PbPayload = source.PbPayload 302 case Log_FieldPathSelectorStringPayload: 303 result.StringPayload = source.StringPayload 304 case Log_FieldPathSelectorBytesPayload: 305 result.BytesPayload = source.BytesPayload 306 case Log_FieldPathSelectorBinKey: 307 result.BinKey = source.BinKey 308 } 309 case *Log_FieldPathMap: 310 switch tp.selector { 311 case Log_FieldPathSelectorLabels: 312 labelsMapKeys = append(labelsMapKeys, tp.key) 313 } 314 } 315 } 316 if wholeLabelsAccepted == false && len(labelsMapKeys) > 0 && source.GetLabels() != nil { 317 copiedMap := map[string]string{} 318 sourceMap := source.GetLabels() 319 for _, key := range labelsMapKeys { 320 copiedMap[key] = sourceMap[key] 321 } 322 result.Labels = copiedMap 323 } 324 return result 325 } 326 327 func (fieldMask *Log_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt { 328 return fieldMask.Project(source.(*Log)) 329 } 330 331 func (fieldMask *Log_FieldMask) PathsCount() int { 332 if fieldMask == nil { 333 return 0 334 } 335 return len(fieldMask.Paths) 336 }