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