github.com/cloudwan/edgelq-sdk@v1.15.4/audit/resources/v1/audited_resource_descriptor/audited_resource_descriptor.pb.fieldpath.go (about) 1 // Code generated by protoc-gen-goten-object 2 // File: edgelq/audit/proto/v1/audited_resource_descriptor.proto 3 // DO NOT EDIT!!! 4 5 package audited_resource_descriptor 6 7 import ( 8 "encoding/json" 9 "fmt" 10 "reflect" 11 "strings" 12 "time" 13 14 "google.golang.org/grpc/codes" 15 "google.golang.org/grpc/status" 16 "google.golang.org/protobuf/encoding/protojson" 17 "google.golang.org/protobuf/proto" 18 "google.golang.org/protobuf/reflect/protoregistry" 19 20 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 21 "github.com/cloudwan/goten-sdk/runtime/strcase" 22 ) 23 24 // proto imports 25 import ( 26 common "github.com/cloudwan/edgelq-sdk/audit/resources/v1/common" 27 meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service" 28 meta "github.com/cloudwan/goten-sdk/types/meta" 29 ) 30 31 // ensure the imports are used 32 var ( 33 _ = new(json.Marshaler) 34 _ = new(fmt.Stringer) 35 _ = reflect.DeepEqual 36 _ = strings.Builder{} 37 _ = time.Second 38 39 _ = strcase.ToLowerCamel 40 _ = codes.NotFound 41 _ = status.Status{} 42 _ = protojson.UnmarshalOptions{} 43 _ = new(proto.Message) 44 _ = protoregistry.GlobalTypes 45 46 _ = new(gotenobject.FieldPath) 47 ) 48 49 // make sure we're using proto imports 50 var ( 51 _ = &common.Authentication{} 52 _ = &meta_service.Service{} 53 _ = &meta.Meta{} 54 ) 55 56 // FieldPath provides implementation to handle 57 // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto 58 type AuditedResourceDescriptor_FieldPath interface { 59 gotenobject.FieldPath 60 Selector() AuditedResourceDescriptor_FieldPathSelector 61 Get(source *AuditedResourceDescriptor) []interface{} 62 GetSingle(source *AuditedResourceDescriptor) (interface{}, bool) 63 ClearValue(item *AuditedResourceDescriptor) 64 65 // Those methods build corresponding AuditedResourceDescriptor_FieldPathValue 66 // (or array of values) and holds passed value. Panics if injected type is incorrect. 67 WithIValue(value interface{}) AuditedResourceDescriptor_FieldPathValue 68 WithIArrayOfValues(values interface{}) AuditedResourceDescriptor_FieldPathArrayOfValues 69 WithIArrayItemValue(value interface{}) AuditedResourceDescriptor_FieldPathArrayItemValue 70 } 71 72 type AuditedResourceDescriptor_FieldPathSelector int32 73 74 const ( 75 AuditedResourceDescriptor_FieldPathSelectorName AuditedResourceDescriptor_FieldPathSelector = 0 76 AuditedResourceDescriptor_FieldPathSelectorDisplayName AuditedResourceDescriptor_FieldPathSelector = 1 77 AuditedResourceDescriptor_FieldPathSelectorDescription AuditedResourceDescriptor_FieldPathSelector = 2 78 AuditedResourceDescriptor_FieldPathSelectorLabels AuditedResourceDescriptor_FieldPathSelector = 3 79 AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets AuditedResourceDescriptor_FieldPathSelector = 4 80 AuditedResourceDescriptor_FieldPathSelectorVersions AuditedResourceDescriptor_FieldPathSelector = 5 81 AuditedResourceDescriptor_FieldPathSelectorSpecFields AuditedResourceDescriptor_FieldPathSelector = 6 82 AuditedResourceDescriptor_FieldPathSelectorStateFields AuditedResourceDescriptor_FieldPathSelector = 7 83 AuditedResourceDescriptor_FieldPathSelectorMetaFields AuditedResourceDescriptor_FieldPathSelector = 8 84 AuditedResourceDescriptor_FieldPathSelectorMetadata AuditedResourceDescriptor_FieldPathSelector = 9 85 ) 86 87 func (s AuditedResourceDescriptor_FieldPathSelector) String() string { 88 switch s { 89 case AuditedResourceDescriptor_FieldPathSelectorName: 90 return "name" 91 case AuditedResourceDescriptor_FieldPathSelectorDisplayName: 92 return "display_name" 93 case AuditedResourceDescriptor_FieldPathSelectorDescription: 94 return "description" 95 case AuditedResourceDescriptor_FieldPathSelectorLabels: 96 return "labels" 97 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 98 return "promoted_label_key_sets" 99 case AuditedResourceDescriptor_FieldPathSelectorVersions: 100 return "versions" 101 case AuditedResourceDescriptor_FieldPathSelectorSpecFields: 102 return "spec_fields" 103 case AuditedResourceDescriptor_FieldPathSelectorStateFields: 104 return "state_fields" 105 case AuditedResourceDescriptor_FieldPathSelectorMetaFields: 106 return "meta_fields" 107 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 108 return "metadata" 109 default: 110 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", s)) 111 } 112 } 113 114 func BuildAuditedResourceDescriptor_FieldPath(fp gotenobject.RawFieldPath) (AuditedResourceDescriptor_FieldPath, error) { 115 if len(fp) == 0 { 116 return nil, status.Error(codes.InvalidArgument, "empty field path for object AuditedResourceDescriptor") 117 } 118 if len(fp) == 1 { 119 switch fp[0] { 120 case "name": 121 return &AuditedResourceDescriptor_FieldTerminalPath{selector: AuditedResourceDescriptor_FieldPathSelectorName}, nil 122 case "display_name", "displayName", "display-name": 123 return &AuditedResourceDescriptor_FieldTerminalPath{selector: AuditedResourceDescriptor_FieldPathSelectorDisplayName}, nil 124 case "description": 125 return &AuditedResourceDescriptor_FieldTerminalPath{selector: AuditedResourceDescriptor_FieldPathSelectorDescription}, nil 126 case "labels": 127 return &AuditedResourceDescriptor_FieldTerminalPath{selector: AuditedResourceDescriptor_FieldPathSelectorLabels}, nil 128 case "promoted_label_key_sets", "promotedLabelKeySets", "promoted-label-key-sets": 129 return &AuditedResourceDescriptor_FieldTerminalPath{selector: AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets}, nil 130 case "versions": 131 return &AuditedResourceDescriptor_FieldTerminalPath{selector: AuditedResourceDescriptor_FieldPathSelectorVersions}, nil 132 case "spec_fields", "specFields", "spec-fields": 133 return &AuditedResourceDescriptor_FieldTerminalPath{selector: AuditedResourceDescriptor_FieldPathSelectorSpecFields}, nil 134 case "state_fields", "stateFields", "state-fields": 135 return &AuditedResourceDescriptor_FieldTerminalPath{selector: AuditedResourceDescriptor_FieldPathSelectorStateFields}, nil 136 case "meta_fields", "metaFields", "meta-fields": 137 return &AuditedResourceDescriptor_FieldTerminalPath{selector: AuditedResourceDescriptor_FieldPathSelectorMetaFields}, nil 138 case "metadata": 139 return &AuditedResourceDescriptor_FieldTerminalPath{selector: AuditedResourceDescriptor_FieldPathSelectorMetadata}, nil 140 } 141 } else { 142 switch fp[0] { 143 case "labels": 144 if subpath, err := common.BuildLabelDescriptor_FieldPath(fp[1:]); err != nil { 145 return nil, err 146 } else { 147 return &AuditedResourceDescriptor_FieldSubPath{selector: AuditedResourceDescriptor_FieldPathSelectorLabels, subPath: subpath}, nil 148 } 149 case "promoted_label_key_sets", "promotedLabelKeySets", "promoted-label-key-sets": 150 if subpath, err := common.BuildLabelKeySet_FieldPath(fp[1:]); err != nil { 151 return nil, err 152 } else { 153 return &AuditedResourceDescriptor_FieldSubPath{selector: AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets, subPath: subpath}, nil 154 } 155 case "metadata": 156 if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil { 157 return nil, err 158 } else { 159 return &AuditedResourceDescriptor_FieldSubPath{selector: AuditedResourceDescriptor_FieldPathSelectorMetadata, subPath: subpath}, nil 160 } 161 } 162 } 163 return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object AuditedResourceDescriptor", fp) 164 } 165 166 func ParseAuditedResourceDescriptor_FieldPath(rawField string) (AuditedResourceDescriptor_FieldPath, error) { 167 fp, err := gotenobject.ParseRawFieldPath(rawField) 168 if err != nil { 169 return nil, err 170 } 171 return BuildAuditedResourceDescriptor_FieldPath(fp) 172 } 173 174 func MustParseAuditedResourceDescriptor_FieldPath(rawField string) AuditedResourceDescriptor_FieldPath { 175 fp, err := ParseAuditedResourceDescriptor_FieldPath(rawField) 176 if err != nil { 177 panic(err) 178 } 179 return fp 180 } 181 182 type AuditedResourceDescriptor_FieldTerminalPath struct { 183 selector AuditedResourceDescriptor_FieldPathSelector 184 } 185 186 var _ AuditedResourceDescriptor_FieldPath = (*AuditedResourceDescriptor_FieldTerminalPath)(nil) 187 188 func (fp *AuditedResourceDescriptor_FieldTerminalPath) Selector() AuditedResourceDescriptor_FieldPathSelector { 189 return fp.selector 190 } 191 192 // String returns path representation in proto convention 193 func (fp *AuditedResourceDescriptor_FieldTerminalPath) String() string { 194 return fp.selector.String() 195 } 196 197 // JSONString returns path representation is JSON convention 198 func (fp *AuditedResourceDescriptor_FieldTerminalPath) JSONString() string { 199 return strcase.ToLowerCamel(fp.String()) 200 } 201 202 // Get returns all values pointed by specific field from source AuditedResourceDescriptor 203 func (fp *AuditedResourceDescriptor_FieldTerminalPath) Get(source *AuditedResourceDescriptor) (values []interface{}) { 204 if source != nil { 205 switch fp.selector { 206 case AuditedResourceDescriptor_FieldPathSelectorName: 207 if source.Name != nil { 208 values = append(values, source.Name) 209 } 210 case AuditedResourceDescriptor_FieldPathSelectorDisplayName: 211 values = append(values, source.DisplayName) 212 case AuditedResourceDescriptor_FieldPathSelectorDescription: 213 values = append(values, source.Description) 214 case AuditedResourceDescriptor_FieldPathSelectorLabels: 215 for _, value := range source.GetLabels() { 216 values = append(values, value) 217 } 218 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 219 for _, value := range source.GetPromotedLabelKeySets() { 220 values = append(values, value) 221 } 222 case AuditedResourceDescriptor_FieldPathSelectorVersions: 223 for _, value := range source.GetVersions() { 224 values = append(values, value) 225 } 226 case AuditedResourceDescriptor_FieldPathSelectorSpecFields: 227 for _, value := range source.GetSpecFields() { 228 values = append(values, value) 229 } 230 case AuditedResourceDescriptor_FieldPathSelectorStateFields: 231 for _, value := range source.GetStateFields() { 232 values = append(values, value) 233 } 234 case AuditedResourceDescriptor_FieldPathSelectorMetaFields: 235 for _, value := range source.GetMetaFields() { 236 values = append(values, value) 237 } 238 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 239 if source.Metadata != nil { 240 values = append(values, source.Metadata) 241 } 242 default: 243 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fp.selector)) 244 } 245 } 246 return 247 } 248 249 func (fp *AuditedResourceDescriptor_FieldTerminalPath) GetRaw(source proto.Message) []interface{} { 250 return fp.Get(source.(*AuditedResourceDescriptor)) 251 } 252 253 // GetSingle returns value pointed by specific field of from source AuditedResourceDescriptor 254 func (fp *AuditedResourceDescriptor_FieldTerminalPath) GetSingle(source *AuditedResourceDescriptor) (interface{}, bool) { 255 switch fp.selector { 256 case AuditedResourceDescriptor_FieldPathSelectorName: 257 res := source.GetName() 258 return res, res != nil 259 case AuditedResourceDescriptor_FieldPathSelectorDisplayName: 260 return source.GetDisplayName(), source != nil 261 case AuditedResourceDescriptor_FieldPathSelectorDescription: 262 return source.GetDescription(), source != nil 263 case AuditedResourceDescriptor_FieldPathSelectorLabels: 264 res := source.GetLabels() 265 return res, res != nil 266 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 267 res := source.GetPromotedLabelKeySets() 268 return res, res != nil 269 case AuditedResourceDescriptor_FieldPathSelectorVersions: 270 res := source.GetVersions() 271 return res, res != nil 272 case AuditedResourceDescriptor_FieldPathSelectorSpecFields: 273 res := source.GetSpecFields() 274 return res, res != nil 275 case AuditedResourceDescriptor_FieldPathSelectorStateFields: 276 res := source.GetStateFields() 277 return res, res != nil 278 case AuditedResourceDescriptor_FieldPathSelectorMetaFields: 279 res := source.GetMetaFields() 280 return res, res != nil 281 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 282 res := source.GetMetadata() 283 return res, res != nil 284 default: 285 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fp.selector)) 286 } 287 } 288 289 func (fp *AuditedResourceDescriptor_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 290 return fp.GetSingle(source.(*AuditedResourceDescriptor)) 291 } 292 293 // GetDefault returns a default value of the field type 294 func (fp *AuditedResourceDescriptor_FieldTerminalPath) GetDefault() interface{} { 295 switch fp.selector { 296 case AuditedResourceDescriptor_FieldPathSelectorName: 297 return (*Name)(nil) 298 case AuditedResourceDescriptor_FieldPathSelectorDisplayName: 299 return "" 300 case AuditedResourceDescriptor_FieldPathSelectorDescription: 301 return "" 302 case AuditedResourceDescriptor_FieldPathSelectorLabels: 303 return ([]*common.LabelDescriptor)(nil) 304 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 305 return ([]*common.LabelKeySet)(nil) 306 case AuditedResourceDescriptor_FieldPathSelectorVersions: 307 return ([]string)(nil) 308 case AuditedResourceDescriptor_FieldPathSelectorSpecFields: 309 return ([]string)(nil) 310 case AuditedResourceDescriptor_FieldPathSelectorStateFields: 311 return ([]string)(nil) 312 case AuditedResourceDescriptor_FieldPathSelectorMetaFields: 313 return ([]string)(nil) 314 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 315 return (*meta.Meta)(nil) 316 default: 317 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fp.selector)) 318 } 319 } 320 321 func (fp *AuditedResourceDescriptor_FieldTerminalPath) ClearValue(item *AuditedResourceDescriptor) { 322 if item != nil { 323 switch fp.selector { 324 case AuditedResourceDescriptor_FieldPathSelectorName: 325 item.Name = nil 326 case AuditedResourceDescriptor_FieldPathSelectorDisplayName: 327 item.DisplayName = "" 328 case AuditedResourceDescriptor_FieldPathSelectorDescription: 329 item.Description = "" 330 case AuditedResourceDescriptor_FieldPathSelectorLabels: 331 item.Labels = nil 332 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 333 item.PromotedLabelKeySets = nil 334 case AuditedResourceDescriptor_FieldPathSelectorVersions: 335 item.Versions = nil 336 case AuditedResourceDescriptor_FieldPathSelectorSpecFields: 337 item.SpecFields = nil 338 case AuditedResourceDescriptor_FieldPathSelectorStateFields: 339 item.StateFields = nil 340 case AuditedResourceDescriptor_FieldPathSelectorMetaFields: 341 item.MetaFields = nil 342 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 343 item.Metadata = nil 344 default: 345 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fp.selector)) 346 } 347 } 348 } 349 350 func (fp *AuditedResourceDescriptor_FieldTerminalPath) ClearValueRaw(item proto.Message) { 351 fp.ClearValue(item.(*AuditedResourceDescriptor)) 352 } 353 354 // IsLeaf - whether field path is holds simple value 355 func (fp *AuditedResourceDescriptor_FieldTerminalPath) IsLeaf() bool { 356 return fp.selector == AuditedResourceDescriptor_FieldPathSelectorName || 357 fp.selector == AuditedResourceDescriptor_FieldPathSelectorDisplayName || 358 fp.selector == AuditedResourceDescriptor_FieldPathSelectorDescription || 359 fp.selector == AuditedResourceDescriptor_FieldPathSelectorVersions || 360 fp.selector == AuditedResourceDescriptor_FieldPathSelectorSpecFields || 361 fp.selector == AuditedResourceDescriptor_FieldPathSelectorStateFields || 362 fp.selector == AuditedResourceDescriptor_FieldPathSelectorMetaFields 363 } 364 365 func (fp *AuditedResourceDescriptor_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 366 return []gotenobject.FieldPath{fp} 367 } 368 369 func (fp *AuditedResourceDescriptor_FieldTerminalPath) WithIValue(value interface{}) AuditedResourceDescriptor_FieldPathValue { 370 switch fp.selector { 371 case AuditedResourceDescriptor_FieldPathSelectorName: 372 return &AuditedResourceDescriptor_FieldTerminalPathValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.(*Name)} 373 case AuditedResourceDescriptor_FieldPathSelectorDisplayName: 374 return &AuditedResourceDescriptor_FieldTerminalPathValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.(string)} 375 case AuditedResourceDescriptor_FieldPathSelectorDescription: 376 return &AuditedResourceDescriptor_FieldTerminalPathValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.(string)} 377 case AuditedResourceDescriptor_FieldPathSelectorLabels: 378 return &AuditedResourceDescriptor_FieldTerminalPathValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.([]*common.LabelDescriptor)} 379 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 380 return &AuditedResourceDescriptor_FieldTerminalPathValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.([]*common.LabelKeySet)} 381 case AuditedResourceDescriptor_FieldPathSelectorVersions: 382 return &AuditedResourceDescriptor_FieldTerminalPathValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.([]string)} 383 case AuditedResourceDescriptor_FieldPathSelectorSpecFields: 384 return &AuditedResourceDescriptor_FieldTerminalPathValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.([]string)} 385 case AuditedResourceDescriptor_FieldPathSelectorStateFields: 386 return &AuditedResourceDescriptor_FieldTerminalPathValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.([]string)} 387 case AuditedResourceDescriptor_FieldPathSelectorMetaFields: 388 return &AuditedResourceDescriptor_FieldTerminalPathValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.([]string)} 389 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 390 return &AuditedResourceDescriptor_FieldTerminalPathValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.(*meta.Meta)} 391 default: 392 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fp.selector)) 393 } 394 } 395 396 func (fp *AuditedResourceDescriptor_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 397 return fp.WithIValue(value) 398 } 399 400 func (fp *AuditedResourceDescriptor_FieldTerminalPath) WithIArrayOfValues(values interface{}) AuditedResourceDescriptor_FieldPathArrayOfValues { 401 fpaov := &AuditedResourceDescriptor_FieldTerminalPathArrayOfValues{AuditedResourceDescriptor_FieldTerminalPath: *fp} 402 switch fp.selector { 403 case AuditedResourceDescriptor_FieldPathSelectorName: 404 return &AuditedResourceDescriptor_FieldTerminalPathArrayOfValues{AuditedResourceDescriptor_FieldTerminalPath: *fp, values: values.([]*Name)} 405 case AuditedResourceDescriptor_FieldPathSelectorDisplayName: 406 return &AuditedResourceDescriptor_FieldTerminalPathArrayOfValues{AuditedResourceDescriptor_FieldTerminalPath: *fp, values: values.([]string)} 407 case AuditedResourceDescriptor_FieldPathSelectorDescription: 408 return &AuditedResourceDescriptor_FieldTerminalPathArrayOfValues{AuditedResourceDescriptor_FieldTerminalPath: *fp, values: values.([]string)} 409 case AuditedResourceDescriptor_FieldPathSelectorLabels: 410 return &AuditedResourceDescriptor_FieldTerminalPathArrayOfValues{AuditedResourceDescriptor_FieldTerminalPath: *fp, values: values.([][]*common.LabelDescriptor)} 411 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 412 return &AuditedResourceDescriptor_FieldTerminalPathArrayOfValues{AuditedResourceDescriptor_FieldTerminalPath: *fp, values: values.([][]*common.LabelKeySet)} 413 case AuditedResourceDescriptor_FieldPathSelectorVersions: 414 return &AuditedResourceDescriptor_FieldTerminalPathArrayOfValues{AuditedResourceDescriptor_FieldTerminalPath: *fp, values: values.([][]string)} 415 case AuditedResourceDescriptor_FieldPathSelectorSpecFields: 416 return &AuditedResourceDescriptor_FieldTerminalPathArrayOfValues{AuditedResourceDescriptor_FieldTerminalPath: *fp, values: values.([][]string)} 417 case AuditedResourceDescriptor_FieldPathSelectorStateFields: 418 return &AuditedResourceDescriptor_FieldTerminalPathArrayOfValues{AuditedResourceDescriptor_FieldTerminalPath: *fp, values: values.([][]string)} 419 case AuditedResourceDescriptor_FieldPathSelectorMetaFields: 420 return &AuditedResourceDescriptor_FieldTerminalPathArrayOfValues{AuditedResourceDescriptor_FieldTerminalPath: *fp, values: values.([][]string)} 421 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 422 return &AuditedResourceDescriptor_FieldTerminalPathArrayOfValues{AuditedResourceDescriptor_FieldTerminalPath: *fp, values: values.([]*meta.Meta)} 423 default: 424 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fp.selector)) 425 } 426 return fpaov 427 } 428 429 func (fp *AuditedResourceDescriptor_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 430 return fp.WithIArrayOfValues(values) 431 } 432 433 func (fp *AuditedResourceDescriptor_FieldTerminalPath) WithIArrayItemValue(value interface{}) AuditedResourceDescriptor_FieldPathArrayItemValue { 434 switch fp.selector { 435 case AuditedResourceDescriptor_FieldPathSelectorLabels: 436 return &AuditedResourceDescriptor_FieldTerminalPathArrayItemValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.(*common.LabelDescriptor)} 437 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 438 return &AuditedResourceDescriptor_FieldTerminalPathArrayItemValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.(*common.LabelKeySet)} 439 case AuditedResourceDescriptor_FieldPathSelectorVersions: 440 return &AuditedResourceDescriptor_FieldTerminalPathArrayItemValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.(string)} 441 case AuditedResourceDescriptor_FieldPathSelectorSpecFields: 442 return &AuditedResourceDescriptor_FieldTerminalPathArrayItemValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.(string)} 443 case AuditedResourceDescriptor_FieldPathSelectorStateFields: 444 return &AuditedResourceDescriptor_FieldTerminalPathArrayItemValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.(string)} 445 case AuditedResourceDescriptor_FieldPathSelectorMetaFields: 446 return &AuditedResourceDescriptor_FieldTerminalPathArrayItemValue{AuditedResourceDescriptor_FieldTerminalPath: *fp, value: value.(string)} 447 default: 448 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fp.selector)) 449 } 450 } 451 452 func (fp *AuditedResourceDescriptor_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 453 return fp.WithIArrayItemValue(value) 454 } 455 456 type AuditedResourceDescriptor_FieldSubPath struct { 457 selector AuditedResourceDescriptor_FieldPathSelector 458 subPath gotenobject.FieldPath 459 } 460 461 var _ AuditedResourceDescriptor_FieldPath = (*AuditedResourceDescriptor_FieldSubPath)(nil) 462 463 func (fps *AuditedResourceDescriptor_FieldSubPath) Selector() AuditedResourceDescriptor_FieldPathSelector { 464 return fps.selector 465 } 466 func (fps *AuditedResourceDescriptor_FieldSubPath) AsLabelsSubPath() (common.LabelDescriptor_FieldPath, bool) { 467 res, ok := fps.subPath.(common.LabelDescriptor_FieldPath) 468 return res, ok 469 } 470 func (fps *AuditedResourceDescriptor_FieldSubPath) AsPromotedLabelKeySetsSubPath() (common.LabelKeySet_FieldPath, bool) { 471 res, ok := fps.subPath.(common.LabelKeySet_FieldPath) 472 return res, ok 473 } 474 func (fps *AuditedResourceDescriptor_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) { 475 res, ok := fps.subPath.(meta.Meta_FieldPath) 476 return res, ok 477 } 478 479 // String returns path representation in proto convention 480 func (fps *AuditedResourceDescriptor_FieldSubPath) String() string { 481 return fps.selector.String() + "." + fps.subPath.String() 482 } 483 484 // JSONString returns path representation is JSON convention 485 func (fps *AuditedResourceDescriptor_FieldSubPath) JSONString() string { 486 return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString() 487 } 488 489 // Get returns all values pointed by selected field from source AuditedResourceDescriptor 490 func (fps *AuditedResourceDescriptor_FieldSubPath) Get(source *AuditedResourceDescriptor) (values []interface{}) { 491 switch fps.selector { 492 case AuditedResourceDescriptor_FieldPathSelectorLabels: 493 for _, item := range source.GetLabels() { 494 values = append(values, fps.subPath.GetRaw(item)...) 495 } 496 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 497 for _, item := range source.GetPromotedLabelKeySets() { 498 values = append(values, fps.subPath.GetRaw(item)...) 499 } 500 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 501 values = append(values, fps.subPath.GetRaw(source.GetMetadata())...) 502 default: 503 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fps.selector)) 504 } 505 return 506 } 507 508 func (fps *AuditedResourceDescriptor_FieldSubPath) GetRaw(source proto.Message) []interface{} { 509 return fps.Get(source.(*AuditedResourceDescriptor)) 510 } 511 512 // GetSingle returns value of selected field from source AuditedResourceDescriptor 513 func (fps *AuditedResourceDescriptor_FieldSubPath) GetSingle(source *AuditedResourceDescriptor) (interface{}, bool) { 514 switch fps.selector { 515 case AuditedResourceDescriptor_FieldPathSelectorLabels: 516 if len(source.GetLabels()) == 0 { 517 return nil, false 518 } 519 return fps.subPath.GetSingleRaw(source.GetLabels()[0]) 520 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 521 if len(source.GetPromotedLabelKeySets()) == 0 { 522 return nil, false 523 } 524 return fps.subPath.GetSingleRaw(source.GetPromotedLabelKeySets()[0]) 525 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 526 if source.GetMetadata() == nil { 527 return nil, false 528 } 529 return fps.subPath.GetSingleRaw(source.GetMetadata()) 530 default: 531 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fps.selector)) 532 } 533 } 534 535 func (fps *AuditedResourceDescriptor_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) { 536 return fps.GetSingle(source.(*AuditedResourceDescriptor)) 537 } 538 539 // GetDefault returns a default value of the field type 540 func (fps *AuditedResourceDescriptor_FieldSubPath) GetDefault() interface{} { 541 return fps.subPath.GetDefault() 542 } 543 544 func (fps *AuditedResourceDescriptor_FieldSubPath) ClearValue(item *AuditedResourceDescriptor) { 545 if item != nil { 546 switch fps.selector { 547 case AuditedResourceDescriptor_FieldPathSelectorLabels: 548 for _, subItem := range item.Labels { 549 fps.subPath.ClearValueRaw(subItem) 550 } 551 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 552 for _, subItem := range item.PromotedLabelKeySets { 553 fps.subPath.ClearValueRaw(subItem) 554 } 555 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 556 fps.subPath.ClearValueRaw(item.Metadata) 557 default: 558 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fps.selector)) 559 } 560 } 561 } 562 563 func (fps *AuditedResourceDescriptor_FieldSubPath) ClearValueRaw(item proto.Message) { 564 fps.ClearValue(item.(*AuditedResourceDescriptor)) 565 } 566 567 // IsLeaf - whether field path is holds simple value 568 func (fps *AuditedResourceDescriptor_FieldSubPath) IsLeaf() bool { 569 return fps.subPath.IsLeaf() 570 } 571 572 func (fps *AuditedResourceDescriptor_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath { 573 iPaths := []gotenobject.FieldPath{&AuditedResourceDescriptor_FieldTerminalPath{selector: fps.selector}} 574 iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...) 575 return iPaths 576 } 577 578 func (fps *AuditedResourceDescriptor_FieldSubPath) WithIValue(value interface{}) AuditedResourceDescriptor_FieldPathValue { 579 return &AuditedResourceDescriptor_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)} 580 } 581 582 func (fps *AuditedResourceDescriptor_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue { 583 return fps.WithIValue(value) 584 } 585 586 func (fps *AuditedResourceDescriptor_FieldSubPath) WithIArrayOfValues(values interface{}) AuditedResourceDescriptor_FieldPathArrayOfValues { 587 return &AuditedResourceDescriptor_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)} 588 } 589 590 func (fps *AuditedResourceDescriptor_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues { 591 return fps.WithIArrayOfValues(values) 592 } 593 594 func (fps *AuditedResourceDescriptor_FieldSubPath) WithIArrayItemValue(value interface{}) AuditedResourceDescriptor_FieldPathArrayItemValue { 595 return &AuditedResourceDescriptor_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)} 596 } 597 598 func (fps *AuditedResourceDescriptor_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue { 599 return fps.WithIArrayItemValue(value) 600 } 601 602 // AuditedResourceDescriptor_FieldPathValue allows storing values for AuditedResourceDescriptor fields according to their type 603 type AuditedResourceDescriptor_FieldPathValue interface { 604 AuditedResourceDescriptor_FieldPath 605 gotenobject.FieldPathValue 606 SetTo(target **AuditedResourceDescriptor) 607 CompareWith(*AuditedResourceDescriptor) (cmp int, comparable bool) 608 } 609 610 func ParseAuditedResourceDescriptor_FieldPathValue(pathStr, valueStr string) (AuditedResourceDescriptor_FieldPathValue, error) { 611 fp, err := ParseAuditedResourceDescriptor_FieldPath(pathStr) 612 if err != nil { 613 return nil, err 614 } 615 fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr) 616 if err != nil { 617 return nil, status.Errorf(codes.InvalidArgument, "error parsing AuditedResourceDescriptor field path value from %s: %v", valueStr, err) 618 } 619 return fpv.(AuditedResourceDescriptor_FieldPathValue), nil 620 } 621 622 func MustParseAuditedResourceDescriptor_FieldPathValue(pathStr, valueStr string) AuditedResourceDescriptor_FieldPathValue { 623 fpv, err := ParseAuditedResourceDescriptor_FieldPathValue(pathStr, valueStr) 624 if err != nil { 625 panic(err) 626 } 627 return fpv 628 } 629 630 type AuditedResourceDescriptor_FieldTerminalPathValue struct { 631 AuditedResourceDescriptor_FieldTerminalPath 632 value interface{} 633 } 634 635 var _ AuditedResourceDescriptor_FieldPathValue = (*AuditedResourceDescriptor_FieldTerminalPathValue)(nil) 636 637 // GetRawValue returns raw value stored under selected path for 'AuditedResourceDescriptor' as interface{} 638 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) GetRawValue() interface{} { 639 return fpv.value 640 } 641 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) AsNameValue() (*Name, bool) { 642 res, ok := fpv.value.(*Name) 643 return res, ok 644 } 645 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) AsDisplayNameValue() (string, bool) { 646 res, ok := fpv.value.(string) 647 return res, ok 648 } 649 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) AsDescriptionValue() (string, bool) { 650 res, ok := fpv.value.(string) 651 return res, ok 652 } 653 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) AsLabelsValue() ([]*common.LabelDescriptor, bool) { 654 res, ok := fpv.value.([]*common.LabelDescriptor) 655 return res, ok 656 } 657 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) AsPromotedLabelKeySetsValue() ([]*common.LabelKeySet, bool) { 658 res, ok := fpv.value.([]*common.LabelKeySet) 659 return res, ok 660 } 661 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) AsVersionsValue() ([]string, bool) { 662 res, ok := fpv.value.([]string) 663 return res, ok 664 } 665 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) AsSpecFieldsValue() ([]string, bool) { 666 res, ok := fpv.value.([]string) 667 return res, ok 668 } 669 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) AsStateFieldsValue() ([]string, bool) { 670 res, ok := fpv.value.([]string) 671 return res, ok 672 } 673 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) AsMetaFieldsValue() ([]string, bool) { 674 res, ok := fpv.value.([]string) 675 return res, ok 676 } 677 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) { 678 res, ok := fpv.value.(*meta.Meta) 679 return res, ok 680 } 681 682 // SetTo stores value for selected field for object AuditedResourceDescriptor 683 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) SetTo(target **AuditedResourceDescriptor) { 684 if *target == nil { 685 *target = new(AuditedResourceDescriptor) 686 } 687 switch fpv.selector { 688 case AuditedResourceDescriptor_FieldPathSelectorName: 689 (*target).Name = fpv.value.(*Name) 690 case AuditedResourceDescriptor_FieldPathSelectorDisplayName: 691 (*target).DisplayName = fpv.value.(string) 692 case AuditedResourceDescriptor_FieldPathSelectorDescription: 693 (*target).Description = fpv.value.(string) 694 case AuditedResourceDescriptor_FieldPathSelectorLabels: 695 (*target).Labels = fpv.value.([]*common.LabelDescriptor) 696 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 697 (*target).PromotedLabelKeySets = fpv.value.([]*common.LabelKeySet) 698 case AuditedResourceDescriptor_FieldPathSelectorVersions: 699 (*target).Versions = fpv.value.([]string) 700 case AuditedResourceDescriptor_FieldPathSelectorSpecFields: 701 (*target).SpecFields = fpv.value.([]string) 702 case AuditedResourceDescriptor_FieldPathSelectorStateFields: 703 (*target).StateFields = fpv.value.([]string) 704 case AuditedResourceDescriptor_FieldPathSelectorMetaFields: 705 (*target).MetaFields = fpv.value.([]string) 706 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 707 (*target).Metadata = fpv.value.(*meta.Meta) 708 default: 709 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fpv.selector)) 710 } 711 } 712 713 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) SetToRaw(target proto.Message) { 714 typedObject := target.(*AuditedResourceDescriptor) 715 fpv.SetTo(&typedObject) 716 } 717 718 // CompareWith compares value in the 'AuditedResourceDescriptor_FieldTerminalPathValue' with the value under path in 'AuditedResourceDescriptor'. 719 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) CompareWith(source *AuditedResourceDescriptor) (int, bool) { 720 switch fpv.selector { 721 case AuditedResourceDescriptor_FieldPathSelectorName: 722 leftValue := fpv.value.(*Name) 723 rightValue := source.GetName() 724 if leftValue == nil { 725 if rightValue != nil { 726 return -1, true 727 } 728 return 0, true 729 } 730 if rightValue == nil { 731 return 1, true 732 } 733 if leftValue.String() == rightValue.String() { 734 return 0, true 735 } else if leftValue.String() < rightValue.String() { 736 return -1, true 737 } else { 738 return 1, true 739 } 740 case AuditedResourceDescriptor_FieldPathSelectorDisplayName: 741 leftValue := fpv.value.(string) 742 rightValue := source.GetDisplayName() 743 if (leftValue) == (rightValue) { 744 return 0, true 745 } else if (leftValue) < (rightValue) { 746 return -1, true 747 } else { 748 return 1, true 749 } 750 case AuditedResourceDescriptor_FieldPathSelectorDescription: 751 leftValue := fpv.value.(string) 752 rightValue := source.GetDescription() 753 if (leftValue) == (rightValue) { 754 return 0, true 755 } else if (leftValue) < (rightValue) { 756 return -1, true 757 } else { 758 return 1, true 759 } 760 case AuditedResourceDescriptor_FieldPathSelectorLabels: 761 return 0, false 762 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 763 return 0, false 764 case AuditedResourceDescriptor_FieldPathSelectorVersions: 765 return 0, false 766 case AuditedResourceDescriptor_FieldPathSelectorSpecFields: 767 return 0, false 768 case AuditedResourceDescriptor_FieldPathSelectorStateFields: 769 return 0, false 770 case AuditedResourceDescriptor_FieldPathSelectorMetaFields: 771 return 0, false 772 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 773 return 0, false 774 default: 775 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fpv.selector)) 776 } 777 } 778 779 func (fpv *AuditedResourceDescriptor_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) { 780 return fpv.CompareWith(source.(*AuditedResourceDescriptor)) 781 } 782 783 type AuditedResourceDescriptor_FieldSubPathValue struct { 784 AuditedResourceDescriptor_FieldPath 785 subPathValue gotenobject.FieldPathValue 786 } 787 788 var _ AuditedResourceDescriptor_FieldPathValue = (*AuditedResourceDescriptor_FieldSubPathValue)(nil) 789 790 func (fpvs *AuditedResourceDescriptor_FieldSubPathValue) AsLabelsPathValue() (common.LabelDescriptor_FieldPathValue, bool) { 791 res, ok := fpvs.subPathValue.(common.LabelDescriptor_FieldPathValue) 792 return res, ok 793 } 794 func (fpvs *AuditedResourceDescriptor_FieldSubPathValue) AsPromotedLabelKeySetsPathValue() (common.LabelKeySet_FieldPathValue, bool) { 795 res, ok := fpvs.subPathValue.(common.LabelKeySet_FieldPathValue) 796 return res, ok 797 } 798 func (fpvs *AuditedResourceDescriptor_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) { 799 res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue) 800 return res, ok 801 } 802 803 func (fpvs *AuditedResourceDescriptor_FieldSubPathValue) SetTo(target **AuditedResourceDescriptor) { 804 if *target == nil { 805 *target = new(AuditedResourceDescriptor) 806 } 807 switch fpvs.Selector() { 808 case AuditedResourceDescriptor_FieldPathSelectorLabels: 809 panic("FieldPath setter is unsupported for array subpaths") 810 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 811 panic("FieldPath setter is unsupported for array subpaths") 812 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 813 fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata) 814 default: 815 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fpvs.Selector())) 816 } 817 } 818 819 func (fpvs *AuditedResourceDescriptor_FieldSubPathValue) SetToRaw(target proto.Message) { 820 typedObject := target.(*AuditedResourceDescriptor) 821 fpvs.SetTo(&typedObject) 822 } 823 824 func (fpvs *AuditedResourceDescriptor_FieldSubPathValue) GetRawValue() interface{} { 825 return fpvs.subPathValue.GetRawValue() 826 } 827 828 func (fpvs *AuditedResourceDescriptor_FieldSubPathValue) CompareWith(source *AuditedResourceDescriptor) (int, bool) { 829 switch fpvs.Selector() { 830 case AuditedResourceDescriptor_FieldPathSelectorLabels: 831 return 0, false // repeated field 832 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 833 return 0, false // repeated field 834 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 835 return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata()) 836 default: 837 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fpvs.Selector())) 838 } 839 } 840 841 func (fpvs *AuditedResourceDescriptor_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) { 842 return fpvs.CompareWith(source.(*AuditedResourceDescriptor)) 843 } 844 845 // AuditedResourceDescriptor_FieldPathArrayItemValue allows storing single item in Path-specific values for AuditedResourceDescriptor according to their type 846 // Present only for array (repeated) types. 847 type AuditedResourceDescriptor_FieldPathArrayItemValue interface { 848 gotenobject.FieldPathArrayItemValue 849 AuditedResourceDescriptor_FieldPath 850 ContainsValue(*AuditedResourceDescriptor) bool 851 } 852 853 // ParseAuditedResourceDescriptor_FieldPathArrayItemValue parses string and JSON-encoded value to its Value 854 func ParseAuditedResourceDescriptor_FieldPathArrayItemValue(pathStr, valueStr string) (AuditedResourceDescriptor_FieldPathArrayItemValue, error) { 855 fp, err := ParseAuditedResourceDescriptor_FieldPath(pathStr) 856 if err != nil { 857 return nil, err 858 } 859 fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr) 860 if err != nil { 861 return nil, status.Errorf(codes.InvalidArgument, "error parsing AuditedResourceDescriptor field path array item value from %s: %v", valueStr, err) 862 } 863 return fpaiv.(AuditedResourceDescriptor_FieldPathArrayItemValue), nil 864 } 865 866 func MustParseAuditedResourceDescriptor_FieldPathArrayItemValue(pathStr, valueStr string) AuditedResourceDescriptor_FieldPathArrayItemValue { 867 fpaiv, err := ParseAuditedResourceDescriptor_FieldPathArrayItemValue(pathStr, valueStr) 868 if err != nil { 869 panic(err) 870 } 871 return fpaiv 872 } 873 874 type AuditedResourceDescriptor_FieldTerminalPathArrayItemValue struct { 875 AuditedResourceDescriptor_FieldTerminalPath 876 value interface{} 877 } 878 879 var _ AuditedResourceDescriptor_FieldPathArrayItemValue = (*AuditedResourceDescriptor_FieldTerminalPathArrayItemValue)(nil) 880 881 // GetRawValue returns stored element value for array in object AuditedResourceDescriptor as interface{} 882 func (fpaiv *AuditedResourceDescriptor_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} { 883 return fpaiv.value 884 } 885 func (fpaiv *AuditedResourceDescriptor_FieldTerminalPathArrayItemValue) AsLabelsItemValue() (*common.LabelDescriptor, bool) { 886 res, ok := fpaiv.value.(*common.LabelDescriptor) 887 return res, ok 888 } 889 func (fpaiv *AuditedResourceDescriptor_FieldTerminalPathArrayItemValue) AsPromotedLabelKeySetsItemValue() (*common.LabelKeySet, bool) { 890 res, ok := fpaiv.value.(*common.LabelKeySet) 891 return res, ok 892 } 893 func (fpaiv *AuditedResourceDescriptor_FieldTerminalPathArrayItemValue) AsVersionsItemValue() (string, bool) { 894 res, ok := fpaiv.value.(string) 895 return res, ok 896 } 897 func (fpaiv *AuditedResourceDescriptor_FieldTerminalPathArrayItemValue) AsSpecFieldsItemValue() (string, bool) { 898 res, ok := fpaiv.value.(string) 899 return res, ok 900 } 901 func (fpaiv *AuditedResourceDescriptor_FieldTerminalPathArrayItemValue) AsStateFieldsItemValue() (string, bool) { 902 res, ok := fpaiv.value.(string) 903 return res, ok 904 } 905 func (fpaiv *AuditedResourceDescriptor_FieldTerminalPathArrayItemValue) AsMetaFieldsItemValue() (string, bool) { 906 res, ok := fpaiv.value.(string) 907 return res, ok 908 } 909 910 func (fpaiv *AuditedResourceDescriptor_FieldTerminalPathArrayItemValue) GetSingle(source *AuditedResourceDescriptor) (interface{}, bool) { 911 return nil, false 912 } 913 914 func (fpaiv *AuditedResourceDescriptor_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) { 915 return fpaiv.GetSingle(source.(*AuditedResourceDescriptor)) 916 } 917 918 // Contains returns a boolean indicating if value that is being held is present in given 'AuditedResourceDescriptor' 919 func (fpaiv *AuditedResourceDescriptor_FieldTerminalPathArrayItemValue) ContainsValue(source *AuditedResourceDescriptor) bool { 920 slice := fpaiv.AuditedResourceDescriptor_FieldTerminalPath.Get(source) 921 for _, v := range slice { 922 if asProtoMsg, ok := fpaiv.value.(proto.Message); ok { 923 if proto.Equal(asProtoMsg, v.(proto.Message)) { 924 return true 925 } 926 } else if reflect.DeepEqual(v, fpaiv.value) { 927 return true 928 } 929 } 930 return false 931 } 932 933 type AuditedResourceDescriptor_FieldSubPathArrayItemValue struct { 934 AuditedResourceDescriptor_FieldPath 935 subPathItemValue gotenobject.FieldPathArrayItemValue 936 } 937 938 // GetRawValue returns stored array item value 939 func (fpaivs *AuditedResourceDescriptor_FieldSubPathArrayItemValue) GetRawItemValue() interface{} { 940 return fpaivs.subPathItemValue.GetRawItemValue() 941 } 942 func (fpaivs *AuditedResourceDescriptor_FieldSubPathArrayItemValue) AsLabelsPathItemValue() (common.LabelDescriptor_FieldPathArrayItemValue, bool) { 943 res, ok := fpaivs.subPathItemValue.(common.LabelDescriptor_FieldPathArrayItemValue) 944 return res, ok 945 } 946 func (fpaivs *AuditedResourceDescriptor_FieldSubPathArrayItemValue) AsPromotedLabelKeySetsPathItemValue() (common.LabelKeySet_FieldPathArrayItemValue, bool) { 947 res, ok := fpaivs.subPathItemValue.(common.LabelKeySet_FieldPathArrayItemValue) 948 return res, ok 949 } 950 func (fpaivs *AuditedResourceDescriptor_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) { 951 res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue) 952 return res, ok 953 } 954 955 // Contains returns a boolean indicating if value that is being held is present in given 'AuditedResourceDescriptor' 956 func (fpaivs *AuditedResourceDescriptor_FieldSubPathArrayItemValue) ContainsValue(source *AuditedResourceDescriptor) bool { 957 switch fpaivs.Selector() { 958 case AuditedResourceDescriptor_FieldPathSelectorLabels: 959 return false // repeated/map field 960 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 961 return false // repeated/map field 962 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 963 return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata()) 964 default: 965 panic(fmt.Sprintf("Invalid selector for AuditedResourceDescriptor: %d", fpaivs.Selector())) 966 } 967 } 968 969 // AuditedResourceDescriptor_FieldPathArrayOfValues allows storing slice of values for AuditedResourceDescriptor fields according to their type 970 type AuditedResourceDescriptor_FieldPathArrayOfValues interface { 971 gotenobject.FieldPathArrayOfValues 972 AuditedResourceDescriptor_FieldPath 973 } 974 975 func ParseAuditedResourceDescriptor_FieldPathArrayOfValues(pathStr, valuesStr string) (AuditedResourceDescriptor_FieldPathArrayOfValues, error) { 976 fp, err := ParseAuditedResourceDescriptor_FieldPath(pathStr) 977 if err != nil { 978 return nil, err 979 } 980 fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr) 981 if err != nil { 982 return nil, status.Errorf(codes.InvalidArgument, "error parsing AuditedResourceDescriptor field path array of values from %s: %v", valuesStr, err) 983 } 984 return fpaov.(AuditedResourceDescriptor_FieldPathArrayOfValues), nil 985 } 986 987 func MustParseAuditedResourceDescriptor_FieldPathArrayOfValues(pathStr, valuesStr string) AuditedResourceDescriptor_FieldPathArrayOfValues { 988 fpaov, err := ParseAuditedResourceDescriptor_FieldPathArrayOfValues(pathStr, valuesStr) 989 if err != nil { 990 panic(err) 991 } 992 return fpaov 993 } 994 995 type AuditedResourceDescriptor_FieldTerminalPathArrayOfValues struct { 996 AuditedResourceDescriptor_FieldTerminalPath 997 values interface{} 998 } 999 1000 var _ AuditedResourceDescriptor_FieldPathArrayOfValues = (*AuditedResourceDescriptor_FieldTerminalPathArrayOfValues)(nil) 1001 1002 func (fpaov *AuditedResourceDescriptor_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) { 1003 switch fpaov.selector { 1004 case AuditedResourceDescriptor_FieldPathSelectorName: 1005 for _, v := range fpaov.values.([]*Name) { 1006 values = append(values, v) 1007 } 1008 case AuditedResourceDescriptor_FieldPathSelectorDisplayName: 1009 for _, v := range fpaov.values.([]string) { 1010 values = append(values, v) 1011 } 1012 case AuditedResourceDescriptor_FieldPathSelectorDescription: 1013 for _, v := range fpaov.values.([]string) { 1014 values = append(values, v) 1015 } 1016 case AuditedResourceDescriptor_FieldPathSelectorLabels: 1017 for _, v := range fpaov.values.([][]*common.LabelDescriptor) { 1018 values = append(values, v) 1019 } 1020 case AuditedResourceDescriptor_FieldPathSelectorPromotedLabelKeySets: 1021 for _, v := range fpaov.values.([][]*common.LabelKeySet) { 1022 values = append(values, v) 1023 } 1024 case AuditedResourceDescriptor_FieldPathSelectorVersions: 1025 for _, v := range fpaov.values.([][]string) { 1026 values = append(values, v) 1027 } 1028 case AuditedResourceDescriptor_FieldPathSelectorSpecFields: 1029 for _, v := range fpaov.values.([][]string) { 1030 values = append(values, v) 1031 } 1032 case AuditedResourceDescriptor_FieldPathSelectorStateFields: 1033 for _, v := range fpaov.values.([][]string) { 1034 values = append(values, v) 1035 } 1036 case AuditedResourceDescriptor_FieldPathSelectorMetaFields: 1037 for _, v := range fpaov.values.([][]string) { 1038 values = append(values, v) 1039 } 1040 case AuditedResourceDescriptor_FieldPathSelectorMetadata: 1041 for _, v := range fpaov.values.([]*meta.Meta) { 1042 values = append(values, v) 1043 } 1044 } 1045 return 1046 } 1047 func (fpaov *AuditedResourceDescriptor_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) { 1048 res, ok := fpaov.values.([]*Name) 1049 return res, ok 1050 } 1051 func (fpaov *AuditedResourceDescriptor_FieldTerminalPathArrayOfValues) AsDisplayNameArrayOfValues() ([]string, bool) { 1052 res, ok := fpaov.values.([]string) 1053 return res, ok 1054 } 1055 func (fpaov *AuditedResourceDescriptor_FieldTerminalPathArrayOfValues) AsDescriptionArrayOfValues() ([]string, bool) { 1056 res, ok := fpaov.values.([]string) 1057 return res, ok 1058 } 1059 func (fpaov *AuditedResourceDescriptor_FieldTerminalPathArrayOfValues) AsLabelsArrayOfValues() ([][]*common.LabelDescriptor, bool) { 1060 res, ok := fpaov.values.([][]*common.LabelDescriptor) 1061 return res, ok 1062 } 1063 func (fpaov *AuditedResourceDescriptor_FieldTerminalPathArrayOfValues) AsPromotedLabelKeySetsArrayOfValues() ([][]*common.LabelKeySet, bool) { 1064 res, ok := fpaov.values.([][]*common.LabelKeySet) 1065 return res, ok 1066 } 1067 func (fpaov *AuditedResourceDescriptor_FieldTerminalPathArrayOfValues) AsVersionsArrayOfValues() ([][]string, bool) { 1068 res, ok := fpaov.values.([][]string) 1069 return res, ok 1070 } 1071 func (fpaov *AuditedResourceDescriptor_FieldTerminalPathArrayOfValues) AsSpecFieldsArrayOfValues() ([][]string, bool) { 1072 res, ok := fpaov.values.([][]string) 1073 return res, ok 1074 } 1075 func (fpaov *AuditedResourceDescriptor_FieldTerminalPathArrayOfValues) AsStateFieldsArrayOfValues() ([][]string, bool) { 1076 res, ok := fpaov.values.([][]string) 1077 return res, ok 1078 } 1079 func (fpaov *AuditedResourceDescriptor_FieldTerminalPathArrayOfValues) AsMetaFieldsArrayOfValues() ([][]string, bool) { 1080 res, ok := fpaov.values.([][]string) 1081 return res, ok 1082 } 1083 func (fpaov *AuditedResourceDescriptor_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) { 1084 res, ok := fpaov.values.([]*meta.Meta) 1085 return res, ok 1086 } 1087 1088 type AuditedResourceDescriptor_FieldSubPathArrayOfValues struct { 1089 AuditedResourceDescriptor_FieldPath 1090 subPathArrayOfValues gotenobject.FieldPathArrayOfValues 1091 } 1092 1093 var _ AuditedResourceDescriptor_FieldPathArrayOfValues = (*AuditedResourceDescriptor_FieldSubPathArrayOfValues)(nil) 1094 1095 func (fpsaov *AuditedResourceDescriptor_FieldSubPathArrayOfValues) GetRawValues() []interface{} { 1096 return fpsaov.subPathArrayOfValues.GetRawValues() 1097 } 1098 func (fpsaov *AuditedResourceDescriptor_FieldSubPathArrayOfValues) AsLabelsPathArrayOfValues() (common.LabelDescriptor_FieldPathArrayOfValues, bool) { 1099 res, ok := fpsaov.subPathArrayOfValues.(common.LabelDescriptor_FieldPathArrayOfValues) 1100 return res, ok 1101 } 1102 func (fpsaov *AuditedResourceDescriptor_FieldSubPathArrayOfValues) AsPromotedLabelKeySetsPathArrayOfValues() (common.LabelKeySet_FieldPathArrayOfValues, bool) { 1103 res, ok := fpsaov.subPathArrayOfValues.(common.LabelKeySet_FieldPathArrayOfValues) 1104 return res, ok 1105 } 1106 func (fpsaov *AuditedResourceDescriptor_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) { 1107 res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues) 1108 return res, ok 1109 }