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  }