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

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