github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1alpha2/service_account_key/service_account_key.pb.fieldpath.go (about)

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/iam/proto/v1alpha2/service_account_key.proto
     3  // DO NOT EDIT!!!
     4  
     5  package service_account_key
     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  	service_account "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/service_account"
    27  	meta "github.com/cloudwan/goten-sdk/types/meta"
    28  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    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  	_ = &service_account.ServiceAccount{}
    52  	_ = &timestamppb.Timestamp{}
    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 ServiceAccountKey_FieldPath interface {
    59  	gotenobject.FieldPath
    60  	Selector() ServiceAccountKey_FieldPathSelector
    61  	Get(source *ServiceAccountKey) []interface{}
    62  	GetSingle(source *ServiceAccountKey) (interface{}, bool)
    63  	ClearValue(item *ServiceAccountKey)
    64  
    65  	// Those methods build corresponding ServiceAccountKey_FieldPathValue
    66  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
    67  	WithIValue(value interface{}) ServiceAccountKey_FieldPathValue
    68  	WithIArrayOfValues(values interface{}) ServiceAccountKey_FieldPathArrayOfValues
    69  	WithIArrayItemValue(value interface{}) ServiceAccountKey_FieldPathArrayItemValue
    70  }
    71  
    72  type ServiceAccountKey_FieldPathSelector int32
    73  
    74  const (
    75  	ServiceAccountKey_FieldPathSelectorName           ServiceAccountKey_FieldPathSelector = 0
    76  	ServiceAccountKey_FieldPathSelectorDisplayName    ServiceAccountKey_FieldPathSelector = 1
    77  	ServiceAccountKey_FieldPathSelectorPublicKeyData  ServiceAccountKey_FieldPathSelector = 2
    78  	ServiceAccountKey_FieldPathSelectorPrivateKeyData ServiceAccountKey_FieldPathSelector = 3
    79  	ServiceAccountKey_FieldPathSelectorApiKey         ServiceAccountKey_FieldPathSelector = 4
    80  	ServiceAccountKey_FieldPathSelectorAlgorithm      ServiceAccountKey_FieldPathSelector = 5
    81  	ServiceAccountKey_FieldPathSelectorValidNotBefore ServiceAccountKey_FieldPathSelector = 6
    82  	ServiceAccountKey_FieldPathSelectorValidNotAfter  ServiceAccountKey_FieldPathSelector = 7
    83  	ServiceAccountKey_FieldPathSelectorMetadata       ServiceAccountKey_FieldPathSelector = 8
    84  )
    85  
    86  func (s ServiceAccountKey_FieldPathSelector) String() string {
    87  	switch s {
    88  	case ServiceAccountKey_FieldPathSelectorName:
    89  		return "name"
    90  	case ServiceAccountKey_FieldPathSelectorDisplayName:
    91  		return "display_name"
    92  	case ServiceAccountKey_FieldPathSelectorPublicKeyData:
    93  		return "public_key_data"
    94  	case ServiceAccountKey_FieldPathSelectorPrivateKeyData:
    95  		return "private_key_data"
    96  	case ServiceAccountKey_FieldPathSelectorApiKey:
    97  		return "api_key"
    98  	case ServiceAccountKey_FieldPathSelectorAlgorithm:
    99  		return "algorithm"
   100  	case ServiceAccountKey_FieldPathSelectorValidNotBefore:
   101  		return "valid_not_before"
   102  	case ServiceAccountKey_FieldPathSelectorValidNotAfter:
   103  		return "valid_not_after"
   104  	case ServiceAccountKey_FieldPathSelectorMetadata:
   105  		return "metadata"
   106  	default:
   107  		panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", s))
   108  	}
   109  }
   110  
   111  func BuildServiceAccountKey_FieldPath(fp gotenobject.RawFieldPath) (ServiceAccountKey_FieldPath, error) {
   112  	if len(fp) == 0 {
   113  		return nil, status.Error(codes.InvalidArgument, "empty field path for object ServiceAccountKey")
   114  	}
   115  	if len(fp) == 1 {
   116  		switch fp[0] {
   117  		case "name":
   118  			return &ServiceAccountKey_FieldTerminalPath{selector: ServiceAccountKey_FieldPathSelectorName}, nil
   119  		case "display_name", "displayName", "display-name":
   120  			return &ServiceAccountKey_FieldTerminalPath{selector: ServiceAccountKey_FieldPathSelectorDisplayName}, nil
   121  		case "public_key_data", "publicKeyData", "public-key-data":
   122  			return &ServiceAccountKey_FieldTerminalPath{selector: ServiceAccountKey_FieldPathSelectorPublicKeyData}, nil
   123  		case "private_key_data", "privateKeyData", "private-key-data":
   124  			return &ServiceAccountKey_FieldTerminalPath{selector: ServiceAccountKey_FieldPathSelectorPrivateKeyData}, nil
   125  		case "api_key", "apiKey", "api-key":
   126  			return &ServiceAccountKey_FieldTerminalPath{selector: ServiceAccountKey_FieldPathSelectorApiKey}, nil
   127  		case "algorithm":
   128  			return &ServiceAccountKey_FieldTerminalPath{selector: ServiceAccountKey_FieldPathSelectorAlgorithm}, nil
   129  		case "valid_not_before", "validNotBefore", "valid-not-before":
   130  			return &ServiceAccountKey_FieldTerminalPath{selector: ServiceAccountKey_FieldPathSelectorValidNotBefore}, nil
   131  		case "valid_not_after", "validNotAfter", "valid-not-after":
   132  			return &ServiceAccountKey_FieldTerminalPath{selector: ServiceAccountKey_FieldPathSelectorValidNotAfter}, nil
   133  		case "metadata":
   134  			return &ServiceAccountKey_FieldTerminalPath{selector: ServiceAccountKey_FieldPathSelectorMetadata}, nil
   135  		}
   136  	} else {
   137  		switch fp[0] {
   138  		case "metadata":
   139  			if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil {
   140  				return nil, err
   141  			} else {
   142  				return &ServiceAccountKey_FieldSubPath{selector: ServiceAccountKey_FieldPathSelectorMetadata, subPath: subpath}, nil
   143  			}
   144  		}
   145  	}
   146  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object ServiceAccountKey", fp)
   147  }
   148  
   149  func ParseServiceAccountKey_FieldPath(rawField string) (ServiceAccountKey_FieldPath, error) {
   150  	fp, err := gotenobject.ParseRawFieldPath(rawField)
   151  	if err != nil {
   152  		return nil, err
   153  	}
   154  	return BuildServiceAccountKey_FieldPath(fp)
   155  }
   156  
   157  func MustParseServiceAccountKey_FieldPath(rawField string) ServiceAccountKey_FieldPath {
   158  	fp, err := ParseServiceAccountKey_FieldPath(rawField)
   159  	if err != nil {
   160  		panic(err)
   161  	}
   162  	return fp
   163  }
   164  
   165  type ServiceAccountKey_FieldTerminalPath struct {
   166  	selector ServiceAccountKey_FieldPathSelector
   167  }
   168  
   169  var _ ServiceAccountKey_FieldPath = (*ServiceAccountKey_FieldTerminalPath)(nil)
   170  
   171  func (fp *ServiceAccountKey_FieldTerminalPath) Selector() ServiceAccountKey_FieldPathSelector {
   172  	return fp.selector
   173  }
   174  
   175  // String returns path representation in proto convention
   176  func (fp *ServiceAccountKey_FieldTerminalPath) String() string {
   177  	return fp.selector.String()
   178  }
   179  
   180  // JSONString returns path representation is JSON convention
   181  func (fp *ServiceAccountKey_FieldTerminalPath) JSONString() string {
   182  	return strcase.ToLowerCamel(fp.String())
   183  }
   184  
   185  // Get returns all values pointed by specific field from source ServiceAccountKey
   186  func (fp *ServiceAccountKey_FieldTerminalPath) Get(source *ServiceAccountKey) (values []interface{}) {
   187  	if source != nil {
   188  		switch fp.selector {
   189  		case ServiceAccountKey_FieldPathSelectorName:
   190  			if source.Name != nil {
   191  				values = append(values, source.Name)
   192  			}
   193  		case ServiceAccountKey_FieldPathSelectorDisplayName:
   194  			values = append(values, source.DisplayName)
   195  		case ServiceAccountKey_FieldPathSelectorPublicKeyData:
   196  			values = append(values, source.PublicKeyData)
   197  		case ServiceAccountKey_FieldPathSelectorPrivateKeyData:
   198  			values = append(values, source.PrivateKeyData)
   199  		case ServiceAccountKey_FieldPathSelectorApiKey:
   200  			values = append(values, source.ApiKey)
   201  		case ServiceAccountKey_FieldPathSelectorAlgorithm:
   202  			values = append(values, source.Algorithm)
   203  		case ServiceAccountKey_FieldPathSelectorValidNotBefore:
   204  			if source.ValidNotBefore != nil {
   205  				values = append(values, source.ValidNotBefore)
   206  			}
   207  		case ServiceAccountKey_FieldPathSelectorValidNotAfter:
   208  			if source.ValidNotAfter != nil {
   209  				values = append(values, source.ValidNotAfter)
   210  			}
   211  		case ServiceAccountKey_FieldPathSelectorMetadata:
   212  			if source.Metadata != nil {
   213  				values = append(values, source.Metadata)
   214  			}
   215  		default:
   216  			panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fp.selector))
   217  		}
   218  	}
   219  	return
   220  }
   221  
   222  func (fp *ServiceAccountKey_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
   223  	return fp.Get(source.(*ServiceAccountKey))
   224  }
   225  
   226  // GetSingle returns value pointed by specific field of from source ServiceAccountKey
   227  func (fp *ServiceAccountKey_FieldTerminalPath) GetSingle(source *ServiceAccountKey) (interface{}, bool) {
   228  	switch fp.selector {
   229  	case ServiceAccountKey_FieldPathSelectorName:
   230  		res := source.GetName()
   231  		return res, res != nil
   232  	case ServiceAccountKey_FieldPathSelectorDisplayName:
   233  		return source.GetDisplayName(), source != nil
   234  	case ServiceAccountKey_FieldPathSelectorPublicKeyData:
   235  		return source.GetPublicKeyData(), source != nil
   236  	case ServiceAccountKey_FieldPathSelectorPrivateKeyData:
   237  		return source.GetPrivateKeyData(), source != nil
   238  	case ServiceAccountKey_FieldPathSelectorApiKey:
   239  		return source.GetApiKey(), source != nil
   240  	case ServiceAccountKey_FieldPathSelectorAlgorithm:
   241  		return source.GetAlgorithm(), source != nil
   242  	case ServiceAccountKey_FieldPathSelectorValidNotBefore:
   243  		res := source.GetValidNotBefore()
   244  		return res, res != nil
   245  	case ServiceAccountKey_FieldPathSelectorValidNotAfter:
   246  		res := source.GetValidNotAfter()
   247  		return res, res != nil
   248  	case ServiceAccountKey_FieldPathSelectorMetadata:
   249  		res := source.GetMetadata()
   250  		return res, res != nil
   251  	default:
   252  		panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fp.selector))
   253  	}
   254  }
   255  
   256  func (fp *ServiceAccountKey_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   257  	return fp.GetSingle(source.(*ServiceAccountKey))
   258  }
   259  
   260  // GetDefault returns a default value of the field type
   261  func (fp *ServiceAccountKey_FieldTerminalPath) GetDefault() interface{} {
   262  	switch fp.selector {
   263  	case ServiceAccountKey_FieldPathSelectorName:
   264  		return (*Name)(nil)
   265  	case ServiceAccountKey_FieldPathSelectorDisplayName:
   266  		return ""
   267  	case ServiceAccountKey_FieldPathSelectorPublicKeyData:
   268  		return ""
   269  	case ServiceAccountKey_FieldPathSelectorPrivateKeyData:
   270  		return ""
   271  	case ServiceAccountKey_FieldPathSelectorApiKey:
   272  		return ""
   273  	case ServiceAccountKey_FieldPathSelectorAlgorithm:
   274  		return ServiceAccountKey_KEY_ALGORITHM_UNSPECIFIED
   275  	case ServiceAccountKey_FieldPathSelectorValidNotBefore:
   276  		return (*timestamppb.Timestamp)(nil)
   277  	case ServiceAccountKey_FieldPathSelectorValidNotAfter:
   278  		return (*timestamppb.Timestamp)(nil)
   279  	case ServiceAccountKey_FieldPathSelectorMetadata:
   280  		return (*meta.Meta)(nil)
   281  	default:
   282  		panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fp.selector))
   283  	}
   284  }
   285  
   286  func (fp *ServiceAccountKey_FieldTerminalPath) ClearValue(item *ServiceAccountKey) {
   287  	if item != nil {
   288  		switch fp.selector {
   289  		case ServiceAccountKey_FieldPathSelectorName:
   290  			item.Name = nil
   291  		case ServiceAccountKey_FieldPathSelectorDisplayName:
   292  			item.DisplayName = ""
   293  		case ServiceAccountKey_FieldPathSelectorPublicKeyData:
   294  			item.PublicKeyData = ""
   295  		case ServiceAccountKey_FieldPathSelectorPrivateKeyData:
   296  			item.PrivateKeyData = ""
   297  		case ServiceAccountKey_FieldPathSelectorApiKey:
   298  			item.ApiKey = ""
   299  		case ServiceAccountKey_FieldPathSelectorAlgorithm:
   300  			item.Algorithm = ServiceAccountKey_KEY_ALGORITHM_UNSPECIFIED
   301  		case ServiceAccountKey_FieldPathSelectorValidNotBefore:
   302  			item.ValidNotBefore = nil
   303  		case ServiceAccountKey_FieldPathSelectorValidNotAfter:
   304  			item.ValidNotAfter = nil
   305  		case ServiceAccountKey_FieldPathSelectorMetadata:
   306  			item.Metadata = nil
   307  		default:
   308  			panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fp.selector))
   309  		}
   310  	}
   311  }
   312  
   313  func (fp *ServiceAccountKey_FieldTerminalPath) ClearValueRaw(item proto.Message) {
   314  	fp.ClearValue(item.(*ServiceAccountKey))
   315  }
   316  
   317  // IsLeaf - whether field path is holds simple value
   318  func (fp *ServiceAccountKey_FieldTerminalPath) IsLeaf() bool {
   319  	return fp.selector == ServiceAccountKey_FieldPathSelectorName ||
   320  		fp.selector == ServiceAccountKey_FieldPathSelectorDisplayName ||
   321  		fp.selector == ServiceAccountKey_FieldPathSelectorPublicKeyData ||
   322  		fp.selector == ServiceAccountKey_FieldPathSelectorPrivateKeyData ||
   323  		fp.selector == ServiceAccountKey_FieldPathSelectorApiKey ||
   324  		fp.selector == ServiceAccountKey_FieldPathSelectorAlgorithm ||
   325  		fp.selector == ServiceAccountKey_FieldPathSelectorValidNotBefore ||
   326  		fp.selector == ServiceAccountKey_FieldPathSelectorValidNotAfter
   327  }
   328  
   329  func (fp *ServiceAccountKey_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   330  	return []gotenobject.FieldPath{fp}
   331  }
   332  
   333  func (fp *ServiceAccountKey_FieldTerminalPath) WithIValue(value interface{}) ServiceAccountKey_FieldPathValue {
   334  	switch fp.selector {
   335  	case ServiceAccountKey_FieldPathSelectorName:
   336  		return &ServiceAccountKey_FieldTerminalPathValue{ServiceAccountKey_FieldTerminalPath: *fp, value: value.(*Name)}
   337  	case ServiceAccountKey_FieldPathSelectorDisplayName:
   338  		return &ServiceAccountKey_FieldTerminalPathValue{ServiceAccountKey_FieldTerminalPath: *fp, value: value.(string)}
   339  	case ServiceAccountKey_FieldPathSelectorPublicKeyData:
   340  		return &ServiceAccountKey_FieldTerminalPathValue{ServiceAccountKey_FieldTerminalPath: *fp, value: value.(string)}
   341  	case ServiceAccountKey_FieldPathSelectorPrivateKeyData:
   342  		return &ServiceAccountKey_FieldTerminalPathValue{ServiceAccountKey_FieldTerminalPath: *fp, value: value.(string)}
   343  	case ServiceAccountKey_FieldPathSelectorApiKey:
   344  		return &ServiceAccountKey_FieldTerminalPathValue{ServiceAccountKey_FieldTerminalPath: *fp, value: value.(string)}
   345  	case ServiceAccountKey_FieldPathSelectorAlgorithm:
   346  		return &ServiceAccountKey_FieldTerminalPathValue{ServiceAccountKey_FieldTerminalPath: *fp, value: value.(ServiceAccountKey_Algorithm)}
   347  	case ServiceAccountKey_FieldPathSelectorValidNotBefore:
   348  		return &ServiceAccountKey_FieldTerminalPathValue{ServiceAccountKey_FieldTerminalPath: *fp, value: value.(*timestamppb.Timestamp)}
   349  	case ServiceAccountKey_FieldPathSelectorValidNotAfter:
   350  		return &ServiceAccountKey_FieldTerminalPathValue{ServiceAccountKey_FieldTerminalPath: *fp, value: value.(*timestamppb.Timestamp)}
   351  	case ServiceAccountKey_FieldPathSelectorMetadata:
   352  		return &ServiceAccountKey_FieldTerminalPathValue{ServiceAccountKey_FieldTerminalPath: *fp, value: value.(*meta.Meta)}
   353  	default:
   354  		panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fp.selector))
   355  	}
   356  }
   357  
   358  func (fp *ServiceAccountKey_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   359  	return fp.WithIValue(value)
   360  }
   361  
   362  func (fp *ServiceAccountKey_FieldTerminalPath) WithIArrayOfValues(values interface{}) ServiceAccountKey_FieldPathArrayOfValues {
   363  	fpaov := &ServiceAccountKey_FieldTerminalPathArrayOfValues{ServiceAccountKey_FieldTerminalPath: *fp}
   364  	switch fp.selector {
   365  	case ServiceAccountKey_FieldPathSelectorName:
   366  		return &ServiceAccountKey_FieldTerminalPathArrayOfValues{ServiceAccountKey_FieldTerminalPath: *fp, values: values.([]*Name)}
   367  	case ServiceAccountKey_FieldPathSelectorDisplayName:
   368  		return &ServiceAccountKey_FieldTerminalPathArrayOfValues{ServiceAccountKey_FieldTerminalPath: *fp, values: values.([]string)}
   369  	case ServiceAccountKey_FieldPathSelectorPublicKeyData:
   370  		return &ServiceAccountKey_FieldTerminalPathArrayOfValues{ServiceAccountKey_FieldTerminalPath: *fp, values: values.([]string)}
   371  	case ServiceAccountKey_FieldPathSelectorPrivateKeyData:
   372  		return &ServiceAccountKey_FieldTerminalPathArrayOfValues{ServiceAccountKey_FieldTerminalPath: *fp, values: values.([]string)}
   373  	case ServiceAccountKey_FieldPathSelectorApiKey:
   374  		return &ServiceAccountKey_FieldTerminalPathArrayOfValues{ServiceAccountKey_FieldTerminalPath: *fp, values: values.([]string)}
   375  	case ServiceAccountKey_FieldPathSelectorAlgorithm:
   376  		return &ServiceAccountKey_FieldTerminalPathArrayOfValues{ServiceAccountKey_FieldTerminalPath: *fp, values: values.([]ServiceAccountKey_Algorithm)}
   377  	case ServiceAccountKey_FieldPathSelectorValidNotBefore:
   378  		return &ServiceAccountKey_FieldTerminalPathArrayOfValues{ServiceAccountKey_FieldTerminalPath: *fp, values: values.([]*timestamppb.Timestamp)}
   379  	case ServiceAccountKey_FieldPathSelectorValidNotAfter:
   380  		return &ServiceAccountKey_FieldTerminalPathArrayOfValues{ServiceAccountKey_FieldTerminalPath: *fp, values: values.([]*timestamppb.Timestamp)}
   381  	case ServiceAccountKey_FieldPathSelectorMetadata:
   382  		return &ServiceAccountKey_FieldTerminalPathArrayOfValues{ServiceAccountKey_FieldTerminalPath: *fp, values: values.([]*meta.Meta)}
   383  	default:
   384  		panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fp.selector))
   385  	}
   386  	return fpaov
   387  }
   388  
   389  func (fp *ServiceAccountKey_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   390  	return fp.WithIArrayOfValues(values)
   391  }
   392  
   393  func (fp *ServiceAccountKey_FieldTerminalPath) WithIArrayItemValue(value interface{}) ServiceAccountKey_FieldPathArrayItemValue {
   394  	switch fp.selector {
   395  	default:
   396  		panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fp.selector))
   397  	}
   398  }
   399  
   400  func (fp *ServiceAccountKey_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   401  	return fp.WithIArrayItemValue(value)
   402  }
   403  
   404  type ServiceAccountKey_FieldSubPath struct {
   405  	selector ServiceAccountKey_FieldPathSelector
   406  	subPath  gotenobject.FieldPath
   407  }
   408  
   409  var _ ServiceAccountKey_FieldPath = (*ServiceAccountKey_FieldSubPath)(nil)
   410  
   411  func (fps *ServiceAccountKey_FieldSubPath) Selector() ServiceAccountKey_FieldPathSelector {
   412  	return fps.selector
   413  }
   414  func (fps *ServiceAccountKey_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) {
   415  	res, ok := fps.subPath.(meta.Meta_FieldPath)
   416  	return res, ok
   417  }
   418  
   419  // String returns path representation in proto convention
   420  func (fps *ServiceAccountKey_FieldSubPath) String() string {
   421  	return fps.selector.String() + "." + fps.subPath.String()
   422  }
   423  
   424  // JSONString returns path representation is JSON convention
   425  func (fps *ServiceAccountKey_FieldSubPath) JSONString() string {
   426  	return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString()
   427  }
   428  
   429  // Get returns all values pointed by selected field from source ServiceAccountKey
   430  func (fps *ServiceAccountKey_FieldSubPath) Get(source *ServiceAccountKey) (values []interface{}) {
   431  	switch fps.selector {
   432  	case ServiceAccountKey_FieldPathSelectorMetadata:
   433  		values = append(values, fps.subPath.GetRaw(source.GetMetadata())...)
   434  	default:
   435  		panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fps.selector))
   436  	}
   437  	return
   438  }
   439  
   440  func (fps *ServiceAccountKey_FieldSubPath) GetRaw(source proto.Message) []interface{} {
   441  	return fps.Get(source.(*ServiceAccountKey))
   442  }
   443  
   444  // GetSingle returns value of selected field from source ServiceAccountKey
   445  func (fps *ServiceAccountKey_FieldSubPath) GetSingle(source *ServiceAccountKey) (interface{}, bool) {
   446  	switch fps.selector {
   447  	case ServiceAccountKey_FieldPathSelectorMetadata:
   448  		if source.GetMetadata() == nil {
   449  			return nil, false
   450  		}
   451  		return fps.subPath.GetSingleRaw(source.GetMetadata())
   452  	default:
   453  		panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fps.selector))
   454  	}
   455  }
   456  
   457  func (fps *ServiceAccountKey_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   458  	return fps.GetSingle(source.(*ServiceAccountKey))
   459  }
   460  
   461  // GetDefault returns a default value of the field type
   462  func (fps *ServiceAccountKey_FieldSubPath) GetDefault() interface{} {
   463  	return fps.subPath.GetDefault()
   464  }
   465  
   466  func (fps *ServiceAccountKey_FieldSubPath) ClearValue(item *ServiceAccountKey) {
   467  	if item != nil {
   468  		switch fps.selector {
   469  		case ServiceAccountKey_FieldPathSelectorMetadata:
   470  			fps.subPath.ClearValueRaw(item.Metadata)
   471  		default:
   472  			panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fps.selector))
   473  		}
   474  	}
   475  }
   476  
   477  func (fps *ServiceAccountKey_FieldSubPath) ClearValueRaw(item proto.Message) {
   478  	fps.ClearValue(item.(*ServiceAccountKey))
   479  }
   480  
   481  // IsLeaf - whether field path is holds simple value
   482  func (fps *ServiceAccountKey_FieldSubPath) IsLeaf() bool {
   483  	return fps.subPath.IsLeaf()
   484  }
   485  
   486  func (fps *ServiceAccountKey_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   487  	iPaths := []gotenobject.FieldPath{&ServiceAccountKey_FieldTerminalPath{selector: fps.selector}}
   488  	iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...)
   489  	return iPaths
   490  }
   491  
   492  func (fps *ServiceAccountKey_FieldSubPath) WithIValue(value interface{}) ServiceAccountKey_FieldPathValue {
   493  	return &ServiceAccountKey_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)}
   494  }
   495  
   496  func (fps *ServiceAccountKey_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   497  	return fps.WithIValue(value)
   498  }
   499  
   500  func (fps *ServiceAccountKey_FieldSubPath) WithIArrayOfValues(values interface{}) ServiceAccountKey_FieldPathArrayOfValues {
   501  	return &ServiceAccountKey_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)}
   502  }
   503  
   504  func (fps *ServiceAccountKey_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   505  	return fps.WithIArrayOfValues(values)
   506  }
   507  
   508  func (fps *ServiceAccountKey_FieldSubPath) WithIArrayItemValue(value interface{}) ServiceAccountKey_FieldPathArrayItemValue {
   509  	return &ServiceAccountKey_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)}
   510  }
   511  
   512  func (fps *ServiceAccountKey_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   513  	return fps.WithIArrayItemValue(value)
   514  }
   515  
   516  // ServiceAccountKey_FieldPathValue allows storing values for ServiceAccountKey fields according to their type
   517  type ServiceAccountKey_FieldPathValue interface {
   518  	ServiceAccountKey_FieldPath
   519  	gotenobject.FieldPathValue
   520  	SetTo(target **ServiceAccountKey)
   521  	CompareWith(*ServiceAccountKey) (cmp int, comparable bool)
   522  }
   523  
   524  func ParseServiceAccountKey_FieldPathValue(pathStr, valueStr string) (ServiceAccountKey_FieldPathValue, error) {
   525  	fp, err := ParseServiceAccountKey_FieldPath(pathStr)
   526  	if err != nil {
   527  		return nil, err
   528  	}
   529  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
   530  	if err != nil {
   531  		return nil, status.Errorf(codes.InvalidArgument, "error parsing ServiceAccountKey field path value from %s: %v", valueStr, err)
   532  	}
   533  	return fpv.(ServiceAccountKey_FieldPathValue), nil
   534  }
   535  
   536  func MustParseServiceAccountKey_FieldPathValue(pathStr, valueStr string) ServiceAccountKey_FieldPathValue {
   537  	fpv, err := ParseServiceAccountKey_FieldPathValue(pathStr, valueStr)
   538  	if err != nil {
   539  		panic(err)
   540  	}
   541  	return fpv
   542  }
   543  
   544  type ServiceAccountKey_FieldTerminalPathValue struct {
   545  	ServiceAccountKey_FieldTerminalPath
   546  	value interface{}
   547  }
   548  
   549  var _ ServiceAccountKey_FieldPathValue = (*ServiceAccountKey_FieldTerminalPathValue)(nil)
   550  
   551  // GetRawValue returns raw value stored under selected path for 'ServiceAccountKey' as interface{}
   552  func (fpv *ServiceAccountKey_FieldTerminalPathValue) GetRawValue() interface{} {
   553  	return fpv.value
   554  }
   555  func (fpv *ServiceAccountKey_FieldTerminalPathValue) AsNameValue() (*Name, bool) {
   556  	res, ok := fpv.value.(*Name)
   557  	return res, ok
   558  }
   559  func (fpv *ServiceAccountKey_FieldTerminalPathValue) AsDisplayNameValue() (string, bool) {
   560  	res, ok := fpv.value.(string)
   561  	return res, ok
   562  }
   563  func (fpv *ServiceAccountKey_FieldTerminalPathValue) AsPublicKeyDataValue() (string, bool) {
   564  	res, ok := fpv.value.(string)
   565  	return res, ok
   566  }
   567  func (fpv *ServiceAccountKey_FieldTerminalPathValue) AsPrivateKeyDataValue() (string, bool) {
   568  	res, ok := fpv.value.(string)
   569  	return res, ok
   570  }
   571  func (fpv *ServiceAccountKey_FieldTerminalPathValue) AsApiKeyValue() (string, bool) {
   572  	res, ok := fpv.value.(string)
   573  	return res, ok
   574  }
   575  func (fpv *ServiceAccountKey_FieldTerminalPathValue) AsAlgorithmValue() (ServiceAccountKey_Algorithm, bool) {
   576  	res, ok := fpv.value.(ServiceAccountKey_Algorithm)
   577  	return res, ok
   578  }
   579  func (fpv *ServiceAccountKey_FieldTerminalPathValue) AsValidNotBeforeValue() (*timestamppb.Timestamp, bool) {
   580  	res, ok := fpv.value.(*timestamppb.Timestamp)
   581  	return res, ok
   582  }
   583  func (fpv *ServiceAccountKey_FieldTerminalPathValue) AsValidNotAfterValue() (*timestamppb.Timestamp, bool) {
   584  	res, ok := fpv.value.(*timestamppb.Timestamp)
   585  	return res, ok
   586  }
   587  func (fpv *ServiceAccountKey_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) {
   588  	res, ok := fpv.value.(*meta.Meta)
   589  	return res, ok
   590  }
   591  
   592  // SetTo stores value for selected field for object ServiceAccountKey
   593  func (fpv *ServiceAccountKey_FieldTerminalPathValue) SetTo(target **ServiceAccountKey) {
   594  	if *target == nil {
   595  		*target = new(ServiceAccountKey)
   596  	}
   597  	switch fpv.selector {
   598  	case ServiceAccountKey_FieldPathSelectorName:
   599  		(*target).Name = fpv.value.(*Name)
   600  	case ServiceAccountKey_FieldPathSelectorDisplayName:
   601  		(*target).DisplayName = fpv.value.(string)
   602  	case ServiceAccountKey_FieldPathSelectorPublicKeyData:
   603  		(*target).PublicKeyData = fpv.value.(string)
   604  	case ServiceAccountKey_FieldPathSelectorPrivateKeyData:
   605  		(*target).PrivateKeyData = fpv.value.(string)
   606  	case ServiceAccountKey_FieldPathSelectorApiKey:
   607  		(*target).ApiKey = fpv.value.(string)
   608  	case ServiceAccountKey_FieldPathSelectorAlgorithm:
   609  		(*target).Algorithm = fpv.value.(ServiceAccountKey_Algorithm)
   610  	case ServiceAccountKey_FieldPathSelectorValidNotBefore:
   611  		(*target).ValidNotBefore = fpv.value.(*timestamppb.Timestamp)
   612  	case ServiceAccountKey_FieldPathSelectorValidNotAfter:
   613  		(*target).ValidNotAfter = fpv.value.(*timestamppb.Timestamp)
   614  	case ServiceAccountKey_FieldPathSelectorMetadata:
   615  		(*target).Metadata = fpv.value.(*meta.Meta)
   616  	default:
   617  		panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fpv.selector))
   618  	}
   619  }
   620  
   621  func (fpv *ServiceAccountKey_FieldTerminalPathValue) SetToRaw(target proto.Message) {
   622  	typedObject := target.(*ServiceAccountKey)
   623  	fpv.SetTo(&typedObject)
   624  }
   625  
   626  // CompareWith compares value in the 'ServiceAccountKey_FieldTerminalPathValue' with the value under path in 'ServiceAccountKey'.
   627  func (fpv *ServiceAccountKey_FieldTerminalPathValue) CompareWith(source *ServiceAccountKey) (int, bool) {
   628  	switch fpv.selector {
   629  	case ServiceAccountKey_FieldPathSelectorName:
   630  		leftValue := fpv.value.(*Name)
   631  		rightValue := source.GetName()
   632  		if leftValue == nil {
   633  			if rightValue != nil {
   634  				return -1, true
   635  			}
   636  			return 0, true
   637  		}
   638  		if rightValue == nil {
   639  			return 1, true
   640  		}
   641  		if leftValue.String() == rightValue.String() {
   642  			return 0, true
   643  		} else if leftValue.String() < rightValue.String() {
   644  			return -1, true
   645  		} else {
   646  			return 1, true
   647  		}
   648  	case ServiceAccountKey_FieldPathSelectorDisplayName:
   649  		leftValue := fpv.value.(string)
   650  		rightValue := source.GetDisplayName()
   651  		if (leftValue) == (rightValue) {
   652  			return 0, true
   653  		} else if (leftValue) < (rightValue) {
   654  			return -1, true
   655  		} else {
   656  			return 1, true
   657  		}
   658  	case ServiceAccountKey_FieldPathSelectorPublicKeyData:
   659  		leftValue := fpv.value.(string)
   660  		rightValue := source.GetPublicKeyData()
   661  		if (leftValue) == (rightValue) {
   662  			return 0, true
   663  		} else if (leftValue) < (rightValue) {
   664  			return -1, true
   665  		} else {
   666  			return 1, true
   667  		}
   668  	case ServiceAccountKey_FieldPathSelectorPrivateKeyData:
   669  		leftValue := fpv.value.(string)
   670  		rightValue := source.GetPrivateKeyData()
   671  		if (leftValue) == (rightValue) {
   672  			return 0, true
   673  		} else if (leftValue) < (rightValue) {
   674  			return -1, true
   675  		} else {
   676  			return 1, true
   677  		}
   678  	case ServiceAccountKey_FieldPathSelectorApiKey:
   679  		leftValue := fpv.value.(string)
   680  		rightValue := source.GetApiKey()
   681  		if (leftValue) == (rightValue) {
   682  			return 0, true
   683  		} else if (leftValue) < (rightValue) {
   684  			return -1, true
   685  		} else {
   686  			return 1, true
   687  		}
   688  	case ServiceAccountKey_FieldPathSelectorAlgorithm:
   689  		leftValue := fpv.value.(ServiceAccountKey_Algorithm)
   690  		rightValue := source.GetAlgorithm()
   691  		if (leftValue) == (rightValue) {
   692  			return 0, true
   693  		} else if (leftValue) < (rightValue) {
   694  			return -1, true
   695  		} else {
   696  			return 1, true
   697  		}
   698  	case ServiceAccountKey_FieldPathSelectorValidNotBefore:
   699  		leftValue := fpv.value.(*timestamppb.Timestamp)
   700  		rightValue := source.GetValidNotBefore()
   701  		if leftValue == nil {
   702  			if rightValue != nil {
   703  				return -1, true
   704  			}
   705  			return 0, true
   706  		}
   707  		if rightValue == nil {
   708  			return 1, true
   709  		}
   710  		if leftValue.AsTime().Equal(rightValue.AsTime()) {
   711  			return 0, true
   712  		} else if leftValue.AsTime().Before(rightValue.AsTime()) {
   713  			return -1, true
   714  		} else {
   715  			return 1, true
   716  		}
   717  	case ServiceAccountKey_FieldPathSelectorValidNotAfter:
   718  		leftValue := fpv.value.(*timestamppb.Timestamp)
   719  		rightValue := source.GetValidNotAfter()
   720  		if leftValue == nil {
   721  			if rightValue != nil {
   722  				return -1, true
   723  			}
   724  			return 0, true
   725  		}
   726  		if rightValue == nil {
   727  			return 1, true
   728  		}
   729  		if leftValue.AsTime().Equal(rightValue.AsTime()) {
   730  			return 0, true
   731  		} else if leftValue.AsTime().Before(rightValue.AsTime()) {
   732  			return -1, true
   733  		} else {
   734  			return 1, true
   735  		}
   736  	case ServiceAccountKey_FieldPathSelectorMetadata:
   737  		return 0, false
   738  	default:
   739  		panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fpv.selector))
   740  	}
   741  }
   742  
   743  func (fpv *ServiceAccountKey_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   744  	return fpv.CompareWith(source.(*ServiceAccountKey))
   745  }
   746  
   747  type ServiceAccountKey_FieldSubPathValue struct {
   748  	ServiceAccountKey_FieldPath
   749  	subPathValue gotenobject.FieldPathValue
   750  }
   751  
   752  var _ ServiceAccountKey_FieldPathValue = (*ServiceAccountKey_FieldSubPathValue)(nil)
   753  
   754  func (fpvs *ServiceAccountKey_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) {
   755  	res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue)
   756  	return res, ok
   757  }
   758  
   759  func (fpvs *ServiceAccountKey_FieldSubPathValue) SetTo(target **ServiceAccountKey) {
   760  	if *target == nil {
   761  		*target = new(ServiceAccountKey)
   762  	}
   763  	switch fpvs.Selector() {
   764  	case ServiceAccountKey_FieldPathSelectorMetadata:
   765  		fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata)
   766  	default:
   767  		panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fpvs.Selector()))
   768  	}
   769  }
   770  
   771  func (fpvs *ServiceAccountKey_FieldSubPathValue) SetToRaw(target proto.Message) {
   772  	typedObject := target.(*ServiceAccountKey)
   773  	fpvs.SetTo(&typedObject)
   774  }
   775  
   776  func (fpvs *ServiceAccountKey_FieldSubPathValue) GetRawValue() interface{} {
   777  	return fpvs.subPathValue.GetRawValue()
   778  }
   779  
   780  func (fpvs *ServiceAccountKey_FieldSubPathValue) CompareWith(source *ServiceAccountKey) (int, bool) {
   781  	switch fpvs.Selector() {
   782  	case ServiceAccountKey_FieldPathSelectorMetadata:
   783  		return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata())
   784  	default:
   785  		panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fpvs.Selector()))
   786  	}
   787  }
   788  
   789  func (fpvs *ServiceAccountKey_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   790  	return fpvs.CompareWith(source.(*ServiceAccountKey))
   791  }
   792  
   793  // ServiceAccountKey_FieldPathArrayItemValue allows storing single item in Path-specific values for ServiceAccountKey according to their type
   794  // Present only for array (repeated) types.
   795  type ServiceAccountKey_FieldPathArrayItemValue interface {
   796  	gotenobject.FieldPathArrayItemValue
   797  	ServiceAccountKey_FieldPath
   798  	ContainsValue(*ServiceAccountKey) bool
   799  }
   800  
   801  // ParseServiceAccountKey_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
   802  func ParseServiceAccountKey_FieldPathArrayItemValue(pathStr, valueStr string) (ServiceAccountKey_FieldPathArrayItemValue, error) {
   803  	fp, err := ParseServiceAccountKey_FieldPath(pathStr)
   804  	if err != nil {
   805  		return nil, err
   806  	}
   807  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
   808  	if err != nil {
   809  		return nil, status.Errorf(codes.InvalidArgument, "error parsing ServiceAccountKey field path array item value from %s: %v", valueStr, err)
   810  	}
   811  	return fpaiv.(ServiceAccountKey_FieldPathArrayItemValue), nil
   812  }
   813  
   814  func MustParseServiceAccountKey_FieldPathArrayItemValue(pathStr, valueStr string) ServiceAccountKey_FieldPathArrayItemValue {
   815  	fpaiv, err := ParseServiceAccountKey_FieldPathArrayItemValue(pathStr, valueStr)
   816  	if err != nil {
   817  		panic(err)
   818  	}
   819  	return fpaiv
   820  }
   821  
   822  type ServiceAccountKey_FieldTerminalPathArrayItemValue struct {
   823  	ServiceAccountKey_FieldTerminalPath
   824  	value interface{}
   825  }
   826  
   827  var _ ServiceAccountKey_FieldPathArrayItemValue = (*ServiceAccountKey_FieldTerminalPathArrayItemValue)(nil)
   828  
   829  // GetRawValue returns stored element value for array in object ServiceAccountKey as interface{}
   830  func (fpaiv *ServiceAccountKey_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
   831  	return fpaiv.value
   832  }
   833  
   834  func (fpaiv *ServiceAccountKey_FieldTerminalPathArrayItemValue) GetSingle(source *ServiceAccountKey) (interface{}, bool) {
   835  	return nil, false
   836  }
   837  
   838  func (fpaiv *ServiceAccountKey_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
   839  	return fpaiv.GetSingle(source.(*ServiceAccountKey))
   840  }
   841  
   842  // Contains returns a boolean indicating if value that is being held is present in given 'ServiceAccountKey'
   843  func (fpaiv *ServiceAccountKey_FieldTerminalPathArrayItemValue) ContainsValue(source *ServiceAccountKey) bool {
   844  	slice := fpaiv.ServiceAccountKey_FieldTerminalPath.Get(source)
   845  	for _, v := range slice {
   846  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
   847  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
   848  				return true
   849  			}
   850  		} else if reflect.DeepEqual(v, fpaiv.value) {
   851  			return true
   852  		}
   853  	}
   854  	return false
   855  }
   856  
   857  type ServiceAccountKey_FieldSubPathArrayItemValue struct {
   858  	ServiceAccountKey_FieldPath
   859  	subPathItemValue gotenobject.FieldPathArrayItemValue
   860  }
   861  
   862  // GetRawValue returns stored array item value
   863  func (fpaivs *ServiceAccountKey_FieldSubPathArrayItemValue) GetRawItemValue() interface{} {
   864  	return fpaivs.subPathItemValue.GetRawItemValue()
   865  }
   866  func (fpaivs *ServiceAccountKey_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) {
   867  	res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue)
   868  	return res, ok
   869  }
   870  
   871  // Contains returns a boolean indicating if value that is being held is present in given 'ServiceAccountKey'
   872  func (fpaivs *ServiceAccountKey_FieldSubPathArrayItemValue) ContainsValue(source *ServiceAccountKey) bool {
   873  	switch fpaivs.Selector() {
   874  	case ServiceAccountKey_FieldPathSelectorMetadata:
   875  		return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata())
   876  	default:
   877  		panic(fmt.Sprintf("Invalid selector for ServiceAccountKey: %d", fpaivs.Selector()))
   878  	}
   879  }
   880  
   881  // ServiceAccountKey_FieldPathArrayOfValues allows storing slice of values for ServiceAccountKey fields according to their type
   882  type ServiceAccountKey_FieldPathArrayOfValues interface {
   883  	gotenobject.FieldPathArrayOfValues
   884  	ServiceAccountKey_FieldPath
   885  }
   886  
   887  func ParseServiceAccountKey_FieldPathArrayOfValues(pathStr, valuesStr string) (ServiceAccountKey_FieldPathArrayOfValues, error) {
   888  	fp, err := ParseServiceAccountKey_FieldPath(pathStr)
   889  	if err != nil {
   890  		return nil, err
   891  	}
   892  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
   893  	if err != nil {
   894  		return nil, status.Errorf(codes.InvalidArgument, "error parsing ServiceAccountKey field path array of values from %s: %v", valuesStr, err)
   895  	}
   896  	return fpaov.(ServiceAccountKey_FieldPathArrayOfValues), nil
   897  }
   898  
   899  func MustParseServiceAccountKey_FieldPathArrayOfValues(pathStr, valuesStr string) ServiceAccountKey_FieldPathArrayOfValues {
   900  	fpaov, err := ParseServiceAccountKey_FieldPathArrayOfValues(pathStr, valuesStr)
   901  	if err != nil {
   902  		panic(err)
   903  	}
   904  	return fpaov
   905  }
   906  
   907  type ServiceAccountKey_FieldTerminalPathArrayOfValues struct {
   908  	ServiceAccountKey_FieldTerminalPath
   909  	values interface{}
   910  }
   911  
   912  var _ ServiceAccountKey_FieldPathArrayOfValues = (*ServiceAccountKey_FieldTerminalPathArrayOfValues)(nil)
   913  
   914  func (fpaov *ServiceAccountKey_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
   915  	switch fpaov.selector {
   916  	case ServiceAccountKey_FieldPathSelectorName:
   917  		for _, v := range fpaov.values.([]*Name) {
   918  			values = append(values, v)
   919  		}
   920  	case ServiceAccountKey_FieldPathSelectorDisplayName:
   921  		for _, v := range fpaov.values.([]string) {
   922  			values = append(values, v)
   923  		}
   924  	case ServiceAccountKey_FieldPathSelectorPublicKeyData:
   925  		for _, v := range fpaov.values.([]string) {
   926  			values = append(values, v)
   927  		}
   928  	case ServiceAccountKey_FieldPathSelectorPrivateKeyData:
   929  		for _, v := range fpaov.values.([]string) {
   930  			values = append(values, v)
   931  		}
   932  	case ServiceAccountKey_FieldPathSelectorApiKey:
   933  		for _, v := range fpaov.values.([]string) {
   934  			values = append(values, v)
   935  		}
   936  	case ServiceAccountKey_FieldPathSelectorAlgorithm:
   937  		for _, v := range fpaov.values.([]ServiceAccountKey_Algorithm) {
   938  			values = append(values, v)
   939  		}
   940  	case ServiceAccountKey_FieldPathSelectorValidNotBefore:
   941  		for _, v := range fpaov.values.([]*timestamppb.Timestamp) {
   942  			values = append(values, v)
   943  		}
   944  	case ServiceAccountKey_FieldPathSelectorValidNotAfter:
   945  		for _, v := range fpaov.values.([]*timestamppb.Timestamp) {
   946  			values = append(values, v)
   947  		}
   948  	case ServiceAccountKey_FieldPathSelectorMetadata:
   949  		for _, v := range fpaov.values.([]*meta.Meta) {
   950  			values = append(values, v)
   951  		}
   952  	}
   953  	return
   954  }
   955  func (fpaov *ServiceAccountKey_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) {
   956  	res, ok := fpaov.values.([]*Name)
   957  	return res, ok
   958  }
   959  func (fpaov *ServiceAccountKey_FieldTerminalPathArrayOfValues) AsDisplayNameArrayOfValues() ([]string, bool) {
   960  	res, ok := fpaov.values.([]string)
   961  	return res, ok
   962  }
   963  func (fpaov *ServiceAccountKey_FieldTerminalPathArrayOfValues) AsPublicKeyDataArrayOfValues() ([]string, bool) {
   964  	res, ok := fpaov.values.([]string)
   965  	return res, ok
   966  }
   967  func (fpaov *ServiceAccountKey_FieldTerminalPathArrayOfValues) AsPrivateKeyDataArrayOfValues() ([]string, bool) {
   968  	res, ok := fpaov.values.([]string)
   969  	return res, ok
   970  }
   971  func (fpaov *ServiceAccountKey_FieldTerminalPathArrayOfValues) AsApiKeyArrayOfValues() ([]string, bool) {
   972  	res, ok := fpaov.values.([]string)
   973  	return res, ok
   974  }
   975  func (fpaov *ServiceAccountKey_FieldTerminalPathArrayOfValues) AsAlgorithmArrayOfValues() ([]ServiceAccountKey_Algorithm, bool) {
   976  	res, ok := fpaov.values.([]ServiceAccountKey_Algorithm)
   977  	return res, ok
   978  }
   979  func (fpaov *ServiceAccountKey_FieldTerminalPathArrayOfValues) AsValidNotBeforeArrayOfValues() ([]*timestamppb.Timestamp, bool) {
   980  	res, ok := fpaov.values.([]*timestamppb.Timestamp)
   981  	return res, ok
   982  }
   983  func (fpaov *ServiceAccountKey_FieldTerminalPathArrayOfValues) AsValidNotAfterArrayOfValues() ([]*timestamppb.Timestamp, bool) {
   984  	res, ok := fpaov.values.([]*timestamppb.Timestamp)
   985  	return res, ok
   986  }
   987  func (fpaov *ServiceAccountKey_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) {
   988  	res, ok := fpaov.values.([]*meta.Meta)
   989  	return res, ok
   990  }
   991  
   992  type ServiceAccountKey_FieldSubPathArrayOfValues struct {
   993  	ServiceAccountKey_FieldPath
   994  	subPathArrayOfValues gotenobject.FieldPathArrayOfValues
   995  }
   996  
   997  var _ ServiceAccountKey_FieldPathArrayOfValues = (*ServiceAccountKey_FieldSubPathArrayOfValues)(nil)
   998  
   999  func (fpsaov *ServiceAccountKey_FieldSubPathArrayOfValues) GetRawValues() []interface{} {
  1000  	return fpsaov.subPathArrayOfValues.GetRawValues()
  1001  }
  1002  func (fpsaov *ServiceAccountKey_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) {
  1003  	res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues)
  1004  	return res, ok
  1005  }