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

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