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

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/alerting/proto/v1/ts_entry.proto
     3  // DO NOT EDIT!!!
     4  
     5  package ts_entry
     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  	rcommon "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/common"
    27  	ts_condition "github.com/cloudwan/edgelq-sdk/alerting/resources/v1/ts_condition"
    28  	monitoring_common "github.com/cloudwan/edgelq-sdk/monitoring/resources/v4/common"
    29  	meta "github.com/cloudwan/goten-sdk/types/meta"
    30  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    31  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    32  )
    33  
    34  // ensure the imports are used
    35  var (
    36  	_ = new(json.Marshaler)
    37  	_ = new(fmt.Stringer)
    38  	_ = reflect.DeepEqual
    39  	_ = strings.Builder{}
    40  	_ = time.Second
    41  
    42  	_ = strcase.ToLowerCamel
    43  	_ = codes.NotFound
    44  	_ = status.Status{}
    45  	_ = protojson.UnmarshalOptions{}
    46  	_ = new(proto.Message)
    47  	_ = protoregistry.GlobalTypes
    48  
    49  	_ = new(gotenobject.FieldPath)
    50  )
    51  
    52  // make sure we're using proto imports
    53  var (
    54  	_ = &rcommon.LogCndSpec{}
    55  	_ = &ts_condition.TsCondition{}
    56  	_ = &monitoring_common.LabelDescriptor{}
    57  	_ = &durationpb.Duration{}
    58  	_ = &timestamppb.Timestamp{}
    59  	_ = &meta.Meta{}
    60  )
    61  
    62  // FieldPath provides implementation to handle
    63  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
    64  type TsEntry_FieldPath interface {
    65  	gotenobject.FieldPath
    66  	Selector() TsEntry_FieldPathSelector
    67  	Get(source *TsEntry) []interface{}
    68  	GetSingle(source *TsEntry) (interface{}, bool)
    69  	ClearValue(item *TsEntry)
    70  
    71  	// Those methods build corresponding TsEntry_FieldPathValue
    72  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
    73  	WithIValue(value interface{}) TsEntry_FieldPathValue
    74  	WithIArrayOfValues(values interface{}) TsEntry_FieldPathArrayOfValues
    75  	WithIArrayItemValue(value interface{}) TsEntry_FieldPathArrayItemValue
    76  }
    77  
    78  type TsEntry_FieldPathSelector int32
    79  
    80  const (
    81  	TsEntry_FieldPathSelectorName     TsEntry_FieldPathSelector = 0
    82  	TsEntry_FieldPathSelectorMetadata TsEntry_FieldPathSelector = 1
    83  	TsEntry_FieldPathSelectorInfo     TsEntry_FieldPathSelector = 2
    84  	TsEntry_FieldPathSelectorState    TsEntry_FieldPathSelector = 3
    85  	TsEntry_FieldPathSelectorInternal TsEntry_FieldPathSelector = 4
    86  )
    87  
    88  func (s TsEntry_FieldPathSelector) String() string {
    89  	switch s {
    90  	case TsEntry_FieldPathSelectorName:
    91  		return "name"
    92  	case TsEntry_FieldPathSelectorMetadata:
    93  		return "metadata"
    94  	case TsEntry_FieldPathSelectorInfo:
    95  		return "info"
    96  	case TsEntry_FieldPathSelectorState:
    97  		return "state"
    98  	case TsEntry_FieldPathSelectorInternal:
    99  		return "internal"
   100  	default:
   101  		panic(fmt.Sprintf("Invalid selector for TsEntry: %d", s))
   102  	}
   103  }
   104  
   105  func BuildTsEntry_FieldPath(fp gotenobject.RawFieldPath) (TsEntry_FieldPath, error) {
   106  	if len(fp) == 0 {
   107  		return nil, status.Error(codes.InvalidArgument, "empty field path for object TsEntry")
   108  	}
   109  	if len(fp) == 1 {
   110  		switch fp[0] {
   111  		case "name":
   112  			return &TsEntry_FieldTerminalPath{selector: TsEntry_FieldPathSelectorName}, nil
   113  		case "metadata":
   114  			return &TsEntry_FieldTerminalPath{selector: TsEntry_FieldPathSelectorMetadata}, nil
   115  		case "info":
   116  			return &TsEntry_FieldTerminalPath{selector: TsEntry_FieldPathSelectorInfo}, nil
   117  		case "state":
   118  			return &TsEntry_FieldTerminalPath{selector: TsEntry_FieldPathSelectorState}, nil
   119  		case "internal":
   120  			return &TsEntry_FieldTerminalPath{selector: TsEntry_FieldPathSelectorInternal}, nil
   121  		}
   122  	} else {
   123  		switch fp[0] {
   124  		case "metadata":
   125  			if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil {
   126  				return nil, err
   127  			} else {
   128  				return &TsEntry_FieldSubPath{selector: TsEntry_FieldPathSelectorMetadata, subPath: subpath}, nil
   129  			}
   130  		case "info":
   131  			if subpath, err := BuildTsEntryInfo_FieldPath(fp[1:]); err != nil {
   132  				return nil, err
   133  			} else {
   134  				return &TsEntry_FieldSubPath{selector: TsEntry_FieldPathSelectorInfo, subPath: subpath}, nil
   135  			}
   136  		case "state":
   137  			if subpath, err := BuildTsEntryState_FieldPath(fp[1:]); err != nil {
   138  				return nil, err
   139  			} else {
   140  				return &TsEntry_FieldSubPath{selector: TsEntry_FieldPathSelectorState, subPath: subpath}, nil
   141  			}
   142  		case "internal":
   143  			if subpath, err := BuildTsEntryInternal_FieldPath(fp[1:]); err != nil {
   144  				return nil, err
   145  			} else {
   146  				return &TsEntry_FieldSubPath{selector: TsEntry_FieldPathSelectorInternal, subPath: subpath}, nil
   147  			}
   148  		}
   149  	}
   150  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object TsEntry", fp)
   151  }
   152  
   153  func ParseTsEntry_FieldPath(rawField string) (TsEntry_FieldPath, error) {
   154  	fp, err := gotenobject.ParseRawFieldPath(rawField)
   155  	if err != nil {
   156  		return nil, err
   157  	}
   158  	return BuildTsEntry_FieldPath(fp)
   159  }
   160  
   161  func MustParseTsEntry_FieldPath(rawField string) TsEntry_FieldPath {
   162  	fp, err := ParseTsEntry_FieldPath(rawField)
   163  	if err != nil {
   164  		panic(err)
   165  	}
   166  	return fp
   167  }
   168  
   169  type TsEntry_FieldTerminalPath struct {
   170  	selector TsEntry_FieldPathSelector
   171  }
   172  
   173  var _ TsEntry_FieldPath = (*TsEntry_FieldTerminalPath)(nil)
   174  
   175  func (fp *TsEntry_FieldTerminalPath) Selector() TsEntry_FieldPathSelector {
   176  	return fp.selector
   177  }
   178  
   179  // String returns path representation in proto convention
   180  func (fp *TsEntry_FieldTerminalPath) String() string {
   181  	return fp.selector.String()
   182  }
   183  
   184  // JSONString returns path representation is JSON convention
   185  func (fp *TsEntry_FieldTerminalPath) JSONString() string {
   186  	return strcase.ToLowerCamel(fp.String())
   187  }
   188  
   189  // Get returns all values pointed by specific field from source TsEntry
   190  func (fp *TsEntry_FieldTerminalPath) Get(source *TsEntry) (values []interface{}) {
   191  	if source != nil {
   192  		switch fp.selector {
   193  		case TsEntry_FieldPathSelectorName:
   194  			if source.Name != nil {
   195  				values = append(values, source.Name)
   196  			}
   197  		case TsEntry_FieldPathSelectorMetadata:
   198  			if source.Metadata != nil {
   199  				values = append(values, source.Metadata)
   200  			}
   201  		case TsEntry_FieldPathSelectorInfo:
   202  			if source.Info != nil {
   203  				values = append(values, source.Info)
   204  			}
   205  		case TsEntry_FieldPathSelectorState:
   206  			if source.State != nil {
   207  				values = append(values, source.State)
   208  			}
   209  		case TsEntry_FieldPathSelectorInternal:
   210  			if source.Internal != nil {
   211  				values = append(values, source.Internal)
   212  			}
   213  		default:
   214  			panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fp.selector))
   215  		}
   216  	}
   217  	return
   218  }
   219  
   220  func (fp *TsEntry_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
   221  	return fp.Get(source.(*TsEntry))
   222  }
   223  
   224  // GetSingle returns value pointed by specific field of from source TsEntry
   225  func (fp *TsEntry_FieldTerminalPath) GetSingle(source *TsEntry) (interface{}, bool) {
   226  	switch fp.selector {
   227  	case TsEntry_FieldPathSelectorName:
   228  		res := source.GetName()
   229  		return res, res != nil
   230  	case TsEntry_FieldPathSelectorMetadata:
   231  		res := source.GetMetadata()
   232  		return res, res != nil
   233  	case TsEntry_FieldPathSelectorInfo:
   234  		res := source.GetInfo()
   235  		return res, res != nil
   236  	case TsEntry_FieldPathSelectorState:
   237  		res := source.GetState()
   238  		return res, res != nil
   239  	case TsEntry_FieldPathSelectorInternal:
   240  		res := source.GetInternal()
   241  		return res, res != nil
   242  	default:
   243  		panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fp.selector))
   244  	}
   245  }
   246  
   247  func (fp *TsEntry_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   248  	return fp.GetSingle(source.(*TsEntry))
   249  }
   250  
   251  // GetDefault returns a default value of the field type
   252  func (fp *TsEntry_FieldTerminalPath) GetDefault() interface{} {
   253  	switch fp.selector {
   254  	case TsEntry_FieldPathSelectorName:
   255  		return (*Name)(nil)
   256  	case TsEntry_FieldPathSelectorMetadata:
   257  		return (*meta.Meta)(nil)
   258  	case TsEntry_FieldPathSelectorInfo:
   259  		return (*TsEntry_Info)(nil)
   260  	case TsEntry_FieldPathSelectorState:
   261  		return (*TsEntry_State)(nil)
   262  	case TsEntry_FieldPathSelectorInternal:
   263  		return (*TsEntry_Internal)(nil)
   264  	default:
   265  		panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fp.selector))
   266  	}
   267  }
   268  
   269  func (fp *TsEntry_FieldTerminalPath) ClearValue(item *TsEntry) {
   270  	if item != nil {
   271  		switch fp.selector {
   272  		case TsEntry_FieldPathSelectorName:
   273  			item.Name = nil
   274  		case TsEntry_FieldPathSelectorMetadata:
   275  			item.Metadata = nil
   276  		case TsEntry_FieldPathSelectorInfo:
   277  			item.Info = nil
   278  		case TsEntry_FieldPathSelectorState:
   279  			item.State = nil
   280  		case TsEntry_FieldPathSelectorInternal:
   281  			item.Internal = nil
   282  		default:
   283  			panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fp.selector))
   284  		}
   285  	}
   286  }
   287  
   288  func (fp *TsEntry_FieldTerminalPath) ClearValueRaw(item proto.Message) {
   289  	fp.ClearValue(item.(*TsEntry))
   290  }
   291  
   292  // IsLeaf - whether field path is holds simple value
   293  func (fp *TsEntry_FieldTerminalPath) IsLeaf() bool {
   294  	return fp.selector == TsEntry_FieldPathSelectorName
   295  }
   296  
   297  func (fp *TsEntry_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   298  	return []gotenobject.FieldPath{fp}
   299  }
   300  
   301  func (fp *TsEntry_FieldTerminalPath) WithIValue(value interface{}) TsEntry_FieldPathValue {
   302  	switch fp.selector {
   303  	case TsEntry_FieldPathSelectorName:
   304  		return &TsEntry_FieldTerminalPathValue{TsEntry_FieldTerminalPath: *fp, value: value.(*Name)}
   305  	case TsEntry_FieldPathSelectorMetadata:
   306  		return &TsEntry_FieldTerminalPathValue{TsEntry_FieldTerminalPath: *fp, value: value.(*meta.Meta)}
   307  	case TsEntry_FieldPathSelectorInfo:
   308  		return &TsEntry_FieldTerminalPathValue{TsEntry_FieldTerminalPath: *fp, value: value.(*TsEntry_Info)}
   309  	case TsEntry_FieldPathSelectorState:
   310  		return &TsEntry_FieldTerminalPathValue{TsEntry_FieldTerminalPath: *fp, value: value.(*TsEntry_State)}
   311  	case TsEntry_FieldPathSelectorInternal:
   312  		return &TsEntry_FieldTerminalPathValue{TsEntry_FieldTerminalPath: *fp, value: value.(*TsEntry_Internal)}
   313  	default:
   314  		panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fp.selector))
   315  	}
   316  }
   317  
   318  func (fp *TsEntry_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   319  	return fp.WithIValue(value)
   320  }
   321  
   322  func (fp *TsEntry_FieldTerminalPath) WithIArrayOfValues(values interface{}) TsEntry_FieldPathArrayOfValues {
   323  	fpaov := &TsEntry_FieldTerminalPathArrayOfValues{TsEntry_FieldTerminalPath: *fp}
   324  	switch fp.selector {
   325  	case TsEntry_FieldPathSelectorName:
   326  		return &TsEntry_FieldTerminalPathArrayOfValues{TsEntry_FieldTerminalPath: *fp, values: values.([]*Name)}
   327  	case TsEntry_FieldPathSelectorMetadata:
   328  		return &TsEntry_FieldTerminalPathArrayOfValues{TsEntry_FieldTerminalPath: *fp, values: values.([]*meta.Meta)}
   329  	case TsEntry_FieldPathSelectorInfo:
   330  		return &TsEntry_FieldTerminalPathArrayOfValues{TsEntry_FieldTerminalPath: *fp, values: values.([]*TsEntry_Info)}
   331  	case TsEntry_FieldPathSelectorState:
   332  		return &TsEntry_FieldTerminalPathArrayOfValues{TsEntry_FieldTerminalPath: *fp, values: values.([]*TsEntry_State)}
   333  	case TsEntry_FieldPathSelectorInternal:
   334  		return &TsEntry_FieldTerminalPathArrayOfValues{TsEntry_FieldTerminalPath: *fp, values: values.([]*TsEntry_Internal)}
   335  	default:
   336  		panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fp.selector))
   337  	}
   338  	return fpaov
   339  }
   340  
   341  func (fp *TsEntry_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   342  	return fp.WithIArrayOfValues(values)
   343  }
   344  
   345  func (fp *TsEntry_FieldTerminalPath) WithIArrayItemValue(value interface{}) TsEntry_FieldPathArrayItemValue {
   346  	switch fp.selector {
   347  	default:
   348  		panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fp.selector))
   349  	}
   350  }
   351  
   352  func (fp *TsEntry_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   353  	return fp.WithIArrayItemValue(value)
   354  }
   355  
   356  type TsEntry_FieldSubPath struct {
   357  	selector TsEntry_FieldPathSelector
   358  	subPath  gotenobject.FieldPath
   359  }
   360  
   361  var _ TsEntry_FieldPath = (*TsEntry_FieldSubPath)(nil)
   362  
   363  func (fps *TsEntry_FieldSubPath) Selector() TsEntry_FieldPathSelector {
   364  	return fps.selector
   365  }
   366  func (fps *TsEntry_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) {
   367  	res, ok := fps.subPath.(meta.Meta_FieldPath)
   368  	return res, ok
   369  }
   370  func (fps *TsEntry_FieldSubPath) AsInfoSubPath() (TsEntryInfo_FieldPath, bool) {
   371  	res, ok := fps.subPath.(TsEntryInfo_FieldPath)
   372  	return res, ok
   373  }
   374  func (fps *TsEntry_FieldSubPath) AsStateSubPath() (TsEntryState_FieldPath, bool) {
   375  	res, ok := fps.subPath.(TsEntryState_FieldPath)
   376  	return res, ok
   377  }
   378  func (fps *TsEntry_FieldSubPath) AsInternalSubPath() (TsEntryInternal_FieldPath, bool) {
   379  	res, ok := fps.subPath.(TsEntryInternal_FieldPath)
   380  	return res, ok
   381  }
   382  
   383  // String returns path representation in proto convention
   384  func (fps *TsEntry_FieldSubPath) String() string {
   385  	return fps.selector.String() + "." + fps.subPath.String()
   386  }
   387  
   388  // JSONString returns path representation is JSON convention
   389  func (fps *TsEntry_FieldSubPath) JSONString() string {
   390  	return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString()
   391  }
   392  
   393  // Get returns all values pointed by selected field from source TsEntry
   394  func (fps *TsEntry_FieldSubPath) Get(source *TsEntry) (values []interface{}) {
   395  	switch fps.selector {
   396  	case TsEntry_FieldPathSelectorMetadata:
   397  		values = append(values, fps.subPath.GetRaw(source.GetMetadata())...)
   398  	case TsEntry_FieldPathSelectorInfo:
   399  		values = append(values, fps.subPath.GetRaw(source.GetInfo())...)
   400  	case TsEntry_FieldPathSelectorState:
   401  		values = append(values, fps.subPath.GetRaw(source.GetState())...)
   402  	case TsEntry_FieldPathSelectorInternal:
   403  		values = append(values, fps.subPath.GetRaw(source.GetInternal())...)
   404  	default:
   405  		panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fps.selector))
   406  	}
   407  	return
   408  }
   409  
   410  func (fps *TsEntry_FieldSubPath) GetRaw(source proto.Message) []interface{} {
   411  	return fps.Get(source.(*TsEntry))
   412  }
   413  
   414  // GetSingle returns value of selected field from source TsEntry
   415  func (fps *TsEntry_FieldSubPath) GetSingle(source *TsEntry) (interface{}, bool) {
   416  	switch fps.selector {
   417  	case TsEntry_FieldPathSelectorMetadata:
   418  		if source.GetMetadata() == nil {
   419  			return nil, false
   420  		}
   421  		return fps.subPath.GetSingleRaw(source.GetMetadata())
   422  	case TsEntry_FieldPathSelectorInfo:
   423  		if source.GetInfo() == nil {
   424  			return nil, false
   425  		}
   426  		return fps.subPath.GetSingleRaw(source.GetInfo())
   427  	case TsEntry_FieldPathSelectorState:
   428  		if source.GetState() == nil {
   429  			return nil, false
   430  		}
   431  		return fps.subPath.GetSingleRaw(source.GetState())
   432  	case TsEntry_FieldPathSelectorInternal:
   433  		if source.GetInternal() == nil {
   434  			return nil, false
   435  		}
   436  		return fps.subPath.GetSingleRaw(source.GetInternal())
   437  	default:
   438  		panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fps.selector))
   439  	}
   440  }
   441  
   442  func (fps *TsEntry_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   443  	return fps.GetSingle(source.(*TsEntry))
   444  }
   445  
   446  // GetDefault returns a default value of the field type
   447  func (fps *TsEntry_FieldSubPath) GetDefault() interface{} {
   448  	return fps.subPath.GetDefault()
   449  }
   450  
   451  func (fps *TsEntry_FieldSubPath) ClearValue(item *TsEntry) {
   452  	if item != nil {
   453  		switch fps.selector {
   454  		case TsEntry_FieldPathSelectorMetadata:
   455  			fps.subPath.ClearValueRaw(item.Metadata)
   456  		case TsEntry_FieldPathSelectorInfo:
   457  			fps.subPath.ClearValueRaw(item.Info)
   458  		case TsEntry_FieldPathSelectorState:
   459  			fps.subPath.ClearValueRaw(item.State)
   460  		case TsEntry_FieldPathSelectorInternal:
   461  			fps.subPath.ClearValueRaw(item.Internal)
   462  		default:
   463  			panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fps.selector))
   464  		}
   465  	}
   466  }
   467  
   468  func (fps *TsEntry_FieldSubPath) ClearValueRaw(item proto.Message) {
   469  	fps.ClearValue(item.(*TsEntry))
   470  }
   471  
   472  // IsLeaf - whether field path is holds simple value
   473  func (fps *TsEntry_FieldSubPath) IsLeaf() bool {
   474  	return fps.subPath.IsLeaf()
   475  }
   476  
   477  func (fps *TsEntry_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   478  	iPaths := []gotenobject.FieldPath{&TsEntry_FieldTerminalPath{selector: fps.selector}}
   479  	iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...)
   480  	return iPaths
   481  }
   482  
   483  func (fps *TsEntry_FieldSubPath) WithIValue(value interface{}) TsEntry_FieldPathValue {
   484  	return &TsEntry_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)}
   485  }
   486  
   487  func (fps *TsEntry_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   488  	return fps.WithIValue(value)
   489  }
   490  
   491  func (fps *TsEntry_FieldSubPath) WithIArrayOfValues(values interface{}) TsEntry_FieldPathArrayOfValues {
   492  	return &TsEntry_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)}
   493  }
   494  
   495  func (fps *TsEntry_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   496  	return fps.WithIArrayOfValues(values)
   497  }
   498  
   499  func (fps *TsEntry_FieldSubPath) WithIArrayItemValue(value interface{}) TsEntry_FieldPathArrayItemValue {
   500  	return &TsEntry_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)}
   501  }
   502  
   503  func (fps *TsEntry_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   504  	return fps.WithIArrayItemValue(value)
   505  }
   506  
   507  // TsEntry_FieldPathValue allows storing values for TsEntry fields according to their type
   508  type TsEntry_FieldPathValue interface {
   509  	TsEntry_FieldPath
   510  	gotenobject.FieldPathValue
   511  	SetTo(target **TsEntry)
   512  	CompareWith(*TsEntry) (cmp int, comparable bool)
   513  }
   514  
   515  func ParseTsEntry_FieldPathValue(pathStr, valueStr string) (TsEntry_FieldPathValue, error) {
   516  	fp, err := ParseTsEntry_FieldPath(pathStr)
   517  	if err != nil {
   518  		return nil, err
   519  	}
   520  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
   521  	if err != nil {
   522  		return nil, status.Errorf(codes.InvalidArgument, "error parsing TsEntry field path value from %s: %v", valueStr, err)
   523  	}
   524  	return fpv.(TsEntry_FieldPathValue), nil
   525  }
   526  
   527  func MustParseTsEntry_FieldPathValue(pathStr, valueStr string) TsEntry_FieldPathValue {
   528  	fpv, err := ParseTsEntry_FieldPathValue(pathStr, valueStr)
   529  	if err != nil {
   530  		panic(err)
   531  	}
   532  	return fpv
   533  }
   534  
   535  type TsEntry_FieldTerminalPathValue struct {
   536  	TsEntry_FieldTerminalPath
   537  	value interface{}
   538  }
   539  
   540  var _ TsEntry_FieldPathValue = (*TsEntry_FieldTerminalPathValue)(nil)
   541  
   542  // GetRawValue returns raw value stored under selected path for 'TsEntry' as interface{}
   543  func (fpv *TsEntry_FieldTerminalPathValue) GetRawValue() interface{} {
   544  	return fpv.value
   545  }
   546  func (fpv *TsEntry_FieldTerminalPathValue) AsNameValue() (*Name, bool) {
   547  	res, ok := fpv.value.(*Name)
   548  	return res, ok
   549  }
   550  func (fpv *TsEntry_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) {
   551  	res, ok := fpv.value.(*meta.Meta)
   552  	return res, ok
   553  }
   554  func (fpv *TsEntry_FieldTerminalPathValue) AsInfoValue() (*TsEntry_Info, bool) {
   555  	res, ok := fpv.value.(*TsEntry_Info)
   556  	return res, ok
   557  }
   558  func (fpv *TsEntry_FieldTerminalPathValue) AsStateValue() (*TsEntry_State, bool) {
   559  	res, ok := fpv.value.(*TsEntry_State)
   560  	return res, ok
   561  }
   562  func (fpv *TsEntry_FieldTerminalPathValue) AsInternalValue() (*TsEntry_Internal, bool) {
   563  	res, ok := fpv.value.(*TsEntry_Internal)
   564  	return res, ok
   565  }
   566  
   567  // SetTo stores value for selected field for object TsEntry
   568  func (fpv *TsEntry_FieldTerminalPathValue) SetTo(target **TsEntry) {
   569  	if *target == nil {
   570  		*target = new(TsEntry)
   571  	}
   572  	switch fpv.selector {
   573  	case TsEntry_FieldPathSelectorName:
   574  		(*target).Name = fpv.value.(*Name)
   575  	case TsEntry_FieldPathSelectorMetadata:
   576  		(*target).Metadata = fpv.value.(*meta.Meta)
   577  	case TsEntry_FieldPathSelectorInfo:
   578  		(*target).Info = fpv.value.(*TsEntry_Info)
   579  	case TsEntry_FieldPathSelectorState:
   580  		(*target).State = fpv.value.(*TsEntry_State)
   581  	case TsEntry_FieldPathSelectorInternal:
   582  		(*target).Internal = fpv.value.(*TsEntry_Internal)
   583  	default:
   584  		panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fpv.selector))
   585  	}
   586  }
   587  
   588  func (fpv *TsEntry_FieldTerminalPathValue) SetToRaw(target proto.Message) {
   589  	typedObject := target.(*TsEntry)
   590  	fpv.SetTo(&typedObject)
   591  }
   592  
   593  // CompareWith compares value in the 'TsEntry_FieldTerminalPathValue' with the value under path in 'TsEntry'.
   594  func (fpv *TsEntry_FieldTerminalPathValue) CompareWith(source *TsEntry) (int, bool) {
   595  	switch fpv.selector {
   596  	case TsEntry_FieldPathSelectorName:
   597  		leftValue := fpv.value.(*Name)
   598  		rightValue := source.GetName()
   599  		if leftValue == nil {
   600  			if rightValue != nil {
   601  				return -1, true
   602  			}
   603  			return 0, true
   604  		}
   605  		if rightValue == nil {
   606  			return 1, true
   607  		}
   608  		if leftValue.String() == rightValue.String() {
   609  			return 0, true
   610  		} else if leftValue.String() < rightValue.String() {
   611  			return -1, true
   612  		} else {
   613  			return 1, true
   614  		}
   615  	case TsEntry_FieldPathSelectorMetadata:
   616  		return 0, false
   617  	case TsEntry_FieldPathSelectorInfo:
   618  		return 0, false
   619  	case TsEntry_FieldPathSelectorState:
   620  		return 0, false
   621  	case TsEntry_FieldPathSelectorInternal:
   622  		return 0, false
   623  	default:
   624  		panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fpv.selector))
   625  	}
   626  }
   627  
   628  func (fpv *TsEntry_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   629  	return fpv.CompareWith(source.(*TsEntry))
   630  }
   631  
   632  type TsEntry_FieldSubPathValue struct {
   633  	TsEntry_FieldPath
   634  	subPathValue gotenobject.FieldPathValue
   635  }
   636  
   637  var _ TsEntry_FieldPathValue = (*TsEntry_FieldSubPathValue)(nil)
   638  
   639  func (fpvs *TsEntry_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) {
   640  	res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue)
   641  	return res, ok
   642  }
   643  func (fpvs *TsEntry_FieldSubPathValue) AsInfoPathValue() (TsEntryInfo_FieldPathValue, bool) {
   644  	res, ok := fpvs.subPathValue.(TsEntryInfo_FieldPathValue)
   645  	return res, ok
   646  }
   647  func (fpvs *TsEntry_FieldSubPathValue) AsStatePathValue() (TsEntryState_FieldPathValue, bool) {
   648  	res, ok := fpvs.subPathValue.(TsEntryState_FieldPathValue)
   649  	return res, ok
   650  }
   651  func (fpvs *TsEntry_FieldSubPathValue) AsInternalPathValue() (TsEntryInternal_FieldPathValue, bool) {
   652  	res, ok := fpvs.subPathValue.(TsEntryInternal_FieldPathValue)
   653  	return res, ok
   654  }
   655  
   656  func (fpvs *TsEntry_FieldSubPathValue) SetTo(target **TsEntry) {
   657  	if *target == nil {
   658  		*target = new(TsEntry)
   659  	}
   660  	switch fpvs.Selector() {
   661  	case TsEntry_FieldPathSelectorMetadata:
   662  		fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata)
   663  	case TsEntry_FieldPathSelectorInfo:
   664  		fpvs.subPathValue.(TsEntryInfo_FieldPathValue).SetTo(&(*target).Info)
   665  	case TsEntry_FieldPathSelectorState:
   666  		fpvs.subPathValue.(TsEntryState_FieldPathValue).SetTo(&(*target).State)
   667  	case TsEntry_FieldPathSelectorInternal:
   668  		fpvs.subPathValue.(TsEntryInternal_FieldPathValue).SetTo(&(*target).Internal)
   669  	default:
   670  		panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fpvs.Selector()))
   671  	}
   672  }
   673  
   674  func (fpvs *TsEntry_FieldSubPathValue) SetToRaw(target proto.Message) {
   675  	typedObject := target.(*TsEntry)
   676  	fpvs.SetTo(&typedObject)
   677  }
   678  
   679  func (fpvs *TsEntry_FieldSubPathValue) GetRawValue() interface{} {
   680  	return fpvs.subPathValue.GetRawValue()
   681  }
   682  
   683  func (fpvs *TsEntry_FieldSubPathValue) CompareWith(source *TsEntry) (int, bool) {
   684  	switch fpvs.Selector() {
   685  	case TsEntry_FieldPathSelectorMetadata:
   686  		return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata())
   687  	case TsEntry_FieldPathSelectorInfo:
   688  		return fpvs.subPathValue.(TsEntryInfo_FieldPathValue).CompareWith(source.GetInfo())
   689  	case TsEntry_FieldPathSelectorState:
   690  		return fpvs.subPathValue.(TsEntryState_FieldPathValue).CompareWith(source.GetState())
   691  	case TsEntry_FieldPathSelectorInternal:
   692  		return fpvs.subPathValue.(TsEntryInternal_FieldPathValue).CompareWith(source.GetInternal())
   693  	default:
   694  		panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fpvs.Selector()))
   695  	}
   696  }
   697  
   698  func (fpvs *TsEntry_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   699  	return fpvs.CompareWith(source.(*TsEntry))
   700  }
   701  
   702  // TsEntry_FieldPathArrayItemValue allows storing single item in Path-specific values for TsEntry according to their type
   703  // Present only for array (repeated) types.
   704  type TsEntry_FieldPathArrayItemValue interface {
   705  	gotenobject.FieldPathArrayItemValue
   706  	TsEntry_FieldPath
   707  	ContainsValue(*TsEntry) bool
   708  }
   709  
   710  // ParseTsEntry_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
   711  func ParseTsEntry_FieldPathArrayItemValue(pathStr, valueStr string) (TsEntry_FieldPathArrayItemValue, error) {
   712  	fp, err := ParseTsEntry_FieldPath(pathStr)
   713  	if err != nil {
   714  		return nil, err
   715  	}
   716  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
   717  	if err != nil {
   718  		return nil, status.Errorf(codes.InvalidArgument, "error parsing TsEntry field path array item value from %s: %v", valueStr, err)
   719  	}
   720  	return fpaiv.(TsEntry_FieldPathArrayItemValue), nil
   721  }
   722  
   723  func MustParseTsEntry_FieldPathArrayItemValue(pathStr, valueStr string) TsEntry_FieldPathArrayItemValue {
   724  	fpaiv, err := ParseTsEntry_FieldPathArrayItemValue(pathStr, valueStr)
   725  	if err != nil {
   726  		panic(err)
   727  	}
   728  	return fpaiv
   729  }
   730  
   731  type TsEntry_FieldTerminalPathArrayItemValue struct {
   732  	TsEntry_FieldTerminalPath
   733  	value interface{}
   734  }
   735  
   736  var _ TsEntry_FieldPathArrayItemValue = (*TsEntry_FieldTerminalPathArrayItemValue)(nil)
   737  
   738  // GetRawValue returns stored element value for array in object TsEntry as interface{}
   739  func (fpaiv *TsEntry_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
   740  	return fpaiv.value
   741  }
   742  
   743  func (fpaiv *TsEntry_FieldTerminalPathArrayItemValue) GetSingle(source *TsEntry) (interface{}, bool) {
   744  	return nil, false
   745  }
   746  
   747  func (fpaiv *TsEntry_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
   748  	return fpaiv.GetSingle(source.(*TsEntry))
   749  }
   750  
   751  // Contains returns a boolean indicating if value that is being held is present in given 'TsEntry'
   752  func (fpaiv *TsEntry_FieldTerminalPathArrayItemValue) ContainsValue(source *TsEntry) bool {
   753  	slice := fpaiv.TsEntry_FieldTerminalPath.Get(source)
   754  	for _, v := range slice {
   755  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
   756  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
   757  				return true
   758  			}
   759  		} else if reflect.DeepEqual(v, fpaiv.value) {
   760  			return true
   761  		}
   762  	}
   763  	return false
   764  }
   765  
   766  type TsEntry_FieldSubPathArrayItemValue struct {
   767  	TsEntry_FieldPath
   768  	subPathItemValue gotenobject.FieldPathArrayItemValue
   769  }
   770  
   771  // GetRawValue returns stored array item value
   772  func (fpaivs *TsEntry_FieldSubPathArrayItemValue) GetRawItemValue() interface{} {
   773  	return fpaivs.subPathItemValue.GetRawItemValue()
   774  }
   775  func (fpaivs *TsEntry_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) {
   776  	res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue)
   777  	return res, ok
   778  }
   779  func (fpaivs *TsEntry_FieldSubPathArrayItemValue) AsInfoPathItemValue() (TsEntryInfo_FieldPathArrayItemValue, bool) {
   780  	res, ok := fpaivs.subPathItemValue.(TsEntryInfo_FieldPathArrayItemValue)
   781  	return res, ok
   782  }
   783  func (fpaivs *TsEntry_FieldSubPathArrayItemValue) AsStatePathItemValue() (TsEntryState_FieldPathArrayItemValue, bool) {
   784  	res, ok := fpaivs.subPathItemValue.(TsEntryState_FieldPathArrayItemValue)
   785  	return res, ok
   786  }
   787  func (fpaivs *TsEntry_FieldSubPathArrayItemValue) AsInternalPathItemValue() (TsEntryInternal_FieldPathArrayItemValue, bool) {
   788  	res, ok := fpaivs.subPathItemValue.(TsEntryInternal_FieldPathArrayItemValue)
   789  	return res, ok
   790  }
   791  
   792  // Contains returns a boolean indicating if value that is being held is present in given 'TsEntry'
   793  func (fpaivs *TsEntry_FieldSubPathArrayItemValue) ContainsValue(source *TsEntry) bool {
   794  	switch fpaivs.Selector() {
   795  	case TsEntry_FieldPathSelectorMetadata:
   796  		return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata())
   797  	case TsEntry_FieldPathSelectorInfo:
   798  		return fpaivs.subPathItemValue.(TsEntryInfo_FieldPathArrayItemValue).ContainsValue(source.GetInfo())
   799  	case TsEntry_FieldPathSelectorState:
   800  		return fpaivs.subPathItemValue.(TsEntryState_FieldPathArrayItemValue).ContainsValue(source.GetState())
   801  	case TsEntry_FieldPathSelectorInternal:
   802  		return fpaivs.subPathItemValue.(TsEntryInternal_FieldPathArrayItemValue).ContainsValue(source.GetInternal())
   803  	default:
   804  		panic(fmt.Sprintf("Invalid selector for TsEntry: %d", fpaivs.Selector()))
   805  	}
   806  }
   807  
   808  // TsEntry_FieldPathArrayOfValues allows storing slice of values for TsEntry fields according to their type
   809  type TsEntry_FieldPathArrayOfValues interface {
   810  	gotenobject.FieldPathArrayOfValues
   811  	TsEntry_FieldPath
   812  }
   813  
   814  func ParseTsEntry_FieldPathArrayOfValues(pathStr, valuesStr string) (TsEntry_FieldPathArrayOfValues, error) {
   815  	fp, err := ParseTsEntry_FieldPath(pathStr)
   816  	if err != nil {
   817  		return nil, err
   818  	}
   819  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
   820  	if err != nil {
   821  		return nil, status.Errorf(codes.InvalidArgument, "error parsing TsEntry field path array of values from %s: %v", valuesStr, err)
   822  	}
   823  	return fpaov.(TsEntry_FieldPathArrayOfValues), nil
   824  }
   825  
   826  func MustParseTsEntry_FieldPathArrayOfValues(pathStr, valuesStr string) TsEntry_FieldPathArrayOfValues {
   827  	fpaov, err := ParseTsEntry_FieldPathArrayOfValues(pathStr, valuesStr)
   828  	if err != nil {
   829  		panic(err)
   830  	}
   831  	return fpaov
   832  }
   833  
   834  type TsEntry_FieldTerminalPathArrayOfValues struct {
   835  	TsEntry_FieldTerminalPath
   836  	values interface{}
   837  }
   838  
   839  var _ TsEntry_FieldPathArrayOfValues = (*TsEntry_FieldTerminalPathArrayOfValues)(nil)
   840  
   841  func (fpaov *TsEntry_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
   842  	switch fpaov.selector {
   843  	case TsEntry_FieldPathSelectorName:
   844  		for _, v := range fpaov.values.([]*Name) {
   845  			values = append(values, v)
   846  		}
   847  	case TsEntry_FieldPathSelectorMetadata:
   848  		for _, v := range fpaov.values.([]*meta.Meta) {
   849  			values = append(values, v)
   850  		}
   851  	case TsEntry_FieldPathSelectorInfo:
   852  		for _, v := range fpaov.values.([]*TsEntry_Info) {
   853  			values = append(values, v)
   854  		}
   855  	case TsEntry_FieldPathSelectorState:
   856  		for _, v := range fpaov.values.([]*TsEntry_State) {
   857  			values = append(values, v)
   858  		}
   859  	case TsEntry_FieldPathSelectorInternal:
   860  		for _, v := range fpaov.values.([]*TsEntry_Internal) {
   861  			values = append(values, v)
   862  		}
   863  	}
   864  	return
   865  }
   866  func (fpaov *TsEntry_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) {
   867  	res, ok := fpaov.values.([]*Name)
   868  	return res, ok
   869  }
   870  func (fpaov *TsEntry_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) {
   871  	res, ok := fpaov.values.([]*meta.Meta)
   872  	return res, ok
   873  }
   874  func (fpaov *TsEntry_FieldTerminalPathArrayOfValues) AsInfoArrayOfValues() ([]*TsEntry_Info, bool) {
   875  	res, ok := fpaov.values.([]*TsEntry_Info)
   876  	return res, ok
   877  }
   878  func (fpaov *TsEntry_FieldTerminalPathArrayOfValues) AsStateArrayOfValues() ([]*TsEntry_State, bool) {
   879  	res, ok := fpaov.values.([]*TsEntry_State)
   880  	return res, ok
   881  }
   882  func (fpaov *TsEntry_FieldTerminalPathArrayOfValues) AsInternalArrayOfValues() ([]*TsEntry_Internal, bool) {
   883  	res, ok := fpaov.values.([]*TsEntry_Internal)
   884  	return res, ok
   885  }
   886  
   887  type TsEntry_FieldSubPathArrayOfValues struct {
   888  	TsEntry_FieldPath
   889  	subPathArrayOfValues gotenobject.FieldPathArrayOfValues
   890  }
   891  
   892  var _ TsEntry_FieldPathArrayOfValues = (*TsEntry_FieldSubPathArrayOfValues)(nil)
   893  
   894  func (fpsaov *TsEntry_FieldSubPathArrayOfValues) GetRawValues() []interface{} {
   895  	return fpsaov.subPathArrayOfValues.GetRawValues()
   896  }
   897  func (fpsaov *TsEntry_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) {
   898  	res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues)
   899  	return res, ok
   900  }
   901  func (fpsaov *TsEntry_FieldSubPathArrayOfValues) AsInfoPathArrayOfValues() (TsEntryInfo_FieldPathArrayOfValues, bool) {
   902  	res, ok := fpsaov.subPathArrayOfValues.(TsEntryInfo_FieldPathArrayOfValues)
   903  	return res, ok
   904  }
   905  func (fpsaov *TsEntry_FieldSubPathArrayOfValues) AsStatePathArrayOfValues() (TsEntryState_FieldPathArrayOfValues, bool) {
   906  	res, ok := fpsaov.subPathArrayOfValues.(TsEntryState_FieldPathArrayOfValues)
   907  	return res, ok
   908  }
   909  func (fpsaov *TsEntry_FieldSubPathArrayOfValues) AsInternalPathArrayOfValues() (TsEntryInternal_FieldPathArrayOfValues, bool) {
   910  	res, ok := fpsaov.subPathArrayOfValues.(TsEntryInternal_FieldPathArrayOfValues)
   911  	return res, ok
   912  }
   913  
   914  // FieldPath provides implementation to handle
   915  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
   916  type TsEntryInfo_FieldPath interface {
   917  	gotenobject.FieldPath
   918  	Selector() TsEntryInfo_FieldPathSelector
   919  	Get(source *TsEntry_Info) []interface{}
   920  	GetSingle(source *TsEntry_Info) (interface{}, bool)
   921  	ClearValue(item *TsEntry_Info)
   922  
   923  	// Those methods build corresponding TsEntryInfo_FieldPathValue
   924  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
   925  	WithIValue(value interface{}) TsEntryInfo_FieldPathValue
   926  	WithIArrayOfValues(values interface{}) TsEntryInfo_FieldPathArrayOfValues
   927  	WithIArrayItemValue(value interface{}) TsEntryInfo_FieldPathArrayItemValue
   928  }
   929  
   930  type TsEntryInfo_FieldPathSelector int32
   931  
   932  const (
   933  	TsEntryInfo_FieldPathSelectorAlertingResource     TsEntryInfo_FieldPathSelector = 0
   934  	TsEntryInfo_FieldPathSelectorGroupByKey           TsEntryInfo_FieldPathSelector = 1
   935  	TsEntryInfo_FieldPathSelectorCommonMetricLabels   TsEntryInfo_FieldPathSelector = 2
   936  	TsEntryInfo_FieldPathSelectorCommonResourceLabels TsEntryInfo_FieldPathSelector = 3
   937  )
   938  
   939  func (s TsEntryInfo_FieldPathSelector) String() string {
   940  	switch s {
   941  	case TsEntryInfo_FieldPathSelectorAlertingResource:
   942  		return "alerting_resource"
   943  	case TsEntryInfo_FieldPathSelectorGroupByKey:
   944  		return "group_by_key"
   945  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
   946  		return "common_metric_labels"
   947  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
   948  		return "common_resource_labels"
   949  	default:
   950  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", s))
   951  	}
   952  }
   953  
   954  func BuildTsEntryInfo_FieldPath(fp gotenobject.RawFieldPath) (TsEntryInfo_FieldPath, error) {
   955  	if len(fp) == 0 {
   956  		return nil, status.Error(codes.InvalidArgument, "empty field path for object TsEntry_Info")
   957  	}
   958  	if len(fp) == 1 {
   959  		switch fp[0] {
   960  		case "alerting_resource", "alertingResource", "alerting-resource":
   961  			return &TsEntryInfo_FieldTerminalPath{selector: TsEntryInfo_FieldPathSelectorAlertingResource}, nil
   962  		case "group_by_key", "groupByKey", "group-by-key":
   963  			return &TsEntryInfo_FieldTerminalPath{selector: TsEntryInfo_FieldPathSelectorGroupByKey}, nil
   964  		case "common_metric_labels", "commonMetricLabels", "common-metric-labels":
   965  			return &TsEntryInfo_FieldTerminalPath{selector: TsEntryInfo_FieldPathSelectorCommonMetricLabels}, nil
   966  		case "common_resource_labels", "commonResourceLabels", "common-resource-labels":
   967  			return &TsEntryInfo_FieldTerminalPath{selector: TsEntryInfo_FieldPathSelectorCommonResourceLabels}, nil
   968  		}
   969  	} else {
   970  		switch fp[0] {
   971  		case "alerting_resource", "alertingResource", "alerting-resource":
   972  			if subpath, err := meta.BuildOwnerReference_FieldPath(fp[1:]); err != nil {
   973  				return nil, err
   974  			} else {
   975  				return &TsEntryInfo_FieldSubPath{selector: TsEntryInfo_FieldPathSelectorAlertingResource, subPath: subpath}, nil
   976  			}
   977  		case "common_metric_labels", "commonMetricLabels", "common-metric-labels":
   978  			if len(fp) > 2 {
   979  				return nil, status.Errorf(codes.InvalidArgument, "sub path for maps ('%s') are not supported (object TsEntry_Info)", fp)
   980  			}
   981  			return &TsEntryInfo_FieldPathMap{selector: TsEntryInfo_FieldPathSelectorCommonMetricLabels, key: fp[1]}, nil
   982  		case "common_resource_labels", "commonResourceLabels", "common-resource-labels":
   983  			if len(fp) > 2 {
   984  				return nil, status.Errorf(codes.InvalidArgument, "sub path for maps ('%s') are not supported (object TsEntry_Info)", fp)
   985  			}
   986  			return &TsEntryInfo_FieldPathMap{selector: TsEntryInfo_FieldPathSelectorCommonResourceLabels, key: fp[1]}, nil
   987  		}
   988  	}
   989  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object TsEntry_Info", fp)
   990  }
   991  
   992  func ParseTsEntryInfo_FieldPath(rawField string) (TsEntryInfo_FieldPath, error) {
   993  	fp, err := gotenobject.ParseRawFieldPath(rawField)
   994  	if err != nil {
   995  		return nil, err
   996  	}
   997  	return BuildTsEntryInfo_FieldPath(fp)
   998  }
   999  
  1000  func MustParseTsEntryInfo_FieldPath(rawField string) TsEntryInfo_FieldPath {
  1001  	fp, err := ParseTsEntryInfo_FieldPath(rawField)
  1002  	if err != nil {
  1003  		panic(err)
  1004  	}
  1005  	return fp
  1006  }
  1007  
  1008  type TsEntryInfo_FieldTerminalPath struct {
  1009  	selector TsEntryInfo_FieldPathSelector
  1010  }
  1011  
  1012  var _ TsEntryInfo_FieldPath = (*TsEntryInfo_FieldTerminalPath)(nil)
  1013  
  1014  func (fp *TsEntryInfo_FieldTerminalPath) Selector() TsEntryInfo_FieldPathSelector {
  1015  	return fp.selector
  1016  }
  1017  
  1018  // String returns path representation in proto convention
  1019  func (fp *TsEntryInfo_FieldTerminalPath) String() string {
  1020  	return fp.selector.String()
  1021  }
  1022  
  1023  // JSONString returns path representation is JSON convention
  1024  func (fp *TsEntryInfo_FieldTerminalPath) JSONString() string {
  1025  	return strcase.ToLowerCamel(fp.String())
  1026  }
  1027  
  1028  // Get returns all values pointed by specific field from source TsEntry_Info
  1029  func (fp *TsEntryInfo_FieldTerminalPath) Get(source *TsEntry_Info) (values []interface{}) {
  1030  	if source != nil {
  1031  		switch fp.selector {
  1032  		case TsEntryInfo_FieldPathSelectorAlertingResource:
  1033  			if source.AlertingResource != nil {
  1034  				values = append(values, source.AlertingResource)
  1035  			}
  1036  		case TsEntryInfo_FieldPathSelectorGroupByKey:
  1037  			values = append(values, source.GroupByKey)
  1038  		case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1039  			values = append(values, source.CommonMetricLabels)
  1040  		case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1041  			values = append(values, source.CommonResourceLabels)
  1042  		default:
  1043  			panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fp.selector))
  1044  		}
  1045  	}
  1046  	return
  1047  }
  1048  
  1049  func (fp *TsEntryInfo_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
  1050  	return fp.Get(source.(*TsEntry_Info))
  1051  }
  1052  
  1053  // GetSingle returns value pointed by specific field of from source TsEntry_Info
  1054  func (fp *TsEntryInfo_FieldTerminalPath) GetSingle(source *TsEntry_Info) (interface{}, bool) {
  1055  	switch fp.selector {
  1056  	case TsEntryInfo_FieldPathSelectorAlertingResource:
  1057  		res := source.GetAlertingResource()
  1058  		return res, res != nil
  1059  	case TsEntryInfo_FieldPathSelectorGroupByKey:
  1060  		res := source.GetGroupByKey()
  1061  		return res, res != nil
  1062  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1063  		res := source.GetCommonMetricLabels()
  1064  		return res, res != nil
  1065  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1066  		res := source.GetCommonResourceLabels()
  1067  		return res, res != nil
  1068  	default:
  1069  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fp.selector))
  1070  	}
  1071  }
  1072  
  1073  func (fp *TsEntryInfo_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1074  	return fp.GetSingle(source.(*TsEntry_Info))
  1075  }
  1076  
  1077  // GetDefault returns a default value of the field type
  1078  func (fp *TsEntryInfo_FieldTerminalPath) GetDefault() interface{} {
  1079  	switch fp.selector {
  1080  	case TsEntryInfo_FieldPathSelectorAlertingResource:
  1081  		return (*meta.OwnerReference)(nil)
  1082  	case TsEntryInfo_FieldPathSelectorGroupByKey:
  1083  		return ([]byte)(nil)
  1084  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1085  		return (map[string]string)(nil)
  1086  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1087  		return (map[string]string)(nil)
  1088  	default:
  1089  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fp.selector))
  1090  	}
  1091  }
  1092  
  1093  func (fp *TsEntryInfo_FieldTerminalPath) ClearValue(item *TsEntry_Info) {
  1094  	if item != nil {
  1095  		switch fp.selector {
  1096  		case TsEntryInfo_FieldPathSelectorAlertingResource:
  1097  			item.AlertingResource = nil
  1098  		case TsEntryInfo_FieldPathSelectorGroupByKey:
  1099  			item.GroupByKey = nil
  1100  		case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1101  			item.CommonMetricLabels = nil
  1102  		case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1103  			item.CommonResourceLabels = nil
  1104  		default:
  1105  			panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fp.selector))
  1106  		}
  1107  	}
  1108  }
  1109  
  1110  func (fp *TsEntryInfo_FieldTerminalPath) ClearValueRaw(item proto.Message) {
  1111  	fp.ClearValue(item.(*TsEntry_Info))
  1112  }
  1113  
  1114  // IsLeaf - whether field path is holds simple value
  1115  func (fp *TsEntryInfo_FieldTerminalPath) IsLeaf() bool {
  1116  	return fp.selector == TsEntryInfo_FieldPathSelectorGroupByKey ||
  1117  		fp.selector == TsEntryInfo_FieldPathSelectorCommonMetricLabels ||
  1118  		fp.selector == TsEntryInfo_FieldPathSelectorCommonResourceLabels
  1119  }
  1120  
  1121  func (fp *TsEntryInfo_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  1122  	return []gotenobject.FieldPath{fp}
  1123  }
  1124  
  1125  func (fp *TsEntryInfo_FieldTerminalPath) WithIValue(value interface{}) TsEntryInfo_FieldPathValue {
  1126  	switch fp.selector {
  1127  	case TsEntryInfo_FieldPathSelectorAlertingResource:
  1128  		return &TsEntryInfo_FieldTerminalPathValue{TsEntryInfo_FieldTerminalPath: *fp, value: value.(*meta.OwnerReference)}
  1129  	case TsEntryInfo_FieldPathSelectorGroupByKey:
  1130  		return &TsEntryInfo_FieldTerminalPathValue{TsEntryInfo_FieldTerminalPath: *fp, value: value.([]byte)}
  1131  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1132  		return &TsEntryInfo_FieldTerminalPathValue{TsEntryInfo_FieldTerminalPath: *fp, value: value.(map[string]string)}
  1133  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1134  		return &TsEntryInfo_FieldTerminalPathValue{TsEntryInfo_FieldTerminalPath: *fp, value: value.(map[string]string)}
  1135  	default:
  1136  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fp.selector))
  1137  	}
  1138  }
  1139  
  1140  func (fp *TsEntryInfo_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  1141  	return fp.WithIValue(value)
  1142  }
  1143  
  1144  func (fp *TsEntryInfo_FieldTerminalPath) WithIArrayOfValues(values interface{}) TsEntryInfo_FieldPathArrayOfValues {
  1145  	fpaov := &TsEntryInfo_FieldTerminalPathArrayOfValues{TsEntryInfo_FieldTerminalPath: *fp}
  1146  	switch fp.selector {
  1147  	case TsEntryInfo_FieldPathSelectorAlertingResource:
  1148  		return &TsEntryInfo_FieldTerminalPathArrayOfValues{TsEntryInfo_FieldTerminalPath: *fp, values: values.([]*meta.OwnerReference)}
  1149  	case TsEntryInfo_FieldPathSelectorGroupByKey:
  1150  		return &TsEntryInfo_FieldTerminalPathArrayOfValues{TsEntryInfo_FieldTerminalPath: *fp, values: values.([][]byte)}
  1151  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1152  		return &TsEntryInfo_FieldTerminalPathArrayOfValues{TsEntryInfo_FieldTerminalPath: *fp, values: values.([]map[string]string)}
  1153  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1154  		return &TsEntryInfo_FieldTerminalPathArrayOfValues{TsEntryInfo_FieldTerminalPath: *fp, values: values.([]map[string]string)}
  1155  	default:
  1156  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fp.selector))
  1157  	}
  1158  	return fpaov
  1159  }
  1160  
  1161  func (fp *TsEntryInfo_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  1162  	return fp.WithIArrayOfValues(values)
  1163  }
  1164  
  1165  func (fp *TsEntryInfo_FieldTerminalPath) WithIArrayItemValue(value interface{}) TsEntryInfo_FieldPathArrayItemValue {
  1166  	switch fp.selector {
  1167  	default:
  1168  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fp.selector))
  1169  	}
  1170  }
  1171  
  1172  func (fp *TsEntryInfo_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  1173  	return fp.WithIArrayItemValue(value)
  1174  }
  1175  
  1176  // FieldPath for map type with additional Key information
  1177  type TsEntryInfo_FieldPathMap struct {
  1178  	key      string
  1179  	selector TsEntryInfo_FieldPathSelector
  1180  }
  1181  
  1182  var _ TsEntryInfo_FieldPath = (*TsEntryInfo_FieldPathMap)(nil)
  1183  
  1184  func (fpm *TsEntryInfo_FieldPathMap) Selector() TsEntryInfo_FieldPathSelector {
  1185  	return fpm.selector
  1186  }
  1187  
  1188  func (fpm *TsEntryInfo_FieldPathMap) Key() string {
  1189  	return fpm.key
  1190  }
  1191  
  1192  // String returns path representation in proto convention
  1193  func (fpm *TsEntryInfo_FieldPathMap) String() string {
  1194  	return fpm.selector.String() + "." + fpm.key
  1195  }
  1196  
  1197  // JSONString returns path representation is JSON convention. Note that map keys are not transformed
  1198  func (fpm *TsEntryInfo_FieldPathMap) JSONString() string {
  1199  	return strcase.ToLowerCamel(fpm.selector.String()) + "." + fpm.key
  1200  }
  1201  
  1202  // Get returns all values pointed by selected field map key from source TsEntry_Info
  1203  func (fpm *TsEntryInfo_FieldPathMap) Get(source *TsEntry_Info) (values []interface{}) {
  1204  	switch fpm.selector {
  1205  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1206  		if value, ok := source.GetCommonMetricLabels()[fpm.key]; ok {
  1207  			values = append(values, value)
  1208  		}
  1209  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1210  		if value, ok := source.GetCommonResourceLabels()[fpm.key]; ok {
  1211  			values = append(values, value)
  1212  		}
  1213  	default:
  1214  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpm.selector))
  1215  	}
  1216  	return
  1217  }
  1218  
  1219  func (fpm *TsEntryInfo_FieldPathMap) GetRaw(source proto.Message) []interface{} {
  1220  	return fpm.Get(source.(*TsEntry_Info))
  1221  }
  1222  
  1223  // GetSingle returns value by selected field map key from source TsEntry_Info
  1224  func (fpm *TsEntryInfo_FieldPathMap) GetSingle(source *TsEntry_Info) (interface{}, bool) {
  1225  	switch fpm.selector {
  1226  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1227  		res, ok := source.GetCommonMetricLabels()[fpm.key]
  1228  		return res, ok
  1229  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1230  		res, ok := source.GetCommonResourceLabels()[fpm.key]
  1231  		return res, ok
  1232  	default:
  1233  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpm.selector))
  1234  	}
  1235  }
  1236  
  1237  func (fpm *TsEntryInfo_FieldPathMap) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1238  	return fpm.GetSingle(source.(*TsEntry_Info))
  1239  }
  1240  
  1241  // GetDefault returns a default value of the field type
  1242  func (fpm *TsEntryInfo_FieldPathMap) GetDefault() interface{} {
  1243  	switch fpm.selector {
  1244  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1245  		var v string
  1246  		return v
  1247  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1248  		var v string
  1249  		return v
  1250  	default:
  1251  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpm.selector))
  1252  	}
  1253  }
  1254  
  1255  func (fpm *TsEntryInfo_FieldPathMap) ClearValue(item *TsEntry_Info) {
  1256  	if item != nil {
  1257  		switch fpm.selector {
  1258  		case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1259  			delete(item.CommonMetricLabels, fpm.key)
  1260  		case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1261  			delete(item.CommonResourceLabels, fpm.key)
  1262  		default:
  1263  			panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpm.selector))
  1264  		}
  1265  	}
  1266  }
  1267  
  1268  func (fpm *TsEntryInfo_FieldPathMap) ClearValueRaw(item proto.Message) {
  1269  	fpm.ClearValue(item.(*TsEntry_Info))
  1270  }
  1271  
  1272  // IsLeaf - whether field path is holds simple value
  1273  func (fpm *TsEntryInfo_FieldPathMap) IsLeaf() bool {
  1274  	switch fpm.selector {
  1275  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1276  		return true
  1277  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1278  		return true
  1279  	default:
  1280  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpm.selector))
  1281  	}
  1282  }
  1283  
  1284  func (fpm *TsEntryInfo_FieldPathMap) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  1285  	return []gotenobject.FieldPath{fpm}
  1286  }
  1287  
  1288  func (fpm *TsEntryInfo_FieldPathMap) WithIValue(value interface{}) TsEntryInfo_FieldPathValue {
  1289  	switch fpm.selector {
  1290  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1291  		return &TsEntryInfo_FieldPathMapValue{TsEntryInfo_FieldPathMap: *fpm, value: value.(string)}
  1292  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1293  		return &TsEntryInfo_FieldPathMapValue{TsEntryInfo_FieldPathMap: *fpm, value: value.(string)}
  1294  	default:
  1295  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpm.selector))
  1296  	}
  1297  }
  1298  
  1299  func (fpm *TsEntryInfo_FieldPathMap) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  1300  	return fpm.WithIValue(value)
  1301  }
  1302  
  1303  func (fpm *TsEntryInfo_FieldPathMap) WithIArrayOfValues(values interface{}) TsEntryInfo_FieldPathArrayOfValues {
  1304  	switch fpm.selector {
  1305  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1306  		return &TsEntryInfo_FieldPathMapArrayOfValues{TsEntryInfo_FieldPathMap: *fpm, values: values.([]string)}
  1307  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1308  		return &TsEntryInfo_FieldPathMapArrayOfValues{TsEntryInfo_FieldPathMap: *fpm, values: values.([]string)}
  1309  	default:
  1310  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpm.selector))
  1311  	}
  1312  }
  1313  
  1314  func (fpm *TsEntryInfo_FieldPathMap) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  1315  	return fpm.WithIArrayOfValues(values)
  1316  }
  1317  
  1318  func (fpm *TsEntryInfo_FieldPathMap) WithIArrayItemValue(value interface{}) TsEntryInfo_FieldPathArrayItemValue {
  1319  	panic("Cannot create array item value from map fieldpath")
  1320  }
  1321  
  1322  func (fpm *TsEntryInfo_FieldPathMap) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  1323  	return fpm.WithIArrayItemValue(value)
  1324  }
  1325  
  1326  type TsEntryInfo_FieldSubPath struct {
  1327  	selector TsEntryInfo_FieldPathSelector
  1328  	subPath  gotenobject.FieldPath
  1329  }
  1330  
  1331  var _ TsEntryInfo_FieldPath = (*TsEntryInfo_FieldSubPath)(nil)
  1332  
  1333  func (fps *TsEntryInfo_FieldSubPath) Selector() TsEntryInfo_FieldPathSelector {
  1334  	return fps.selector
  1335  }
  1336  func (fps *TsEntryInfo_FieldSubPath) AsAlertingResourceSubPath() (meta.OwnerReference_FieldPath, bool) {
  1337  	res, ok := fps.subPath.(meta.OwnerReference_FieldPath)
  1338  	return res, ok
  1339  }
  1340  
  1341  // String returns path representation in proto convention
  1342  func (fps *TsEntryInfo_FieldSubPath) String() string {
  1343  	return fps.selector.String() + "." + fps.subPath.String()
  1344  }
  1345  
  1346  // JSONString returns path representation is JSON convention
  1347  func (fps *TsEntryInfo_FieldSubPath) JSONString() string {
  1348  	return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString()
  1349  }
  1350  
  1351  // Get returns all values pointed by selected field from source TsEntry_Info
  1352  func (fps *TsEntryInfo_FieldSubPath) Get(source *TsEntry_Info) (values []interface{}) {
  1353  	switch fps.selector {
  1354  	case TsEntryInfo_FieldPathSelectorAlertingResource:
  1355  		values = append(values, fps.subPath.GetRaw(source.GetAlertingResource())...)
  1356  	default:
  1357  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fps.selector))
  1358  	}
  1359  	return
  1360  }
  1361  
  1362  func (fps *TsEntryInfo_FieldSubPath) GetRaw(source proto.Message) []interface{} {
  1363  	return fps.Get(source.(*TsEntry_Info))
  1364  }
  1365  
  1366  // GetSingle returns value of selected field from source TsEntry_Info
  1367  func (fps *TsEntryInfo_FieldSubPath) GetSingle(source *TsEntry_Info) (interface{}, bool) {
  1368  	switch fps.selector {
  1369  	case TsEntryInfo_FieldPathSelectorAlertingResource:
  1370  		if source.GetAlertingResource() == nil {
  1371  			return nil, false
  1372  		}
  1373  		return fps.subPath.GetSingleRaw(source.GetAlertingResource())
  1374  	default:
  1375  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fps.selector))
  1376  	}
  1377  }
  1378  
  1379  func (fps *TsEntryInfo_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1380  	return fps.GetSingle(source.(*TsEntry_Info))
  1381  }
  1382  
  1383  // GetDefault returns a default value of the field type
  1384  func (fps *TsEntryInfo_FieldSubPath) GetDefault() interface{} {
  1385  	return fps.subPath.GetDefault()
  1386  }
  1387  
  1388  func (fps *TsEntryInfo_FieldSubPath) ClearValue(item *TsEntry_Info) {
  1389  	if item != nil {
  1390  		switch fps.selector {
  1391  		case TsEntryInfo_FieldPathSelectorAlertingResource:
  1392  			fps.subPath.ClearValueRaw(item.AlertingResource)
  1393  		default:
  1394  			panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fps.selector))
  1395  		}
  1396  	}
  1397  }
  1398  
  1399  func (fps *TsEntryInfo_FieldSubPath) ClearValueRaw(item proto.Message) {
  1400  	fps.ClearValue(item.(*TsEntry_Info))
  1401  }
  1402  
  1403  // IsLeaf - whether field path is holds simple value
  1404  func (fps *TsEntryInfo_FieldSubPath) IsLeaf() bool {
  1405  	return fps.subPath.IsLeaf()
  1406  }
  1407  
  1408  func (fps *TsEntryInfo_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  1409  	iPaths := []gotenobject.FieldPath{&TsEntryInfo_FieldTerminalPath{selector: fps.selector}}
  1410  	iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...)
  1411  	return iPaths
  1412  }
  1413  
  1414  func (fps *TsEntryInfo_FieldSubPath) WithIValue(value interface{}) TsEntryInfo_FieldPathValue {
  1415  	return &TsEntryInfo_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)}
  1416  }
  1417  
  1418  func (fps *TsEntryInfo_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  1419  	return fps.WithIValue(value)
  1420  }
  1421  
  1422  func (fps *TsEntryInfo_FieldSubPath) WithIArrayOfValues(values interface{}) TsEntryInfo_FieldPathArrayOfValues {
  1423  	return &TsEntryInfo_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)}
  1424  }
  1425  
  1426  func (fps *TsEntryInfo_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  1427  	return fps.WithIArrayOfValues(values)
  1428  }
  1429  
  1430  func (fps *TsEntryInfo_FieldSubPath) WithIArrayItemValue(value interface{}) TsEntryInfo_FieldPathArrayItemValue {
  1431  	return &TsEntryInfo_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)}
  1432  }
  1433  
  1434  func (fps *TsEntryInfo_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  1435  	return fps.WithIArrayItemValue(value)
  1436  }
  1437  
  1438  // TsEntryInfo_FieldPathValue allows storing values for Info fields according to their type
  1439  type TsEntryInfo_FieldPathValue interface {
  1440  	TsEntryInfo_FieldPath
  1441  	gotenobject.FieldPathValue
  1442  	SetTo(target **TsEntry_Info)
  1443  	CompareWith(*TsEntry_Info) (cmp int, comparable bool)
  1444  }
  1445  
  1446  func ParseTsEntryInfo_FieldPathValue(pathStr, valueStr string) (TsEntryInfo_FieldPathValue, error) {
  1447  	fp, err := ParseTsEntryInfo_FieldPath(pathStr)
  1448  	if err != nil {
  1449  		return nil, err
  1450  	}
  1451  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
  1452  	if err != nil {
  1453  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Info field path value from %s: %v", valueStr, err)
  1454  	}
  1455  	return fpv.(TsEntryInfo_FieldPathValue), nil
  1456  }
  1457  
  1458  func MustParseTsEntryInfo_FieldPathValue(pathStr, valueStr string) TsEntryInfo_FieldPathValue {
  1459  	fpv, err := ParseTsEntryInfo_FieldPathValue(pathStr, valueStr)
  1460  	if err != nil {
  1461  		panic(err)
  1462  	}
  1463  	return fpv
  1464  }
  1465  
  1466  type TsEntryInfo_FieldTerminalPathValue struct {
  1467  	TsEntryInfo_FieldTerminalPath
  1468  	value interface{}
  1469  }
  1470  
  1471  var _ TsEntryInfo_FieldPathValue = (*TsEntryInfo_FieldTerminalPathValue)(nil)
  1472  
  1473  // GetRawValue returns raw value stored under selected path for 'Info' as interface{}
  1474  func (fpv *TsEntryInfo_FieldTerminalPathValue) GetRawValue() interface{} {
  1475  	return fpv.value
  1476  }
  1477  func (fpv *TsEntryInfo_FieldTerminalPathValue) AsAlertingResourceValue() (*meta.OwnerReference, bool) {
  1478  	res, ok := fpv.value.(*meta.OwnerReference)
  1479  	return res, ok
  1480  }
  1481  func (fpv *TsEntryInfo_FieldTerminalPathValue) AsGroupByKeyValue() ([]byte, bool) {
  1482  	res, ok := fpv.value.([]byte)
  1483  	return res, ok
  1484  }
  1485  func (fpv *TsEntryInfo_FieldTerminalPathValue) AsCommonMetricLabelsValue() (map[string]string, bool) {
  1486  	res, ok := fpv.value.(map[string]string)
  1487  	return res, ok
  1488  }
  1489  func (fpv *TsEntryInfo_FieldTerminalPathValue) AsCommonResourceLabelsValue() (map[string]string, bool) {
  1490  	res, ok := fpv.value.(map[string]string)
  1491  	return res, ok
  1492  }
  1493  
  1494  // SetTo stores value for selected field for object Info
  1495  func (fpv *TsEntryInfo_FieldTerminalPathValue) SetTo(target **TsEntry_Info) {
  1496  	if *target == nil {
  1497  		*target = new(TsEntry_Info)
  1498  	}
  1499  	switch fpv.selector {
  1500  	case TsEntryInfo_FieldPathSelectorAlertingResource:
  1501  		(*target).AlertingResource = fpv.value.(*meta.OwnerReference)
  1502  	case TsEntryInfo_FieldPathSelectorGroupByKey:
  1503  		(*target).GroupByKey = fpv.value.([]byte)
  1504  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1505  		(*target).CommonMetricLabels = fpv.value.(map[string]string)
  1506  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1507  		(*target).CommonResourceLabels = fpv.value.(map[string]string)
  1508  	default:
  1509  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpv.selector))
  1510  	}
  1511  }
  1512  
  1513  func (fpv *TsEntryInfo_FieldTerminalPathValue) SetToRaw(target proto.Message) {
  1514  	typedObject := target.(*TsEntry_Info)
  1515  	fpv.SetTo(&typedObject)
  1516  }
  1517  
  1518  // CompareWith compares value in the 'TsEntryInfo_FieldTerminalPathValue' with the value under path in 'TsEntry_Info'.
  1519  func (fpv *TsEntryInfo_FieldTerminalPathValue) CompareWith(source *TsEntry_Info) (int, bool) {
  1520  	switch fpv.selector {
  1521  	case TsEntryInfo_FieldPathSelectorAlertingResource:
  1522  		return 0, false
  1523  	case TsEntryInfo_FieldPathSelectorGroupByKey:
  1524  		return 0, false
  1525  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1526  		return 0, false
  1527  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1528  		return 0, false
  1529  	default:
  1530  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpv.selector))
  1531  	}
  1532  }
  1533  
  1534  func (fpv *TsEntryInfo_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  1535  	return fpv.CompareWith(source.(*TsEntry_Info))
  1536  }
  1537  
  1538  type TsEntryInfo_FieldPathMapValue struct {
  1539  	TsEntryInfo_FieldPathMap
  1540  	value interface{}
  1541  }
  1542  
  1543  var _ TsEntryInfo_FieldPathValue = (*TsEntryInfo_FieldPathMapValue)(nil)
  1544  
  1545  // GetValue returns value stored under selected field in Info as interface{}
  1546  func (fpmv *TsEntryInfo_FieldPathMapValue) GetRawValue() interface{} {
  1547  	return fpmv.value
  1548  }
  1549  func (fpmv *TsEntryInfo_FieldPathMapValue) AsCommonMetricLabelsElementValue() (string, bool) {
  1550  	res, ok := fpmv.value.(string)
  1551  	return res, ok
  1552  }
  1553  func (fpmv *TsEntryInfo_FieldPathMapValue) AsCommonResourceLabelsElementValue() (string, bool) {
  1554  	res, ok := fpmv.value.(string)
  1555  	return res, ok
  1556  }
  1557  
  1558  // SetTo stores value for selected field in Info
  1559  func (fpmv *TsEntryInfo_FieldPathMapValue) SetTo(target **TsEntry_Info) {
  1560  	if *target == nil {
  1561  		*target = new(TsEntry_Info)
  1562  	}
  1563  	switch fpmv.selector {
  1564  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1565  		if (*target).CommonMetricLabels == nil {
  1566  			(*target).CommonMetricLabels = make(map[string]string)
  1567  		}
  1568  		(*target).CommonMetricLabels[fpmv.key] = fpmv.value.(string)
  1569  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1570  		if (*target).CommonResourceLabels == nil {
  1571  			(*target).CommonResourceLabels = make(map[string]string)
  1572  		}
  1573  		(*target).CommonResourceLabels[fpmv.key] = fpmv.value.(string)
  1574  	default:
  1575  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpmv.selector))
  1576  	}
  1577  }
  1578  
  1579  func (fpmv *TsEntryInfo_FieldPathMapValue) SetToRaw(target proto.Message) {
  1580  	typedObject := target.(*TsEntry_Info)
  1581  	fpmv.SetTo(&typedObject)
  1582  }
  1583  
  1584  // CompareWith compares value in the 'TsEntryInfo_FieldPathMapValue' with the value under path in 'TsEntry_Info'.
  1585  func (fpmv *TsEntryInfo_FieldPathMapValue) CompareWith(source *TsEntry_Info) (int, bool) {
  1586  	switch fpmv.selector {
  1587  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1588  		leftValue := fpmv.value.(string)
  1589  		rightValue := source.GetCommonMetricLabels()[fpmv.key]
  1590  		if (leftValue) == (rightValue) {
  1591  			return 0, true
  1592  		} else if (leftValue) < (rightValue) {
  1593  			return -1, true
  1594  		} else {
  1595  			return 1, true
  1596  		}
  1597  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1598  		leftValue := fpmv.value.(string)
  1599  		rightValue := source.GetCommonResourceLabels()[fpmv.key]
  1600  		if (leftValue) == (rightValue) {
  1601  			return 0, true
  1602  		} else if (leftValue) < (rightValue) {
  1603  			return -1, true
  1604  		} else {
  1605  			return 1, true
  1606  		}
  1607  	default:
  1608  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpmv.selector))
  1609  	}
  1610  }
  1611  
  1612  func (fpmv *TsEntryInfo_FieldPathMapValue) CompareWithRaw(source proto.Message) (int, bool) {
  1613  	return fpmv.CompareWith(source.(*TsEntry_Info))
  1614  }
  1615  
  1616  type TsEntryInfo_FieldSubPathValue struct {
  1617  	TsEntryInfo_FieldPath
  1618  	subPathValue gotenobject.FieldPathValue
  1619  }
  1620  
  1621  var _ TsEntryInfo_FieldPathValue = (*TsEntryInfo_FieldSubPathValue)(nil)
  1622  
  1623  func (fpvs *TsEntryInfo_FieldSubPathValue) AsAlertingResourcePathValue() (meta.OwnerReference_FieldPathValue, bool) {
  1624  	res, ok := fpvs.subPathValue.(meta.OwnerReference_FieldPathValue)
  1625  	return res, ok
  1626  }
  1627  
  1628  func (fpvs *TsEntryInfo_FieldSubPathValue) SetTo(target **TsEntry_Info) {
  1629  	if *target == nil {
  1630  		*target = new(TsEntry_Info)
  1631  	}
  1632  	switch fpvs.Selector() {
  1633  	case TsEntryInfo_FieldPathSelectorAlertingResource:
  1634  		fpvs.subPathValue.(meta.OwnerReference_FieldPathValue).SetTo(&(*target).AlertingResource)
  1635  	default:
  1636  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpvs.Selector()))
  1637  	}
  1638  }
  1639  
  1640  func (fpvs *TsEntryInfo_FieldSubPathValue) SetToRaw(target proto.Message) {
  1641  	typedObject := target.(*TsEntry_Info)
  1642  	fpvs.SetTo(&typedObject)
  1643  }
  1644  
  1645  func (fpvs *TsEntryInfo_FieldSubPathValue) GetRawValue() interface{} {
  1646  	return fpvs.subPathValue.GetRawValue()
  1647  }
  1648  
  1649  func (fpvs *TsEntryInfo_FieldSubPathValue) CompareWith(source *TsEntry_Info) (int, bool) {
  1650  	switch fpvs.Selector() {
  1651  	case TsEntryInfo_FieldPathSelectorAlertingResource:
  1652  		return fpvs.subPathValue.(meta.OwnerReference_FieldPathValue).CompareWith(source.GetAlertingResource())
  1653  	default:
  1654  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpvs.Selector()))
  1655  	}
  1656  }
  1657  
  1658  func (fpvs *TsEntryInfo_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  1659  	return fpvs.CompareWith(source.(*TsEntry_Info))
  1660  }
  1661  
  1662  // TsEntryInfo_FieldPathArrayItemValue allows storing single item in Path-specific values for Info according to their type
  1663  // Present only for array (repeated) types.
  1664  type TsEntryInfo_FieldPathArrayItemValue interface {
  1665  	gotenobject.FieldPathArrayItemValue
  1666  	TsEntryInfo_FieldPath
  1667  	ContainsValue(*TsEntry_Info) bool
  1668  }
  1669  
  1670  // ParseTsEntryInfo_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
  1671  func ParseTsEntryInfo_FieldPathArrayItemValue(pathStr, valueStr string) (TsEntryInfo_FieldPathArrayItemValue, error) {
  1672  	fp, err := ParseTsEntryInfo_FieldPath(pathStr)
  1673  	if err != nil {
  1674  		return nil, err
  1675  	}
  1676  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
  1677  	if err != nil {
  1678  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Info field path array item value from %s: %v", valueStr, err)
  1679  	}
  1680  	return fpaiv.(TsEntryInfo_FieldPathArrayItemValue), nil
  1681  }
  1682  
  1683  func MustParseTsEntryInfo_FieldPathArrayItemValue(pathStr, valueStr string) TsEntryInfo_FieldPathArrayItemValue {
  1684  	fpaiv, err := ParseTsEntryInfo_FieldPathArrayItemValue(pathStr, valueStr)
  1685  	if err != nil {
  1686  		panic(err)
  1687  	}
  1688  	return fpaiv
  1689  }
  1690  
  1691  type TsEntryInfo_FieldTerminalPathArrayItemValue struct {
  1692  	TsEntryInfo_FieldTerminalPath
  1693  	value interface{}
  1694  }
  1695  
  1696  var _ TsEntryInfo_FieldPathArrayItemValue = (*TsEntryInfo_FieldTerminalPathArrayItemValue)(nil)
  1697  
  1698  // GetRawValue returns stored element value for array in object TsEntry_Info as interface{}
  1699  func (fpaiv *TsEntryInfo_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
  1700  	return fpaiv.value
  1701  }
  1702  
  1703  func (fpaiv *TsEntryInfo_FieldTerminalPathArrayItemValue) GetSingle(source *TsEntry_Info) (interface{}, bool) {
  1704  	return nil, false
  1705  }
  1706  
  1707  func (fpaiv *TsEntryInfo_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1708  	return fpaiv.GetSingle(source.(*TsEntry_Info))
  1709  }
  1710  
  1711  // Contains returns a boolean indicating if value that is being held is present in given 'Info'
  1712  func (fpaiv *TsEntryInfo_FieldTerminalPathArrayItemValue) ContainsValue(source *TsEntry_Info) bool {
  1713  	slice := fpaiv.TsEntryInfo_FieldTerminalPath.Get(source)
  1714  	for _, v := range slice {
  1715  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  1716  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  1717  				return true
  1718  			}
  1719  		} else if reflect.DeepEqual(v, fpaiv.value) {
  1720  			return true
  1721  		}
  1722  	}
  1723  	return false
  1724  }
  1725  
  1726  type TsEntryInfo_FieldSubPathArrayItemValue struct {
  1727  	TsEntryInfo_FieldPath
  1728  	subPathItemValue gotenobject.FieldPathArrayItemValue
  1729  }
  1730  
  1731  // GetRawValue returns stored array item value
  1732  func (fpaivs *TsEntryInfo_FieldSubPathArrayItemValue) GetRawItemValue() interface{} {
  1733  	return fpaivs.subPathItemValue.GetRawItemValue()
  1734  }
  1735  func (fpaivs *TsEntryInfo_FieldSubPathArrayItemValue) AsAlertingResourcePathItemValue() (meta.OwnerReference_FieldPathArrayItemValue, bool) {
  1736  	res, ok := fpaivs.subPathItemValue.(meta.OwnerReference_FieldPathArrayItemValue)
  1737  	return res, ok
  1738  }
  1739  
  1740  // Contains returns a boolean indicating if value that is being held is present in given 'Info'
  1741  func (fpaivs *TsEntryInfo_FieldSubPathArrayItemValue) ContainsValue(source *TsEntry_Info) bool {
  1742  	switch fpaivs.Selector() {
  1743  	case TsEntryInfo_FieldPathSelectorAlertingResource:
  1744  		return fpaivs.subPathItemValue.(meta.OwnerReference_FieldPathArrayItemValue).ContainsValue(source.GetAlertingResource())
  1745  	default:
  1746  		panic(fmt.Sprintf("Invalid selector for TsEntry_Info: %d", fpaivs.Selector()))
  1747  	}
  1748  }
  1749  
  1750  // TsEntryInfo_FieldPathArrayOfValues allows storing slice of values for Info fields according to their type
  1751  type TsEntryInfo_FieldPathArrayOfValues interface {
  1752  	gotenobject.FieldPathArrayOfValues
  1753  	TsEntryInfo_FieldPath
  1754  }
  1755  
  1756  func ParseTsEntryInfo_FieldPathArrayOfValues(pathStr, valuesStr string) (TsEntryInfo_FieldPathArrayOfValues, error) {
  1757  	fp, err := ParseTsEntryInfo_FieldPath(pathStr)
  1758  	if err != nil {
  1759  		return nil, err
  1760  	}
  1761  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  1762  	if err != nil {
  1763  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Info field path array of values from %s: %v", valuesStr, err)
  1764  	}
  1765  	return fpaov.(TsEntryInfo_FieldPathArrayOfValues), nil
  1766  }
  1767  
  1768  func MustParseTsEntryInfo_FieldPathArrayOfValues(pathStr, valuesStr string) TsEntryInfo_FieldPathArrayOfValues {
  1769  	fpaov, err := ParseTsEntryInfo_FieldPathArrayOfValues(pathStr, valuesStr)
  1770  	if err != nil {
  1771  		panic(err)
  1772  	}
  1773  	return fpaov
  1774  }
  1775  
  1776  type TsEntryInfo_FieldTerminalPathArrayOfValues struct {
  1777  	TsEntryInfo_FieldTerminalPath
  1778  	values interface{}
  1779  }
  1780  
  1781  var _ TsEntryInfo_FieldPathArrayOfValues = (*TsEntryInfo_FieldTerminalPathArrayOfValues)(nil)
  1782  
  1783  func (fpaov *TsEntryInfo_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  1784  	switch fpaov.selector {
  1785  	case TsEntryInfo_FieldPathSelectorAlertingResource:
  1786  		for _, v := range fpaov.values.([]*meta.OwnerReference) {
  1787  			values = append(values, v)
  1788  		}
  1789  	case TsEntryInfo_FieldPathSelectorGroupByKey:
  1790  		for _, v := range fpaov.values.([][]byte) {
  1791  			values = append(values, v)
  1792  		}
  1793  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1794  		for _, v := range fpaov.values.([]map[string]string) {
  1795  			values = append(values, v)
  1796  		}
  1797  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1798  		for _, v := range fpaov.values.([]map[string]string) {
  1799  			values = append(values, v)
  1800  		}
  1801  	}
  1802  	return
  1803  }
  1804  func (fpaov *TsEntryInfo_FieldTerminalPathArrayOfValues) AsAlertingResourceArrayOfValues() ([]*meta.OwnerReference, bool) {
  1805  	res, ok := fpaov.values.([]*meta.OwnerReference)
  1806  	return res, ok
  1807  }
  1808  func (fpaov *TsEntryInfo_FieldTerminalPathArrayOfValues) AsGroupByKeyArrayOfValues() ([][]byte, bool) {
  1809  	res, ok := fpaov.values.([][]byte)
  1810  	return res, ok
  1811  }
  1812  func (fpaov *TsEntryInfo_FieldTerminalPathArrayOfValues) AsCommonMetricLabelsArrayOfValues() ([]map[string]string, bool) {
  1813  	res, ok := fpaov.values.([]map[string]string)
  1814  	return res, ok
  1815  }
  1816  func (fpaov *TsEntryInfo_FieldTerminalPathArrayOfValues) AsCommonResourceLabelsArrayOfValues() ([]map[string]string, bool) {
  1817  	res, ok := fpaov.values.([]map[string]string)
  1818  	return res, ok
  1819  }
  1820  
  1821  type TsEntryInfo_FieldPathMapArrayOfValues struct {
  1822  	TsEntryInfo_FieldPathMap
  1823  	values interface{}
  1824  }
  1825  
  1826  var _ TsEntryInfo_FieldPathArrayOfValues = (*TsEntryInfo_FieldPathMapArrayOfValues)(nil)
  1827  
  1828  func (fpmaov *TsEntryInfo_FieldPathMapArrayOfValues) GetRawValues() (values []interface{}) {
  1829  	switch fpmaov.selector {
  1830  	case TsEntryInfo_FieldPathSelectorCommonMetricLabels:
  1831  		for _, v := range fpmaov.values.([]string) {
  1832  			values = append(values, v)
  1833  		}
  1834  	case TsEntryInfo_FieldPathSelectorCommonResourceLabels:
  1835  		for _, v := range fpmaov.values.([]string) {
  1836  			values = append(values, v)
  1837  		}
  1838  	}
  1839  	return
  1840  }
  1841  func (fpmaov *TsEntryInfo_FieldPathMapArrayOfValues) AsCommonMetricLabelsArrayOfElementValues() ([]string, bool) {
  1842  	res, ok := fpmaov.values.([]string)
  1843  	return res, ok
  1844  }
  1845  func (fpmaov *TsEntryInfo_FieldPathMapArrayOfValues) AsCommonResourceLabelsArrayOfElementValues() ([]string, bool) {
  1846  	res, ok := fpmaov.values.([]string)
  1847  	return res, ok
  1848  }
  1849  
  1850  type TsEntryInfo_FieldSubPathArrayOfValues struct {
  1851  	TsEntryInfo_FieldPath
  1852  	subPathArrayOfValues gotenobject.FieldPathArrayOfValues
  1853  }
  1854  
  1855  var _ TsEntryInfo_FieldPathArrayOfValues = (*TsEntryInfo_FieldSubPathArrayOfValues)(nil)
  1856  
  1857  func (fpsaov *TsEntryInfo_FieldSubPathArrayOfValues) GetRawValues() []interface{} {
  1858  	return fpsaov.subPathArrayOfValues.GetRawValues()
  1859  }
  1860  func (fpsaov *TsEntryInfo_FieldSubPathArrayOfValues) AsAlertingResourcePathArrayOfValues() (meta.OwnerReference_FieldPathArrayOfValues, bool) {
  1861  	res, ok := fpsaov.subPathArrayOfValues.(meta.OwnerReference_FieldPathArrayOfValues)
  1862  	return res, ok
  1863  }
  1864  
  1865  // FieldPath provides implementation to handle
  1866  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
  1867  type TsEntryState_FieldPath interface {
  1868  	gotenobject.FieldPath
  1869  	Selector() TsEntryState_FieldPathSelector
  1870  	Get(source *TsEntry_State) []interface{}
  1871  	GetSingle(source *TsEntry_State) (interface{}, bool)
  1872  	ClearValue(item *TsEntry_State)
  1873  
  1874  	// Those methods build corresponding TsEntryState_FieldPathValue
  1875  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
  1876  	WithIValue(value interface{}) TsEntryState_FieldPathValue
  1877  	WithIArrayOfValues(values interface{}) TsEntryState_FieldPathArrayOfValues
  1878  	WithIArrayItemValue(value interface{}) TsEntryState_FieldPathArrayItemValue
  1879  }
  1880  
  1881  type TsEntryState_FieldPathSelector int32
  1882  
  1883  const (
  1884  	TsEntryState_FieldPathSelectorModels     TsEntryState_FieldPathSelector = 0
  1885  	TsEntryState_FieldPathSelectorThresholds TsEntryState_FieldPathSelector = 1
  1886  )
  1887  
  1888  func (s TsEntryState_FieldPathSelector) String() string {
  1889  	switch s {
  1890  	case TsEntryState_FieldPathSelectorModels:
  1891  		return "models"
  1892  	case TsEntryState_FieldPathSelectorThresholds:
  1893  		return "thresholds"
  1894  	default:
  1895  		panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", s))
  1896  	}
  1897  }
  1898  
  1899  func BuildTsEntryState_FieldPath(fp gotenobject.RawFieldPath) (TsEntryState_FieldPath, error) {
  1900  	if len(fp) == 0 {
  1901  		return nil, status.Error(codes.InvalidArgument, "empty field path for object TsEntry_State")
  1902  	}
  1903  	if len(fp) == 1 {
  1904  		switch fp[0] {
  1905  		case "models":
  1906  			return &TsEntryState_FieldTerminalPath{selector: TsEntryState_FieldPathSelectorModels}, nil
  1907  		case "thresholds":
  1908  			return &TsEntryState_FieldTerminalPath{selector: TsEntryState_FieldPathSelectorThresholds}, nil
  1909  		}
  1910  	} else {
  1911  		switch fp[0] {
  1912  		case "models":
  1913  			if subpath, err := BuildTsEntryStateAnomalyModelData_FieldPath(fp[1:]); err != nil {
  1914  				return nil, err
  1915  			} else {
  1916  				return &TsEntryState_FieldSubPath{selector: TsEntryState_FieldPathSelectorModels, subPath: subpath}, nil
  1917  			}
  1918  		case "thresholds":
  1919  			if subpath, err := BuildTsEntryStateAdaptiveThresholdInfo_FieldPath(fp[1:]); err != nil {
  1920  				return nil, err
  1921  			} else {
  1922  				return &TsEntryState_FieldSubPath{selector: TsEntryState_FieldPathSelectorThresholds, subPath: subpath}, nil
  1923  			}
  1924  		}
  1925  	}
  1926  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object TsEntry_State", fp)
  1927  }
  1928  
  1929  func ParseTsEntryState_FieldPath(rawField string) (TsEntryState_FieldPath, error) {
  1930  	fp, err := gotenobject.ParseRawFieldPath(rawField)
  1931  	if err != nil {
  1932  		return nil, err
  1933  	}
  1934  	return BuildTsEntryState_FieldPath(fp)
  1935  }
  1936  
  1937  func MustParseTsEntryState_FieldPath(rawField string) TsEntryState_FieldPath {
  1938  	fp, err := ParseTsEntryState_FieldPath(rawField)
  1939  	if err != nil {
  1940  		panic(err)
  1941  	}
  1942  	return fp
  1943  }
  1944  
  1945  type TsEntryState_FieldTerminalPath struct {
  1946  	selector TsEntryState_FieldPathSelector
  1947  }
  1948  
  1949  var _ TsEntryState_FieldPath = (*TsEntryState_FieldTerminalPath)(nil)
  1950  
  1951  func (fp *TsEntryState_FieldTerminalPath) Selector() TsEntryState_FieldPathSelector {
  1952  	return fp.selector
  1953  }
  1954  
  1955  // String returns path representation in proto convention
  1956  func (fp *TsEntryState_FieldTerminalPath) String() string {
  1957  	return fp.selector.String()
  1958  }
  1959  
  1960  // JSONString returns path representation is JSON convention
  1961  func (fp *TsEntryState_FieldTerminalPath) JSONString() string {
  1962  	return strcase.ToLowerCamel(fp.String())
  1963  }
  1964  
  1965  // Get returns all values pointed by specific field from source TsEntry_State
  1966  func (fp *TsEntryState_FieldTerminalPath) Get(source *TsEntry_State) (values []interface{}) {
  1967  	if source != nil {
  1968  		switch fp.selector {
  1969  		case TsEntryState_FieldPathSelectorModels:
  1970  			for _, value := range source.GetModels() {
  1971  				values = append(values, value)
  1972  			}
  1973  		case TsEntryState_FieldPathSelectorThresholds:
  1974  			for _, value := range source.GetThresholds() {
  1975  				values = append(values, value)
  1976  			}
  1977  		default:
  1978  			panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fp.selector))
  1979  		}
  1980  	}
  1981  	return
  1982  }
  1983  
  1984  func (fp *TsEntryState_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
  1985  	return fp.Get(source.(*TsEntry_State))
  1986  }
  1987  
  1988  // GetSingle returns value pointed by specific field of from source TsEntry_State
  1989  func (fp *TsEntryState_FieldTerminalPath) GetSingle(source *TsEntry_State) (interface{}, bool) {
  1990  	switch fp.selector {
  1991  	case TsEntryState_FieldPathSelectorModels:
  1992  		res := source.GetModels()
  1993  		return res, res != nil
  1994  	case TsEntryState_FieldPathSelectorThresholds:
  1995  		res := source.GetThresholds()
  1996  		return res, res != nil
  1997  	default:
  1998  		panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fp.selector))
  1999  	}
  2000  }
  2001  
  2002  func (fp *TsEntryState_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  2003  	return fp.GetSingle(source.(*TsEntry_State))
  2004  }
  2005  
  2006  // GetDefault returns a default value of the field type
  2007  func (fp *TsEntryState_FieldTerminalPath) GetDefault() interface{} {
  2008  	switch fp.selector {
  2009  	case TsEntryState_FieldPathSelectorModels:
  2010  		return ([]*TsEntry_State_AnomalyModelData)(nil)
  2011  	case TsEntryState_FieldPathSelectorThresholds:
  2012  		return ([]*TsEntry_State_AdaptiveThresholdInfo)(nil)
  2013  	default:
  2014  		panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fp.selector))
  2015  	}
  2016  }
  2017  
  2018  func (fp *TsEntryState_FieldTerminalPath) ClearValue(item *TsEntry_State) {
  2019  	if item != nil {
  2020  		switch fp.selector {
  2021  		case TsEntryState_FieldPathSelectorModels:
  2022  			item.Models = nil
  2023  		case TsEntryState_FieldPathSelectorThresholds:
  2024  			item.Thresholds = nil
  2025  		default:
  2026  			panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fp.selector))
  2027  		}
  2028  	}
  2029  }
  2030  
  2031  func (fp *TsEntryState_FieldTerminalPath) ClearValueRaw(item proto.Message) {
  2032  	fp.ClearValue(item.(*TsEntry_State))
  2033  }
  2034  
  2035  // IsLeaf - whether field path is holds simple value
  2036  func (fp *TsEntryState_FieldTerminalPath) IsLeaf() bool {
  2037  	return false
  2038  }
  2039  
  2040  func (fp *TsEntryState_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  2041  	return []gotenobject.FieldPath{fp}
  2042  }
  2043  
  2044  func (fp *TsEntryState_FieldTerminalPath) WithIValue(value interface{}) TsEntryState_FieldPathValue {
  2045  	switch fp.selector {
  2046  	case TsEntryState_FieldPathSelectorModels:
  2047  		return &TsEntryState_FieldTerminalPathValue{TsEntryState_FieldTerminalPath: *fp, value: value.([]*TsEntry_State_AnomalyModelData)}
  2048  	case TsEntryState_FieldPathSelectorThresholds:
  2049  		return &TsEntryState_FieldTerminalPathValue{TsEntryState_FieldTerminalPath: *fp, value: value.([]*TsEntry_State_AdaptiveThresholdInfo)}
  2050  	default:
  2051  		panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fp.selector))
  2052  	}
  2053  }
  2054  
  2055  func (fp *TsEntryState_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  2056  	return fp.WithIValue(value)
  2057  }
  2058  
  2059  func (fp *TsEntryState_FieldTerminalPath) WithIArrayOfValues(values interface{}) TsEntryState_FieldPathArrayOfValues {
  2060  	fpaov := &TsEntryState_FieldTerminalPathArrayOfValues{TsEntryState_FieldTerminalPath: *fp}
  2061  	switch fp.selector {
  2062  	case TsEntryState_FieldPathSelectorModels:
  2063  		return &TsEntryState_FieldTerminalPathArrayOfValues{TsEntryState_FieldTerminalPath: *fp, values: values.([][]*TsEntry_State_AnomalyModelData)}
  2064  	case TsEntryState_FieldPathSelectorThresholds:
  2065  		return &TsEntryState_FieldTerminalPathArrayOfValues{TsEntryState_FieldTerminalPath: *fp, values: values.([][]*TsEntry_State_AdaptiveThresholdInfo)}
  2066  	default:
  2067  		panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fp.selector))
  2068  	}
  2069  	return fpaov
  2070  }
  2071  
  2072  func (fp *TsEntryState_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  2073  	return fp.WithIArrayOfValues(values)
  2074  }
  2075  
  2076  func (fp *TsEntryState_FieldTerminalPath) WithIArrayItemValue(value interface{}) TsEntryState_FieldPathArrayItemValue {
  2077  	switch fp.selector {
  2078  	case TsEntryState_FieldPathSelectorModels:
  2079  		return &TsEntryState_FieldTerminalPathArrayItemValue{TsEntryState_FieldTerminalPath: *fp, value: value.(*TsEntry_State_AnomalyModelData)}
  2080  	case TsEntryState_FieldPathSelectorThresholds:
  2081  		return &TsEntryState_FieldTerminalPathArrayItemValue{TsEntryState_FieldTerminalPath: *fp, value: value.(*TsEntry_State_AdaptiveThresholdInfo)}
  2082  	default:
  2083  		panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fp.selector))
  2084  	}
  2085  }
  2086  
  2087  func (fp *TsEntryState_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  2088  	return fp.WithIArrayItemValue(value)
  2089  }
  2090  
  2091  type TsEntryState_FieldSubPath struct {
  2092  	selector TsEntryState_FieldPathSelector
  2093  	subPath  gotenobject.FieldPath
  2094  }
  2095  
  2096  var _ TsEntryState_FieldPath = (*TsEntryState_FieldSubPath)(nil)
  2097  
  2098  func (fps *TsEntryState_FieldSubPath) Selector() TsEntryState_FieldPathSelector {
  2099  	return fps.selector
  2100  }
  2101  func (fps *TsEntryState_FieldSubPath) AsModelsSubPath() (TsEntryStateAnomalyModelData_FieldPath, bool) {
  2102  	res, ok := fps.subPath.(TsEntryStateAnomalyModelData_FieldPath)
  2103  	return res, ok
  2104  }
  2105  func (fps *TsEntryState_FieldSubPath) AsThresholdsSubPath() (TsEntryStateAdaptiveThresholdInfo_FieldPath, bool) {
  2106  	res, ok := fps.subPath.(TsEntryStateAdaptiveThresholdInfo_FieldPath)
  2107  	return res, ok
  2108  }
  2109  
  2110  // String returns path representation in proto convention
  2111  func (fps *TsEntryState_FieldSubPath) String() string {
  2112  	return fps.selector.String() + "." + fps.subPath.String()
  2113  }
  2114  
  2115  // JSONString returns path representation is JSON convention
  2116  func (fps *TsEntryState_FieldSubPath) JSONString() string {
  2117  	return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString()
  2118  }
  2119  
  2120  // Get returns all values pointed by selected field from source TsEntry_State
  2121  func (fps *TsEntryState_FieldSubPath) Get(source *TsEntry_State) (values []interface{}) {
  2122  	switch fps.selector {
  2123  	case TsEntryState_FieldPathSelectorModels:
  2124  		for _, item := range source.GetModels() {
  2125  			values = append(values, fps.subPath.GetRaw(item)...)
  2126  		}
  2127  	case TsEntryState_FieldPathSelectorThresholds:
  2128  		for _, item := range source.GetThresholds() {
  2129  			values = append(values, fps.subPath.GetRaw(item)...)
  2130  		}
  2131  	default:
  2132  		panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fps.selector))
  2133  	}
  2134  	return
  2135  }
  2136  
  2137  func (fps *TsEntryState_FieldSubPath) GetRaw(source proto.Message) []interface{} {
  2138  	return fps.Get(source.(*TsEntry_State))
  2139  }
  2140  
  2141  // GetSingle returns value of selected field from source TsEntry_State
  2142  func (fps *TsEntryState_FieldSubPath) GetSingle(source *TsEntry_State) (interface{}, bool) {
  2143  	switch fps.selector {
  2144  	case TsEntryState_FieldPathSelectorModels:
  2145  		if len(source.GetModels()) == 0 {
  2146  			return nil, false
  2147  		}
  2148  		return fps.subPath.GetSingleRaw(source.GetModels()[0])
  2149  	case TsEntryState_FieldPathSelectorThresholds:
  2150  		if len(source.GetThresholds()) == 0 {
  2151  			return nil, false
  2152  		}
  2153  		return fps.subPath.GetSingleRaw(source.GetThresholds()[0])
  2154  	default:
  2155  		panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fps.selector))
  2156  	}
  2157  }
  2158  
  2159  func (fps *TsEntryState_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  2160  	return fps.GetSingle(source.(*TsEntry_State))
  2161  }
  2162  
  2163  // GetDefault returns a default value of the field type
  2164  func (fps *TsEntryState_FieldSubPath) GetDefault() interface{} {
  2165  	return fps.subPath.GetDefault()
  2166  }
  2167  
  2168  func (fps *TsEntryState_FieldSubPath) ClearValue(item *TsEntry_State) {
  2169  	if item != nil {
  2170  		switch fps.selector {
  2171  		case TsEntryState_FieldPathSelectorModels:
  2172  			for _, subItem := range item.Models {
  2173  				fps.subPath.ClearValueRaw(subItem)
  2174  			}
  2175  		case TsEntryState_FieldPathSelectorThresholds:
  2176  			for _, subItem := range item.Thresholds {
  2177  				fps.subPath.ClearValueRaw(subItem)
  2178  			}
  2179  		default:
  2180  			panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fps.selector))
  2181  		}
  2182  	}
  2183  }
  2184  
  2185  func (fps *TsEntryState_FieldSubPath) ClearValueRaw(item proto.Message) {
  2186  	fps.ClearValue(item.(*TsEntry_State))
  2187  }
  2188  
  2189  // IsLeaf - whether field path is holds simple value
  2190  func (fps *TsEntryState_FieldSubPath) IsLeaf() bool {
  2191  	return fps.subPath.IsLeaf()
  2192  }
  2193  
  2194  func (fps *TsEntryState_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  2195  	iPaths := []gotenobject.FieldPath{&TsEntryState_FieldTerminalPath{selector: fps.selector}}
  2196  	iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...)
  2197  	return iPaths
  2198  }
  2199  
  2200  func (fps *TsEntryState_FieldSubPath) WithIValue(value interface{}) TsEntryState_FieldPathValue {
  2201  	return &TsEntryState_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)}
  2202  }
  2203  
  2204  func (fps *TsEntryState_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  2205  	return fps.WithIValue(value)
  2206  }
  2207  
  2208  func (fps *TsEntryState_FieldSubPath) WithIArrayOfValues(values interface{}) TsEntryState_FieldPathArrayOfValues {
  2209  	return &TsEntryState_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)}
  2210  }
  2211  
  2212  func (fps *TsEntryState_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  2213  	return fps.WithIArrayOfValues(values)
  2214  }
  2215  
  2216  func (fps *TsEntryState_FieldSubPath) WithIArrayItemValue(value interface{}) TsEntryState_FieldPathArrayItemValue {
  2217  	return &TsEntryState_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)}
  2218  }
  2219  
  2220  func (fps *TsEntryState_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  2221  	return fps.WithIArrayItemValue(value)
  2222  }
  2223  
  2224  // TsEntryState_FieldPathValue allows storing values for State fields according to their type
  2225  type TsEntryState_FieldPathValue interface {
  2226  	TsEntryState_FieldPath
  2227  	gotenobject.FieldPathValue
  2228  	SetTo(target **TsEntry_State)
  2229  	CompareWith(*TsEntry_State) (cmp int, comparable bool)
  2230  }
  2231  
  2232  func ParseTsEntryState_FieldPathValue(pathStr, valueStr string) (TsEntryState_FieldPathValue, error) {
  2233  	fp, err := ParseTsEntryState_FieldPath(pathStr)
  2234  	if err != nil {
  2235  		return nil, err
  2236  	}
  2237  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
  2238  	if err != nil {
  2239  		return nil, status.Errorf(codes.InvalidArgument, "error parsing State field path value from %s: %v", valueStr, err)
  2240  	}
  2241  	return fpv.(TsEntryState_FieldPathValue), nil
  2242  }
  2243  
  2244  func MustParseTsEntryState_FieldPathValue(pathStr, valueStr string) TsEntryState_FieldPathValue {
  2245  	fpv, err := ParseTsEntryState_FieldPathValue(pathStr, valueStr)
  2246  	if err != nil {
  2247  		panic(err)
  2248  	}
  2249  	return fpv
  2250  }
  2251  
  2252  type TsEntryState_FieldTerminalPathValue struct {
  2253  	TsEntryState_FieldTerminalPath
  2254  	value interface{}
  2255  }
  2256  
  2257  var _ TsEntryState_FieldPathValue = (*TsEntryState_FieldTerminalPathValue)(nil)
  2258  
  2259  // GetRawValue returns raw value stored under selected path for 'State' as interface{}
  2260  func (fpv *TsEntryState_FieldTerminalPathValue) GetRawValue() interface{} {
  2261  	return fpv.value
  2262  }
  2263  func (fpv *TsEntryState_FieldTerminalPathValue) AsModelsValue() ([]*TsEntry_State_AnomalyModelData, bool) {
  2264  	res, ok := fpv.value.([]*TsEntry_State_AnomalyModelData)
  2265  	return res, ok
  2266  }
  2267  func (fpv *TsEntryState_FieldTerminalPathValue) AsThresholdsValue() ([]*TsEntry_State_AdaptiveThresholdInfo, bool) {
  2268  	res, ok := fpv.value.([]*TsEntry_State_AdaptiveThresholdInfo)
  2269  	return res, ok
  2270  }
  2271  
  2272  // SetTo stores value for selected field for object State
  2273  func (fpv *TsEntryState_FieldTerminalPathValue) SetTo(target **TsEntry_State) {
  2274  	if *target == nil {
  2275  		*target = new(TsEntry_State)
  2276  	}
  2277  	switch fpv.selector {
  2278  	case TsEntryState_FieldPathSelectorModels:
  2279  		(*target).Models = fpv.value.([]*TsEntry_State_AnomalyModelData)
  2280  	case TsEntryState_FieldPathSelectorThresholds:
  2281  		(*target).Thresholds = fpv.value.([]*TsEntry_State_AdaptiveThresholdInfo)
  2282  	default:
  2283  		panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fpv.selector))
  2284  	}
  2285  }
  2286  
  2287  func (fpv *TsEntryState_FieldTerminalPathValue) SetToRaw(target proto.Message) {
  2288  	typedObject := target.(*TsEntry_State)
  2289  	fpv.SetTo(&typedObject)
  2290  }
  2291  
  2292  // CompareWith compares value in the 'TsEntryState_FieldTerminalPathValue' with the value under path in 'TsEntry_State'.
  2293  func (fpv *TsEntryState_FieldTerminalPathValue) CompareWith(source *TsEntry_State) (int, bool) {
  2294  	switch fpv.selector {
  2295  	case TsEntryState_FieldPathSelectorModels:
  2296  		return 0, false
  2297  	case TsEntryState_FieldPathSelectorThresholds:
  2298  		return 0, false
  2299  	default:
  2300  		panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fpv.selector))
  2301  	}
  2302  }
  2303  
  2304  func (fpv *TsEntryState_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  2305  	return fpv.CompareWith(source.(*TsEntry_State))
  2306  }
  2307  
  2308  type TsEntryState_FieldSubPathValue struct {
  2309  	TsEntryState_FieldPath
  2310  	subPathValue gotenobject.FieldPathValue
  2311  }
  2312  
  2313  var _ TsEntryState_FieldPathValue = (*TsEntryState_FieldSubPathValue)(nil)
  2314  
  2315  func (fpvs *TsEntryState_FieldSubPathValue) AsModelsPathValue() (TsEntryStateAnomalyModelData_FieldPathValue, bool) {
  2316  	res, ok := fpvs.subPathValue.(TsEntryStateAnomalyModelData_FieldPathValue)
  2317  	return res, ok
  2318  }
  2319  func (fpvs *TsEntryState_FieldSubPathValue) AsThresholdsPathValue() (TsEntryStateAdaptiveThresholdInfo_FieldPathValue, bool) {
  2320  	res, ok := fpvs.subPathValue.(TsEntryStateAdaptiveThresholdInfo_FieldPathValue)
  2321  	return res, ok
  2322  }
  2323  
  2324  func (fpvs *TsEntryState_FieldSubPathValue) SetTo(target **TsEntry_State) {
  2325  	if *target == nil {
  2326  		*target = new(TsEntry_State)
  2327  	}
  2328  	switch fpvs.Selector() {
  2329  	case TsEntryState_FieldPathSelectorModels:
  2330  		panic("FieldPath setter is unsupported for array subpaths")
  2331  	case TsEntryState_FieldPathSelectorThresholds:
  2332  		panic("FieldPath setter is unsupported for array subpaths")
  2333  	default:
  2334  		panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fpvs.Selector()))
  2335  	}
  2336  }
  2337  
  2338  func (fpvs *TsEntryState_FieldSubPathValue) SetToRaw(target proto.Message) {
  2339  	typedObject := target.(*TsEntry_State)
  2340  	fpvs.SetTo(&typedObject)
  2341  }
  2342  
  2343  func (fpvs *TsEntryState_FieldSubPathValue) GetRawValue() interface{} {
  2344  	return fpvs.subPathValue.GetRawValue()
  2345  }
  2346  
  2347  func (fpvs *TsEntryState_FieldSubPathValue) CompareWith(source *TsEntry_State) (int, bool) {
  2348  	switch fpvs.Selector() {
  2349  	case TsEntryState_FieldPathSelectorModels:
  2350  		return 0, false // repeated field
  2351  	case TsEntryState_FieldPathSelectorThresholds:
  2352  		return 0, false // repeated field
  2353  	default:
  2354  		panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fpvs.Selector()))
  2355  	}
  2356  }
  2357  
  2358  func (fpvs *TsEntryState_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  2359  	return fpvs.CompareWith(source.(*TsEntry_State))
  2360  }
  2361  
  2362  // TsEntryState_FieldPathArrayItemValue allows storing single item in Path-specific values for State according to their type
  2363  // Present only for array (repeated) types.
  2364  type TsEntryState_FieldPathArrayItemValue interface {
  2365  	gotenobject.FieldPathArrayItemValue
  2366  	TsEntryState_FieldPath
  2367  	ContainsValue(*TsEntry_State) bool
  2368  }
  2369  
  2370  // ParseTsEntryState_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
  2371  func ParseTsEntryState_FieldPathArrayItemValue(pathStr, valueStr string) (TsEntryState_FieldPathArrayItemValue, error) {
  2372  	fp, err := ParseTsEntryState_FieldPath(pathStr)
  2373  	if err != nil {
  2374  		return nil, err
  2375  	}
  2376  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
  2377  	if err != nil {
  2378  		return nil, status.Errorf(codes.InvalidArgument, "error parsing State field path array item value from %s: %v", valueStr, err)
  2379  	}
  2380  	return fpaiv.(TsEntryState_FieldPathArrayItemValue), nil
  2381  }
  2382  
  2383  func MustParseTsEntryState_FieldPathArrayItemValue(pathStr, valueStr string) TsEntryState_FieldPathArrayItemValue {
  2384  	fpaiv, err := ParseTsEntryState_FieldPathArrayItemValue(pathStr, valueStr)
  2385  	if err != nil {
  2386  		panic(err)
  2387  	}
  2388  	return fpaiv
  2389  }
  2390  
  2391  type TsEntryState_FieldTerminalPathArrayItemValue struct {
  2392  	TsEntryState_FieldTerminalPath
  2393  	value interface{}
  2394  }
  2395  
  2396  var _ TsEntryState_FieldPathArrayItemValue = (*TsEntryState_FieldTerminalPathArrayItemValue)(nil)
  2397  
  2398  // GetRawValue returns stored element value for array in object TsEntry_State as interface{}
  2399  func (fpaiv *TsEntryState_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
  2400  	return fpaiv.value
  2401  }
  2402  func (fpaiv *TsEntryState_FieldTerminalPathArrayItemValue) AsModelsItemValue() (*TsEntry_State_AnomalyModelData, bool) {
  2403  	res, ok := fpaiv.value.(*TsEntry_State_AnomalyModelData)
  2404  	return res, ok
  2405  }
  2406  func (fpaiv *TsEntryState_FieldTerminalPathArrayItemValue) AsThresholdsItemValue() (*TsEntry_State_AdaptiveThresholdInfo, bool) {
  2407  	res, ok := fpaiv.value.(*TsEntry_State_AdaptiveThresholdInfo)
  2408  	return res, ok
  2409  }
  2410  
  2411  func (fpaiv *TsEntryState_FieldTerminalPathArrayItemValue) GetSingle(source *TsEntry_State) (interface{}, bool) {
  2412  	return nil, false
  2413  }
  2414  
  2415  func (fpaiv *TsEntryState_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
  2416  	return fpaiv.GetSingle(source.(*TsEntry_State))
  2417  }
  2418  
  2419  // Contains returns a boolean indicating if value that is being held is present in given 'State'
  2420  func (fpaiv *TsEntryState_FieldTerminalPathArrayItemValue) ContainsValue(source *TsEntry_State) bool {
  2421  	slice := fpaiv.TsEntryState_FieldTerminalPath.Get(source)
  2422  	for _, v := range slice {
  2423  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  2424  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  2425  				return true
  2426  			}
  2427  		} else if reflect.DeepEqual(v, fpaiv.value) {
  2428  			return true
  2429  		}
  2430  	}
  2431  	return false
  2432  }
  2433  
  2434  type TsEntryState_FieldSubPathArrayItemValue struct {
  2435  	TsEntryState_FieldPath
  2436  	subPathItemValue gotenobject.FieldPathArrayItemValue
  2437  }
  2438  
  2439  // GetRawValue returns stored array item value
  2440  func (fpaivs *TsEntryState_FieldSubPathArrayItemValue) GetRawItemValue() interface{} {
  2441  	return fpaivs.subPathItemValue.GetRawItemValue()
  2442  }
  2443  func (fpaivs *TsEntryState_FieldSubPathArrayItemValue) AsModelsPathItemValue() (TsEntryStateAnomalyModelData_FieldPathArrayItemValue, bool) {
  2444  	res, ok := fpaivs.subPathItemValue.(TsEntryStateAnomalyModelData_FieldPathArrayItemValue)
  2445  	return res, ok
  2446  }
  2447  func (fpaivs *TsEntryState_FieldSubPathArrayItemValue) AsThresholdsPathItemValue() (TsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue, bool) {
  2448  	res, ok := fpaivs.subPathItemValue.(TsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue)
  2449  	return res, ok
  2450  }
  2451  
  2452  // Contains returns a boolean indicating if value that is being held is present in given 'State'
  2453  func (fpaivs *TsEntryState_FieldSubPathArrayItemValue) ContainsValue(source *TsEntry_State) bool {
  2454  	switch fpaivs.Selector() {
  2455  	case TsEntryState_FieldPathSelectorModels:
  2456  		return false // repeated/map field
  2457  	case TsEntryState_FieldPathSelectorThresholds:
  2458  		return false // repeated/map field
  2459  	default:
  2460  		panic(fmt.Sprintf("Invalid selector for TsEntry_State: %d", fpaivs.Selector()))
  2461  	}
  2462  }
  2463  
  2464  // TsEntryState_FieldPathArrayOfValues allows storing slice of values for State fields according to their type
  2465  type TsEntryState_FieldPathArrayOfValues interface {
  2466  	gotenobject.FieldPathArrayOfValues
  2467  	TsEntryState_FieldPath
  2468  }
  2469  
  2470  func ParseTsEntryState_FieldPathArrayOfValues(pathStr, valuesStr string) (TsEntryState_FieldPathArrayOfValues, error) {
  2471  	fp, err := ParseTsEntryState_FieldPath(pathStr)
  2472  	if err != nil {
  2473  		return nil, err
  2474  	}
  2475  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  2476  	if err != nil {
  2477  		return nil, status.Errorf(codes.InvalidArgument, "error parsing State field path array of values from %s: %v", valuesStr, err)
  2478  	}
  2479  	return fpaov.(TsEntryState_FieldPathArrayOfValues), nil
  2480  }
  2481  
  2482  func MustParseTsEntryState_FieldPathArrayOfValues(pathStr, valuesStr string) TsEntryState_FieldPathArrayOfValues {
  2483  	fpaov, err := ParseTsEntryState_FieldPathArrayOfValues(pathStr, valuesStr)
  2484  	if err != nil {
  2485  		panic(err)
  2486  	}
  2487  	return fpaov
  2488  }
  2489  
  2490  type TsEntryState_FieldTerminalPathArrayOfValues struct {
  2491  	TsEntryState_FieldTerminalPath
  2492  	values interface{}
  2493  }
  2494  
  2495  var _ TsEntryState_FieldPathArrayOfValues = (*TsEntryState_FieldTerminalPathArrayOfValues)(nil)
  2496  
  2497  func (fpaov *TsEntryState_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  2498  	switch fpaov.selector {
  2499  	case TsEntryState_FieldPathSelectorModels:
  2500  		for _, v := range fpaov.values.([][]*TsEntry_State_AnomalyModelData) {
  2501  			values = append(values, v)
  2502  		}
  2503  	case TsEntryState_FieldPathSelectorThresholds:
  2504  		for _, v := range fpaov.values.([][]*TsEntry_State_AdaptiveThresholdInfo) {
  2505  			values = append(values, v)
  2506  		}
  2507  	}
  2508  	return
  2509  }
  2510  func (fpaov *TsEntryState_FieldTerminalPathArrayOfValues) AsModelsArrayOfValues() ([][]*TsEntry_State_AnomalyModelData, bool) {
  2511  	res, ok := fpaov.values.([][]*TsEntry_State_AnomalyModelData)
  2512  	return res, ok
  2513  }
  2514  func (fpaov *TsEntryState_FieldTerminalPathArrayOfValues) AsThresholdsArrayOfValues() ([][]*TsEntry_State_AdaptiveThresholdInfo, bool) {
  2515  	res, ok := fpaov.values.([][]*TsEntry_State_AdaptiveThresholdInfo)
  2516  	return res, ok
  2517  }
  2518  
  2519  type TsEntryState_FieldSubPathArrayOfValues struct {
  2520  	TsEntryState_FieldPath
  2521  	subPathArrayOfValues gotenobject.FieldPathArrayOfValues
  2522  }
  2523  
  2524  var _ TsEntryState_FieldPathArrayOfValues = (*TsEntryState_FieldSubPathArrayOfValues)(nil)
  2525  
  2526  func (fpsaov *TsEntryState_FieldSubPathArrayOfValues) GetRawValues() []interface{} {
  2527  	return fpsaov.subPathArrayOfValues.GetRawValues()
  2528  }
  2529  func (fpsaov *TsEntryState_FieldSubPathArrayOfValues) AsModelsPathArrayOfValues() (TsEntryStateAnomalyModelData_FieldPathArrayOfValues, bool) {
  2530  	res, ok := fpsaov.subPathArrayOfValues.(TsEntryStateAnomalyModelData_FieldPathArrayOfValues)
  2531  	return res, ok
  2532  }
  2533  func (fpsaov *TsEntryState_FieldSubPathArrayOfValues) AsThresholdsPathArrayOfValues() (TsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues, bool) {
  2534  	res, ok := fpsaov.subPathArrayOfValues.(TsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues)
  2535  	return res, ok
  2536  }
  2537  
  2538  // FieldPath provides implementation to handle
  2539  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
  2540  type TsEntryInternal_FieldPath interface {
  2541  	gotenobject.FieldPath
  2542  	Selector() TsEntryInternal_FieldPathSelector
  2543  	Get(source *TsEntry_Internal) []interface{}
  2544  	GetSingle(source *TsEntry_Internal) (interface{}, bool)
  2545  	ClearValue(item *TsEntry_Internal)
  2546  
  2547  	// Those methods build corresponding TsEntryInternal_FieldPathValue
  2548  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
  2549  	WithIValue(value interface{}) TsEntryInternal_FieldPathValue
  2550  	WithIArrayOfValues(values interface{}) TsEntryInternal_FieldPathArrayOfValues
  2551  	WithIArrayItemValue(value interface{}) TsEntryInternal_FieldPathArrayItemValue
  2552  }
  2553  
  2554  type TsEntryInternal_FieldPathSelector int32
  2555  
  2556  const (
  2557  	TsEntryInternal_FieldPathSelectorAlertingLocation TsEntryInternal_FieldPathSelector = 0
  2558  	TsEntryInternal_FieldPathSelectorSpecGeneration   TsEntryInternal_FieldPathSelector = 1
  2559  )
  2560  
  2561  func (s TsEntryInternal_FieldPathSelector) String() string {
  2562  	switch s {
  2563  	case TsEntryInternal_FieldPathSelectorAlertingLocation:
  2564  		return "alerting_location"
  2565  	case TsEntryInternal_FieldPathSelectorSpecGeneration:
  2566  		return "spec_generation"
  2567  	default:
  2568  		panic(fmt.Sprintf("Invalid selector for TsEntry_Internal: %d", s))
  2569  	}
  2570  }
  2571  
  2572  func BuildTsEntryInternal_FieldPath(fp gotenobject.RawFieldPath) (TsEntryInternal_FieldPath, error) {
  2573  	if len(fp) == 0 {
  2574  		return nil, status.Error(codes.InvalidArgument, "empty field path for object TsEntry_Internal")
  2575  	}
  2576  	if len(fp) == 1 {
  2577  		switch fp[0] {
  2578  		case "alerting_location", "alertingLocation", "alerting-location":
  2579  			return &TsEntryInternal_FieldTerminalPath{selector: TsEntryInternal_FieldPathSelectorAlertingLocation}, nil
  2580  		case "spec_generation", "specGeneration", "spec-generation":
  2581  			return &TsEntryInternal_FieldTerminalPath{selector: TsEntryInternal_FieldPathSelectorSpecGeneration}, nil
  2582  		}
  2583  	}
  2584  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object TsEntry_Internal", fp)
  2585  }
  2586  
  2587  func ParseTsEntryInternal_FieldPath(rawField string) (TsEntryInternal_FieldPath, error) {
  2588  	fp, err := gotenobject.ParseRawFieldPath(rawField)
  2589  	if err != nil {
  2590  		return nil, err
  2591  	}
  2592  	return BuildTsEntryInternal_FieldPath(fp)
  2593  }
  2594  
  2595  func MustParseTsEntryInternal_FieldPath(rawField string) TsEntryInternal_FieldPath {
  2596  	fp, err := ParseTsEntryInternal_FieldPath(rawField)
  2597  	if err != nil {
  2598  		panic(err)
  2599  	}
  2600  	return fp
  2601  }
  2602  
  2603  type TsEntryInternal_FieldTerminalPath struct {
  2604  	selector TsEntryInternal_FieldPathSelector
  2605  }
  2606  
  2607  var _ TsEntryInternal_FieldPath = (*TsEntryInternal_FieldTerminalPath)(nil)
  2608  
  2609  func (fp *TsEntryInternal_FieldTerminalPath) Selector() TsEntryInternal_FieldPathSelector {
  2610  	return fp.selector
  2611  }
  2612  
  2613  // String returns path representation in proto convention
  2614  func (fp *TsEntryInternal_FieldTerminalPath) String() string {
  2615  	return fp.selector.String()
  2616  }
  2617  
  2618  // JSONString returns path representation is JSON convention
  2619  func (fp *TsEntryInternal_FieldTerminalPath) JSONString() string {
  2620  	return strcase.ToLowerCamel(fp.String())
  2621  }
  2622  
  2623  // Get returns all values pointed by specific field from source TsEntry_Internal
  2624  func (fp *TsEntryInternal_FieldTerminalPath) Get(source *TsEntry_Internal) (values []interface{}) {
  2625  	if source != nil {
  2626  		switch fp.selector {
  2627  		case TsEntryInternal_FieldPathSelectorAlertingLocation:
  2628  			values = append(values, source.AlertingLocation)
  2629  		case TsEntryInternal_FieldPathSelectorSpecGeneration:
  2630  			values = append(values, source.SpecGeneration)
  2631  		default:
  2632  			panic(fmt.Sprintf("Invalid selector for TsEntry_Internal: %d", fp.selector))
  2633  		}
  2634  	}
  2635  	return
  2636  }
  2637  
  2638  func (fp *TsEntryInternal_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
  2639  	return fp.Get(source.(*TsEntry_Internal))
  2640  }
  2641  
  2642  // GetSingle returns value pointed by specific field of from source TsEntry_Internal
  2643  func (fp *TsEntryInternal_FieldTerminalPath) GetSingle(source *TsEntry_Internal) (interface{}, bool) {
  2644  	switch fp.selector {
  2645  	case TsEntryInternal_FieldPathSelectorAlertingLocation:
  2646  		return source.GetAlertingLocation(), source != nil
  2647  	case TsEntryInternal_FieldPathSelectorSpecGeneration:
  2648  		return source.GetSpecGeneration(), source != nil
  2649  	default:
  2650  		panic(fmt.Sprintf("Invalid selector for TsEntry_Internal: %d", fp.selector))
  2651  	}
  2652  }
  2653  
  2654  func (fp *TsEntryInternal_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  2655  	return fp.GetSingle(source.(*TsEntry_Internal))
  2656  }
  2657  
  2658  // GetDefault returns a default value of the field type
  2659  func (fp *TsEntryInternal_FieldTerminalPath) GetDefault() interface{} {
  2660  	switch fp.selector {
  2661  	case TsEntryInternal_FieldPathSelectorAlertingLocation:
  2662  		return rcommon.PolicySpec_UNDEFINED
  2663  	case TsEntryInternal_FieldPathSelectorSpecGeneration:
  2664  		return int32(0)
  2665  	default:
  2666  		panic(fmt.Sprintf("Invalid selector for TsEntry_Internal: %d", fp.selector))
  2667  	}
  2668  }
  2669  
  2670  func (fp *TsEntryInternal_FieldTerminalPath) ClearValue(item *TsEntry_Internal) {
  2671  	if item != nil {
  2672  		switch fp.selector {
  2673  		case TsEntryInternal_FieldPathSelectorAlertingLocation:
  2674  			item.AlertingLocation = rcommon.PolicySpec_UNDEFINED
  2675  		case TsEntryInternal_FieldPathSelectorSpecGeneration:
  2676  			item.SpecGeneration = int32(0)
  2677  		default:
  2678  			panic(fmt.Sprintf("Invalid selector for TsEntry_Internal: %d", fp.selector))
  2679  		}
  2680  	}
  2681  }
  2682  
  2683  func (fp *TsEntryInternal_FieldTerminalPath) ClearValueRaw(item proto.Message) {
  2684  	fp.ClearValue(item.(*TsEntry_Internal))
  2685  }
  2686  
  2687  // IsLeaf - whether field path is holds simple value
  2688  func (fp *TsEntryInternal_FieldTerminalPath) IsLeaf() bool {
  2689  	return fp.selector == TsEntryInternal_FieldPathSelectorAlertingLocation ||
  2690  		fp.selector == TsEntryInternal_FieldPathSelectorSpecGeneration
  2691  }
  2692  
  2693  func (fp *TsEntryInternal_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  2694  	return []gotenobject.FieldPath{fp}
  2695  }
  2696  
  2697  func (fp *TsEntryInternal_FieldTerminalPath) WithIValue(value interface{}) TsEntryInternal_FieldPathValue {
  2698  	switch fp.selector {
  2699  	case TsEntryInternal_FieldPathSelectorAlertingLocation:
  2700  		return &TsEntryInternal_FieldTerminalPathValue{TsEntryInternal_FieldTerminalPath: *fp, value: value.(rcommon.PolicySpec_ProcessingLocation)}
  2701  	case TsEntryInternal_FieldPathSelectorSpecGeneration:
  2702  		return &TsEntryInternal_FieldTerminalPathValue{TsEntryInternal_FieldTerminalPath: *fp, value: value.(int32)}
  2703  	default:
  2704  		panic(fmt.Sprintf("Invalid selector for TsEntry_Internal: %d", fp.selector))
  2705  	}
  2706  }
  2707  
  2708  func (fp *TsEntryInternal_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  2709  	return fp.WithIValue(value)
  2710  }
  2711  
  2712  func (fp *TsEntryInternal_FieldTerminalPath) WithIArrayOfValues(values interface{}) TsEntryInternal_FieldPathArrayOfValues {
  2713  	fpaov := &TsEntryInternal_FieldTerminalPathArrayOfValues{TsEntryInternal_FieldTerminalPath: *fp}
  2714  	switch fp.selector {
  2715  	case TsEntryInternal_FieldPathSelectorAlertingLocation:
  2716  		return &TsEntryInternal_FieldTerminalPathArrayOfValues{TsEntryInternal_FieldTerminalPath: *fp, values: values.([]rcommon.PolicySpec_ProcessingLocation)}
  2717  	case TsEntryInternal_FieldPathSelectorSpecGeneration:
  2718  		return &TsEntryInternal_FieldTerminalPathArrayOfValues{TsEntryInternal_FieldTerminalPath: *fp, values: values.([]int32)}
  2719  	default:
  2720  		panic(fmt.Sprintf("Invalid selector for TsEntry_Internal: %d", fp.selector))
  2721  	}
  2722  	return fpaov
  2723  }
  2724  
  2725  func (fp *TsEntryInternal_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  2726  	return fp.WithIArrayOfValues(values)
  2727  }
  2728  
  2729  func (fp *TsEntryInternal_FieldTerminalPath) WithIArrayItemValue(value interface{}) TsEntryInternal_FieldPathArrayItemValue {
  2730  	switch fp.selector {
  2731  	default:
  2732  		panic(fmt.Sprintf("Invalid selector for TsEntry_Internal: %d", fp.selector))
  2733  	}
  2734  }
  2735  
  2736  func (fp *TsEntryInternal_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  2737  	return fp.WithIArrayItemValue(value)
  2738  }
  2739  
  2740  // TsEntryInternal_FieldPathValue allows storing values for Internal fields according to their type
  2741  type TsEntryInternal_FieldPathValue interface {
  2742  	TsEntryInternal_FieldPath
  2743  	gotenobject.FieldPathValue
  2744  	SetTo(target **TsEntry_Internal)
  2745  	CompareWith(*TsEntry_Internal) (cmp int, comparable bool)
  2746  }
  2747  
  2748  func ParseTsEntryInternal_FieldPathValue(pathStr, valueStr string) (TsEntryInternal_FieldPathValue, error) {
  2749  	fp, err := ParseTsEntryInternal_FieldPath(pathStr)
  2750  	if err != nil {
  2751  		return nil, err
  2752  	}
  2753  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
  2754  	if err != nil {
  2755  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Internal field path value from %s: %v", valueStr, err)
  2756  	}
  2757  	return fpv.(TsEntryInternal_FieldPathValue), nil
  2758  }
  2759  
  2760  func MustParseTsEntryInternal_FieldPathValue(pathStr, valueStr string) TsEntryInternal_FieldPathValue {
  2761  	fpv, err := ParseTsEntryInternal_FieldPathValue(pathStr, valueStr)
  2762  	if err != nil {
  2763  		panic(err)
  2764  	}
  2765  	return fpv
  2766  }
  2767  
  2768  type TsEntryInternal_FieldTerminalPathValue struct {
  2769  	TsEntryInternal_FieldTerminalPath
  2770  	value interface{}
  2771  }
  2772  
  2773  var _ TsEntryInternal_FieldPathValue = (*TsEntryInternal_FieldTerminalPathValue)(nil)
  2774  
  2775  // GetRawValue returns raw value stored under selected path for 'Internal' as interface{}
  2776  func (fpv *TsEntryInternal_FieldTerminalPathValue) GetRawValue() interface{} {
  2777  	return fpv.value
  2778  }
  2779  func (fpv *TsEntryInternal_FieldTerminalPathValue) AsAlertingLocationValue() (rcommon.PolicySpec_ProcessingLocation, bool) {
  2780  	res, ok := fpv.value.(rcommon.PolicySpec_ProcessingLocation)
  2781  	return res, ok
  2782  }
  2783  func (fpv *TsEntryInternal_FieldTerminalPathValue) AsSpecGenerationValue() (int32, bool) {
  2784  	res, ok := fpv.value.(int32)
  2785  	return res, ok
  2786  }
  2787  
  2788  // SetTo stores value for selected field for object Internal
  2789  func (fpv *TsEntryInternal_FieldTerminalPathValue) SetTo(target **TsEntry_Internal) {
  2790  	if *target == nil {
  2791  		*target = new(TsEntry_Internal)
  2792  	}
  2793  	switch fpv.selector {
  2794  	case TsEntryInternal_FieldPathSelectorAlertingLocation:
  2795  		(*target).AlertingLocation = fpv.value.(rcommon.PolicySpec_ProcessingLocation)
  2796  	case TsEntryInternal_FieldPathSelectorSpecGeneration:
  2797  		(*target).SpecGeneration = fpv.value.(int32)
  2798  	default:
  2799  		panic(fmt.Sprintf("Invalid selector for TsEntry_Internal: %d", fpv.selector))
  2800  	}
  2801  }
  2802  
  2803  func (fpv *TsEntryInternal_FieldTerminalPathValue) SetToRaw(target proto.Message) {
  2804  	typedObject := target.(*TsEntry_Internal)
  2805  	fpv.SetTo(&typedObject)
  2806  }
  2807  
  2808  // CompareWith compares value in the 'TsEntryInternal_FieldTerminalPathValue' with the value under path in 'TsEntry_Internal'.
  2809  func (fpv *TsEntryInternal_FieldTerminalPathValue) CompareWith(source *TsEntry_Internal) (int, bool) {
  2810  	switch fpv.selector {
  2811  	case TsEntryInternal_FieldPathSelectorAlertingLocation:
  2812  		leftValue := fpv.value.(rcommon.PolicySpec_ProcessingLocation)
  2813  		rightValue := source.GetAlertingLocation()
  2814  		if (leftValue) == (rightValue) {
  2815  			return 0, true
  2816  		} else if (leftValue) < (rightValue) {
  2817  			return -1, true
  2818  		} else {
  2819  			return 1, true
  2820  		}
  2821  	case TsEntryInternal_FieldPathSelectorSpecGeneration:
  2822  		leftValue := fpv.value.(int32)
  2823  		rightValue := source.GetSpecGeneration()
  2824  		if (leftValue) == (rightValue) {
  2825  			return 0, true
  2826  		} else if (leftValue) < (rightValue) {
  2827  			return -1, true
  2828  		} else {
  2829  			return 1, true
  2830  		}
  2831  	default:
  2832  		panic(fmt.Sprintf("Invalid selector for TsEntry_Internal: %d", fpv.selector))
  2833  	}
  2834  }
  2835  
  2836  func (fpv *TsEntryInternal_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  2837  	return fpv.CompareWith(source.(*TsEntry_Internal))
  2838  }
  2839  
  2840  // TsEntryInternal_FieldPathArrayItemValue allows storing single item in Path-specific values for Internal according to their type
  2841  // Present only for array (repeated) types.
  2842  type TsEntryInternal_FieldPathArrayItemValue interface {
  2843  	gotenobject.FieldPathArrayItemValue
  2844  	TsEntryInternal_FieldPath
  2845  	ContainsValue(*TsEntry_Internal) bool
  2846  }
  2847  
  2848  // ParseTsEntryInternal_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
  2849  func ParseTsEntryInternal_FieldPathArrayItemValue(pathStr, valueStr string) (TsEntryInternal_FieldPathArrayItemValue, error) {
  2850  	fp, err := ParseTsEntryInternal_FieldPath(pathStr)
  2851  	if err != nil {
  2852  		return nil, err
  2853  	}
  2854  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
  2855  	if err != nil {
  2856  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Internal field path array item value from %s: %v", valueStr, err)
  2857  	}
  2858  	return fpaiv.(TsEntryInternal_FieldPathArrayItemValue), nil
  2859  }
  2860  
  2861  func MustParseTsEntryInternal_FieldPathArrayItemValue(pathStr, valueStr string) TsEntryInternal_FieldPathArrayItemValue {
  2862  	fpaiv, err := ParseTsEntryInternal_FieldPathArrayItemValue(pathStr, valueStr)
  2863  	if err != nil {
  2864  		panic(err)
  2865  	}
  2866  	return fpaiv
  2867  }
  2868  
  2869  type TsEntryInternal_FieldTerminalPathArrayItemValue struct {
  2870  	TsEntryInternal_FieldTerminalPath
  2871  	value interface{}
  2872  }
  2873  
  2874  var _ TsEntryInternal_FieldPathArrayItemValue = (*TsEntryInternal_FieldTerminalPathArrayItemValue)(nil)
  2875  
  2876  // GetRawValue returns stored element value for array in object TsEntry_Internal as interface{}
  2877  func (fpaiv *TsEntryInternal_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
  2878  	return fpaiv.value
  2879  }
  2880  
  2881  func (fpaiv *TsEntryInternal_FieldTerminalPathArrayItemValue) GetSingle(source *TsEntry_Internal) (interface{}, bool) {
  2882  	return nil, false
  2883  }
  2884  
  2885  func (fpaiv *TsEntryInternal_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
  2886  	return fpaiv.GetSingle(source.(*TsEntry_Internal))
  2887  }
  2888  
  2889  // Contains returns a boolean indicating if value that is being held is present in given 'Internal'
  2890  func (fpaiv *TsEntryInternal_FieldTerminalPathArrayItemValue) ContainsValue(source *TsEntry_Internal) bool {
  2891  	slice := fpaiv.TsEntryInternal_FieldTerminalPath.Get(source)
  2892  	for _, v := range slice {
  2893  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  2894  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  2895  				return true
  2896  			}
  2897  		} else if reflect.DeepEqual(v, fpaiv.value) {
  2898  			return true
  2899  		}
  2900  	}
  2901  	return false
  2902  }
  2903  
  2904  // TsEntryInternal_FieldPathArrayOfValues allows storing slice of values for Internal fields according to their type
  2905  type TsEntryInternal_FieldPathArrayOfValues interface {
  2906  	gotenobject.FieldPathArrayOfValues
  2907  	TsEntryInternal_FieldPath
  2908  }
  2909  
  2910  func ParseTsEntryInternal_FieldPathArrayOfValues(pathStr, valuesStr string) (TsEntryInternal_FieldPathArrayOfValues, error) {
  2911  	fp, err := ParseTsEntryInternal_FieldPath(pathStr)
  2912  	if err != nil {
  2913  		return nil, err
  2914  	}
  2915  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  2916  	if err != nil {
  2917  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Internal field path array of values from %s: %v", valuesStr, err)
  2918  	}
  2919  	return fpaov.(TsEntryInternal_FieldPathArrayOfValues), nil
  2920  }
  2921  
  2922  func MustParseTsEntryInternal_FieldPathArrayOfValues(pathStr, valuesStr string) TsEntryInternal_FieldPathArrayOfValues {
  2923  	fpaov, err := ParseTsEntryInternal_FieldPathArrayOfValues(pathStr, valuesStr)
  2924  	if err != nil {
  2925  		panic(err)
  2926  	}
  2927  	return fpaov
  2928  }
  2929  
  2930  type TsEntryInternal_FieldTerminalPathArrayOfValues struct {
  2931  	TsEntryInternal_FieldTerminalPath
  2932  	values interface{}
  2933  }
  2934  
  2935  var _ TsEntryInternal_FieldPathArrayOfValues = (*TsEntryInternal_FieldTerminalPathArrayOfValues)(nil)
  2936  
  2937  func (fpaov *TsEntryInternal_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  2938  	switch fpaov.selector {
  2939  	case TsEntryInternal_FieldPathSelectorAlertingLocation:
  2940  		for _, v := range fpaov.values.([]rcommon.PolicySpec_ProcessingLocation) {
  2941  			values = append(values, v)
  2942  		}
  2943  	case TsEntryInternal_FieldPathSelectorSpecGeneration:
  2944  		for _, v := range fpaov.values.([]int32) {
  2945  			values = append(values, v)
  2946  		}
  2947  	}
  2948  	return
  2949  }
  2950  func (fpaov *TsEntryInternal_FieldTerminalPathArrayOfValues) AsAlertingLocationArrayOfValues() ([]rcommon.PolicySpec_ProcessingLocation, bool) {
  2951  	res, ok := fpaov.values.([]rcommon.PolicySpec_ProcessingLocation)
  2952  	return res, ok
  2953  }
  2954  func (fpaov *TsEntryInternal_FieldTerminalPathArrayOfValues) AsSpecGenerationArrayOfValues() ([]int32, bool) {
  2955  	res, ok := fpaov.values.([]int32)
  2956  	return res, ok
  2957  }
  2958  
  2959  // FieldPath provides implementation to handle
  2960  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
  2961  type TsEntryStateAnomalyModelData_FieldPath interface {
  2962  	gotenobject.FieldPath
  2963  	Selector() TsEntryStateAnomalyModelData_FieldPathSelector
  2964  	Get(source *TsEntry_State_AnomalyModelData) []interface{}
  2965  	GetSingle(source *TsEntry_State_AnomalyModelData) (interface{}, bool)
  2966  	ClearValue(item *TsEntry_State_AnomalyModelData)
  2967  
  2968  	// Those methods build corresponding TsEntryStateAnomalyModelData_FieldPathValue
  2969  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
  2970  	WithIValue(value interface{}) TsEntryStateAnomalyModelData_FieldPathValue
  2971  	WithIArrayOfValues(values interface{}) TsEntryStateAnomalyModelData_FieldPathArrayOfValues
  2972  	WithIArrayItemValue(value interface{}) TsEntryStateAnomalyModelData_FieldPathArrayItemValue
  2973  }
  2974  
  2975  type TsEntryStateAnomalyModelData_FieldPathSelector int32
  2976  
  2977  const (
  2978  	TsEntryStateAnomalyModelData_FieldPathSelectorAnalysisWindow  TsEntryStateAnomalyModelData_FieldPathSelector = 0
  2979  	TsEntryStateAnomalyModelData_FieldPathSelectorModelData       TsEntryStateAnomalyModelData_FieldPathSelector = 1
  2980  	TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr TsEntryStateAnomalyModelData_FieldPathSelector = 2
  2981  	TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr  TsEntryStateAnomalyModelData_FieldPathSelector = 3
  2982  	TsEntryStateAnomalyModelData_FieldPathSelectorTrainedInEpochs TsEntryStateAnomalyModelData_FieldPathSelector = 4
  2983  	TsEntryStateAnomalyModelData_FieldPathSelectorTrainedIn       TsEntryStateAnomalyModelData_FieldPathSelector = 5
  2984  	TsEntryStateAnomalyModelData_FieldPathSelectorTrainAfter      TsEntryStateAnomalyModelData_FieldPathSelector = 6
  2985  	TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod  TsEntryStateAnomalyModelData_FieldPathSelector = 7
  2986  	TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness   TsEntryStateAnomalyModelData_FieldPathSelector = 8
  2987  )
  2988  
  2989  func (s TsEntryStateAnomalyModelData_FieldPathSelector) String() string {
  2990  	switch s {
  2991  	case TsEntryStateAnomalyModelData_FieldPathSelectorAnalysisWindow:
  2992  		return "analysis_window"
  2993  	case TsEntryStateAnomalyModelData_FieldPathSelectorModelData:
  2994  		return "model_data"
  2995  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr:
  2996  		return "training_mean_err"
  2997  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr:
  2998  		return "training_max_err"
  2999  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedInEpochs:
  3000  		return "trained_in_epochs"
  3001  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedIn:
  3002  		return "trained_in"
  3003  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainAfter:
  3004  		return "train_after"
  3005  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3006  		return "training_period"
  3007  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3008  		return "sensitiveness"
  3009  	default:
  3010  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", s))
  3011  	}
  3012  }
  3013  
  3014  func BuildTsEntryStateAnomalyModelData_FieldPath(fp gotenobject.RawFieldPath) (TsEntryStateAnomalyModelData_FieldPath, error) {
  3015  	if len(fp) == 0 {
  3016  		return nil, status.Error(codes.InvalidArgument, "empty field path for object TsEntry_State_AnomalyModelData")
  3017  	}
  3018  	if len(fp) == 1 {
  3019  		switch fp[0] {
  3020  		case "analysis_window", "analysisWindow", "analysis-window":
  3021  			return &TsEntryStateAnomalyModelData_FieldTerminalPath{selector: TsEntryStateAnomalyModelData_FieldPathSelectorAnalysisWindow}, nil
  3022  		case "model_data", "modelData", "model-data":
  3023  			return &TsEntryStateAnomalyModelData_FieldTerminalPath{selector: TsEntryStateAnomalyModelData_FieldPathSelectorModelData}, nil
  3024  		case "training_mean_err", "trainingMeanErr", "training-mean-err":
  3025  			return &TsEntryStateAnomalyModelData_FieldTerminalPath{selector: TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr}, nil
  3026  		case "training_max_err", "trainingMaxErr", "training-max-err":
  3027  			return &TsEntryStateAnomalyModelData_FieldTerminalPath{selector: TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr}, nil
  3028  		case "trained_in_epochs", "trainedInEpochs", "trained-in-epochs":
  3029  			return &TsEntryStateAnomalyModelData_FieldTerminalPath{selector: TsEntryStateAnomalyModelData_FieldPathSelectorTrainedInEpochs}, nil
  3030  		case "trained_in", "trainedIn", "trained-in":
  3031  			return &TsEntryStateAnomalyModelData_FieldTerminalPath{selector: TsEntryStateAnomalyModelData_FieldPathSelectorTrainedIn}, nil
  3032  		case "train_after", "trainAfter", "train-after":
  3033  			return &TsEntryStateAnomalyModelData_FieldTerminalPath{selector: TsEntryStateAnomalyModelData_FieldPathSelectorTrainAfter}, nil
  3034  		case "training_period", "trainingPeriod", "training-period":
  3035  			return &TsEntryStateAnomalyModelData_FieldTerminalPath{selector: TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod}, nil
  3036  		case "sensitiveness":
  3037  			return &TsEntryStateAnomalyModelData_FieldTerminalPath{selector: TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness}, nil
  3038  		}
  3039  	} else {
  3040  		switch fp[0] {
  3041  		case "training_period", "trainingPeriod", "training-period":
  3042  			if subpath, err := monitoring_common.BuildTimeInterval_FieldPath(fp[1:]); err != nil {
  3043  				return nil, err
  3044  			} else {
  3045  				return &TsEntryStateAnomalyModelData_FieldSubPath{selector: TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod, subPath: subpath}, nil
  3046  			}
  3047  		case "sensitiveness":
  3048  			if subpath, err := BuildTsEntryStateAnomalyModelSensitiveness_FieldPath(fp[1:]); err != nil {
  3049  				return nil, err
  3050  			} else {
  3051  				return &TsEntryStateAnomalyModelData_FieldSubPath{selector: TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness, subPath: subpath}, nil
  3052  			}
  3053  		}
  3054  	}
  3055  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object TsEntry_State_AnomalyModelData", fp)
  3056  }
  3057  
  3058  func ParseTsEntryStateAnomalyModelData_FieldPath(rawField string) (TsEntryStateAnomalyModelData_FieldPath, error) {
  3059  	fp, err := gotenobject.ParseRawFieldPath(rawField)
  3060  	if err != nil {
  3061  		return nil, err
  3062  	}
  3063  	return BuildTsEntryStateAnomalyModelData_FieldPath(fp)
  3064  }
  3065  
  3066  func MustParseTsEntryStateAnomalyModelData_FieldPath(rawField string) TsEntryStateAnomalyModelData_FieldPath {
  3067  	fp, err := ParseTsEntryStateAnomalyModelData_FieldPath(rawField)
  3068  	if err != nil {
  3069  		panic(err)
  3070  	}
  3071  	return fp
  3072  }
  3073  
  3074  type TsEntryStateAnomalyModelData_FieldTerminalPath struct {
  3075  	selector TsEntryStateAnomalyModelData_FieldPathSelector
  3076  }
  3077  
  3078  var _ TsEntryStateAnomalyModelData_FieldPath = (*TsEntryStateAnomalyModelData_FieldTerminalPath)(nil)
  3079  
  3080  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) Selector() TsEntryStateAnomalyModelData_FieldPathSelector {
  3081  	return fp.selector
  3082  }
  3083  
  3084  // String returns path representation in proto convention
  3085  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) String() string {
  3086  	return fp.selector.String()
  3087  }
  3088  
  3089  // JSONString returns path representation is JSON convention
  3090  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) JSONString() string {
  3091  	return strcase.ToLowerCamel(fp.String())
  3092  }
  3093  
  3094  // Get returns all values pointed by specific field from source TsEntry_State_AnomalyModelData
  3095  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) Get(source *TsEntry_State_AnomalyModelData) (values []interface{}) {
  3096  	if source != nil {
  3097  		switch fp.selector {
  3098  		case TsEntryStateAnomalyModelData_FieldPathSelectorAnalysisWindow:
  3099  			if source.AnalysisWindow != nil {
  3100  				values = append(values, source.AnalysisWindow)
  3101  			}
  3102  		case TsEntryStateAnomalyModelData_FieldPathSelectorModelData:
  3103  			values = append(values, source.ModelData)
  3104  		case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr:
  3105  			for _, value := range source.GetTrainingMeanErr() {
  3106  				values = append(values, value)
  3107  			}
  3108  		case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr:
  3109  			for _, value := range source.GetTrainingMaxErr() {
  3110  				values = append(values, value)
  3111  			}
  3112  		case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedInEpochs:
  3113  			values = append(values, source.TrainedInEpochs)
  3114  		case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedIn:
  3115  			if source.TrainedIn != nil {
  3116  				values = append(values, source.TrainedIn)
  3117  			}
  3118  		case TsEntryStateAnomalyModelData_FieldPathSelectorTrainAfter:
  3119  			if source.TrainAfter != nil {
  3120  				values = append(values, source.TrainAfter)
  3121  			}
  3122  		case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3123  			if source.TrainingPeriod != nil {
  3124  				values = append(values, source.TrainingPeriod)
  3125  			}
  3126  		case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3127  			for _, value := range source.GetSensitiveness() {
  3128  				values = append(values, value)
  3129  			}
  3130  		default:
  3131  			panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fp.selector))
  3132  		}
  3133  	}
  3134  	return
  3135  }
  3136  
  3137  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
  3138  	return fp.Get(source.(*TsEntry_State_AnomalyModelData))
  3139  }
  3140  
  3141  // GetSingle returns value pointed by specific field of from source TsEntry_State_AnomalyModelData
  3142  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) GetSingle(source *TsEntry_State_AnomalyModelData) (interface{}, bool) {
  3143  	switch fp.selector {
  3144  	case TsEntryStateAnomalyModelData_FieldPathSelectorAnalysisWindow:
  3145  		res := source.GetAnalysisWindow()
  3146  		return res, res != nil
  3147  	case TsEntryStateAnomalyModelData_FieldPathSelectorModelData:
  3148  		res := source.GetModelData()
  3149  		return res, res != nil
  3150  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr:
  3151  		res := source.GetTrainingMeanErr()
  3152  		return res, res != nil
  3153  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr:
  3154  		res := source.GetTrainingMaxErr()
  3155  		return res, res != nil
  3156  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedInEpochs:
  3157  		return source.GetTrainedInEpochs(), source != nil
  3158  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedIn:
  3159  		res := source.GetTrainedIn()
  3160  		return res, res != nil
  3161  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainAfter:
  3162  		res := source.GetTrainAfter()
  3163  		return res, res != nil
  3164  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3165  		res := source.GetTrainingPeriod()
  3166  		return res, res != nil
  3167  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3168  		res := source.GetSensitiveness()
  3169  		return res, res != nil
  3170  	default:
  3171  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fp.selector))
  3172  	}
  3173  }
  3174  
  3175  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  3176  	return fp.GetSingle(source.(*TsEntry_State_AnomalyModelData))
  3177  }
  3178  
  3179  // GetDefault returns a default value of the field type
  3180  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) GetDefault() interface{} {
  3181  	switch fp.selector {
  3182  	case TsEntryStateAnomalyModelData_FieldPathSelectorAnalysisWindow:
  3183  		return (*durationpb.Duration)(nil)
  3184  	case TsEntryStateAnomalyModelData_FieldPathSelectorModelData:
  3185  		return ([]byte)(nil)
  3186  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr:
  3187  		return ([]float64)(nil)
  3188  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr:
  3189  		return ([]float64)(nil)
  3190  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedInEpochs:
  3191  		return int32(0)
  3192  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedIn:
  3193  		return (*durationpb.Duration)(nil)
  3194  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainAfter:
  3195  		return (*timestamppb.Timestamp)(nil)
  3196  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3197  		return (*monitoring_common.TimeInterval)(nil)
  3198  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3199  		return ([]*TsEntry_State_AnomalyModelSensitiveness)(nil)
  3200  	default:
  3201  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fp.selector))
  3202  	}
  3203  }
  3204  
  3205  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) ClearValue(item *TsEntry_State_AnomalyModelData) {
  3206  	if item != nil {
  3207  		switch fp.selector {
  3208  		case TsEntryStateAnomalyModelData_FieldPathSelectorAnalysisWindow:
  3209  			item.AnalysisWindow = nil
  3210  		case TsEntryStateAnomalyModelData_FieldPathSelectorModelData:
  3211  			item.ModelData = nil
  3212  		case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr:
  3213  			item.TrainingMeanErr = nil
  3214  		case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr:
  3215  			item.TrainingMaxErr = nil
  3216  		case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedInEpochs:
  3217  			item.TrainedInEpochs = int32(0)
  3218  		case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedIn:
  3219  			item.TrainedIn = nil
  3220  		case TsEntryStateAnomalyModelData_FieldPathSelectorTrainAfter:
  3221  			item.TrainAfter = nil
  3222  		case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3223  			item.TrainingPeriod = nil
  3224  		case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3225  			item.Sensitiveness = nil
  3226  		default:
  3227  			panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fp.selector))
  3228  		}
  3229  	}
  3230  }
  3231  
  3232  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) ClearValueRaw(item proto.Message) {
  3233  	fp.ClearValue(item.(*TsEntry_State_AnomalyModelData))
  3234  }
  3235  
  3236  // IsLeaf - whether field path is holds simple value
  3237  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) IsLeaf() bool {
  3238  	return fp.selector == TsEntryStateAnomalyModelData_FieldPathSelectorAnalysisWindow ||
  3239  		fp.selector == TsEntryStateAnomalyModelData_FieldPathSelectorModelData ||
  3240  		fp.selector == TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr ||
  3241  		fp.selector == TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr ||
  3242  		fp.selector == TsEntryStateAnomalyModelData_FieldPathSelectorTrainedInEpochs ||
  3243  		fp.selector == TsEntryStateAnomalyModelData_FieldPathSelectorTrainedIn ||
  3244  		fp.selector == TsEntryStateAnomalyModelData_FieldPathSelectorTrainAfter
  3245  }
  3246  
  3247  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  3248  	return []gotenobject.FieldPath{fp}
  3249  }
  3250  
  3251  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) WithIValue(value interface{}) TsEntryStateAnomalyModelData_FieldPathValue {
  3252  	switch fp.selector {
  3253  	case TsEntryStateAnomalyModelData_FieldPathSelectorAnalysisWindow:
  3254  		return &TsEntryStateAnomalyModelData_FieldTerminalPathValue{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, value: value.(*durationpb.Duration)}
  3255  	case TsEntryStateAnomalyModelData_FieldPathSelectorModelData:
  3256  		return &TsEntryStateAnomalyModelData_FieldTerminalPathValue{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, value: value.([]byte)}
  3257  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr:
  3258  		return &TsEntryStateAnomalyModelData_FieldTerminalPathValue{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, value: value.([]float64)}
  3259  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr:
  3260  		return &TsEntryStateAnomalyModelData_FieldTerminalPathValue{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, value: value.([]float64)}
  3261  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedInEpochs:
  3262  		return &TsEntryStateAnomalyModelData_FieldTerminalPathValue{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, value: value.(int32)}
  3263  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedIn:
  3264  		return &TsEntryStateAnomalyModelData_FieldTerminalPathValue{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, value: value.(*durationpb.Duration)}
  3265  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainAfter:
  3266  		return &TsEntryStateAnomalyModelData_FieldTerminalPathValue{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, value: value.(*timestamppb.Timestamp)}
  3267  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3268  		return &TsEntryStateAnomalyModelData_FieldTerminalPathValue{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, value: value.(*monitoring_common.TimeInterval)}
  3269  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3270  		return &TsEntryStateAnomalyModelData_FieldTerminalPathValue{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, value: value.([]*TsEntry_State_AnomalyModelSensitiveness)}
  3271  	default:
  3272  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fp.selector))
  3273  	}
  3274  }
  3275  
  3276  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  3277  	return fp.WithIValue(value)
  3278  }
  3279  
  3280  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) WithIArrayOfValues(values interface{}) TsEntryStateAnomalyModelData_FieldPathArrayOfValues {
  3281  	fpaov := &TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp}
  3282  	switch fp.selector {
  3283  	case TsEntryStateAnomalyModelData_FieldPathSelectorAnalysisWindow:
  3284  		return &TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, values: values.([]*durationpb.Duration)}
  3285  	case TsEntryStateAnomalyModelData_FieldPathSelectorModelData:
  3286  		return &TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, values: values.([][]byte)}
  3287  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr:
  3288  		return &TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, values: values.([][]float64)}
  3289  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr:
  3290  		return &TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, values: values.([][]float64)}
  3291  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedInEpochs:
  3292  		return &TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, values: values.([]int32)}
  3293  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedIn:
  3294  		return &TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, values: values.([]*durationpb.Duration)}
  3295  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainAfter:
  3296  		return &TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, values: values.([]*timestamppb.Timestamp)}
  3297  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3298  		return &TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, values: values.([]*monitoring_common.TimeInterval)}
  3299  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3300  		return &TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, values: values.([][]*TsEntry_State_AnomalyModelSensitiveness)}
  3301  	default:
  3302  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fp.selector))
  3303  	}
  3304  	return fpaov
  3305  }
  3306  
  3307  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  3308  	return fp.WithIArrayOfValues(values)
  3309  }
  3310  
  3311  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) WithIArrayItemValue(value interface{}) TsEntryStateAnomalyModelData_FieldPathArrayItemValue {
  3312  	switch fp.selector {
  3313  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr:
  3314  		return &TsEntryStateAnomalyModelData_FieldTerminalPathArrayItemValue{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, value: value.(float64)}
  3315  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr:
  3316  		return &TsEntryStateAnomalyModelData_FieldTerminalPathArrayItemValue{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, value: value.(float64)}
  3317  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3318  		return &TsEntryStateAnomalyModelData_FieldTerminalPathArrayItemValue{TsEntryStateAnomalyModelData_FieldTerminalPath: *fp, value: value.(*TsEntry_State_AnomalyModelSensitiveness)}
  3319  	default:
  3320  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fp.selector))
  3321  	}
  3322  }
  3323  
  3324  func (fp *TsEntryStateAnomalyModelData_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  3325  	return fp.WithIArrayItemValue(value)
  3326  }
  3327  
  3328  type TsEntryStateAnomalyModelData_FieldSubPath struct {
  3329  	selector TsEntryStateAnomalyModelData_FieldPathSelector
  3330  	subPath  gotenobject.FieldPath
  3331  }
  3332  
  3333  var _ TsEntryStateAnomalyModelData_FieldPath = (*TsEntryStateAnomalyModelData_FieldSubPath)(nil)
  3334  
  3335  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) Selector() TsEntryStateAnomalyModelData_FieldPathSelector {
  3336  	return fps.selector
  3337  }
  3338  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) AsTrainingPeriodSubPath() (monitoring_common.TimeInterval_FieldPath, bool) {
  3339  	res, ok := fps.subPath.(monitoring_common.TimeInterval_FieldPath)
  3340  	return res, ok
  3341  }
  3342  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) AsSensitivenessSubPath() (TsEntryStateAnomalyModelSensitiveness_FieldPath, bool) {
  3343  	res, ok := fps.subPath.(TsEntryStateAnomalyModelSensitiveness_FieldPath)
  3344  	return res, ok
  3345  }
  3346  
  3347  // String returns path representation in proto convention
  3348  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) String() string {
  3349  	return fps.selector.String() + "." + fps.subPath.String()
  3350  }
  3351  
  3352  // JSONString returns path representation is JSON convention
  3353  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) JSONString() string {
  3354  	return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString()
  3355  }
  3356  
  3357  // Get returns all values pointed by selected field from source TsEntry_State_AnomalyModelData
  3358  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) Get(source *TsEntry_State_AnomalyModelData) (values []interface{}) {
  3359  	switch fps.selector {
  3360  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3361  		values = append(values, fps.subPath.GetRaw(source.GetTrainingPeriod())...)
  3362  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3363  		for _, item := range source.GetSensitiveness() {
  3364  			values = append(values, fps.subPath.GetRaw(item)...)
  3365  		}
  3366  	default:
  3367  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fps.selector))
  3368  	}
  3369  	return
  3370  }
  3371  
  3372  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) GetRaw(source proto.Message) []interface{} {
  3373  	return fps.Get(source.(*TsEntry_State_AnomalyModelData))
  3374  }
  3375  
  3376  // GetSingle returns value of selected field from source TsEntry_State_AnomalyModelData
  3377  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) GetSingle(source *TsEntry_State_AnomalyModelData) (interface{}, bool) {
  3378  	switch fps.selector {
  3379  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3380  		if source.GetTrainingPeriod() == nil {
  3381  			return nil, false
  3382  		}
  3383  		return fps.subPath.GetSingleRaw(source.GetTrainingPeriod())
  3384  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3385  		if len(source.GetSensitiveness()) == 0 {
  3386  			return nil, false
  3387  		}
  3388  		return fps.subPath.GetSingleRaw(source.GetSensitiveness()[0])
  3389  	default:
  3390  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fps.selector))
  3391  	}
  3392  }
  3393  
  3394  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  3395  	return fps.GetSingle(source.(*TsEntry_State_AnomalyModelData))
  3396  }
  3397  
  3398  // GetDefault returns a default value of the field type
  3399  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) GetDefault() interface{} {
  3400  	return fps.subPath.GetDefault()
  3401  }
  3402  
  3403  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) ClearValue(item *TsEntry_State_AnomalyModelData) {
  3404  	if item != nil {
  3405  		switch fps.selector {
  3406  		case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3407  			fps.subPath.ClearValueRaw(item.TrainingPeriod)
  3408  		case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3409  			for _, subItem := range item.Sensitiveness {
  3410  				fps.subPath.ClearValueRaw(subItem)
  3411  			}
  3412  		default:
  3413  			panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fps.selector))
  3414  		}
  3415  	}
  3416  }
  3417  
  3418  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) ClearValueRaw(item proto.Message) {
  3419  	fps.ClearValue(item.(*TsEntry_State_AnomalyModelData))
  3420  }
  3421  
  3422  // IsLeaf - whether field path is holds simple value
  3423  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) IsLeaf() bool {
  3424  	return fps.subPath.IsLeaf()
  3425  }
  3426  
  3427  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  3428  	iPaths := []gotenobject.FieldPath{&TsEntryStateAnomalyModelData_FieldTerminalPath{selector: fps.selector}}
  3429  	iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...)
  3430  	return iPaths
  3431  }
  3432  
  3433  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) WithIValue(value interface{}) TsEntryStateAnomalyModelData_FieldPathValue {
  3434  	return &TsEntryStateAnomalyModelData_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)}
  3435  }
  3436  
  3437  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  3438  	return fps.WithIValue(value)
  3439  }
  3440  
  3441  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) WithIArrayOfValues(values interface{}) TsEntryStateAnomalyModelData_FieldPathArrayOfValues {
  3442  	return &TsEntryStateAnomalyModelData_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)}
  3443  }
  3444  
  3445  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  3446  	return fps.WithIArrayOfValues(values)
  3447  }
  3448  
  3449  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) WithIArrayItemValue(value interface{}) TsEntryStateAnomalyModelData_FieldPathArrayItemValue {
  3450  	return &TsEntryStateAnomalyModelData_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)}
  3451  }
  3452  
  3453  func (fps *TsEntryStateAnomalyModelData_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  3454  	return fps.WithIArrayItemValue(value)
  3455  }
  3456  
  3457  // TsEntryStateAnomalyModelData_FieldPathValue allows storing values for AnomalyModelData fields according to their type
  3458  type TsEntryStateAnomalyModelData_FieldPathValue interface {
  3459  	TsEntryStateAnomalyModelData_FieldPath
  3460  	gotenobject.FieldPathValue
  3461  	SetTo(target **TsEntry_State_AnomalyModelData)
  3462  	CompareWith(*TsEntry_State_AnomalyModelData) (cmp int, comparable bool)
  3463  }
  3464  
  3465  func ParseTsEntryStateAnomalyModelData_FieldPathValue(pathStr, valueStr string) (TsEntryStateAnomalyModelData_FieldPathValue, error) {
  3466  	fp, err := ParseTsEntryStateAnomalyModelData_FieldPath(pathStr)
  3467  	if err != nil {
  3468  		return nil, err
  3469  	}
  3470  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
  3471  	if err != nil {
  3472  		return nil, status.Errorf(codes.InvalidArgument, "error parsing AnomalyModelData field path value from %s: %v", valueStr, err)
  3473  	}
  3474  	return fpv.(TsEntryStateAnomalyModelData_FieldPathValue), nil
  3475  }
  3476  
  3477  func MustParseTsEntryStateAnomalyModelData_FieldPathValue(pathStr, valueStr string) TsEntryStateAnomalyModelData_FieldPathValue {
  3478  	fpv, err := ParseTsEntryStateAnomalyModelData_FieldPathValue(pathStr, valueStr)
  3479  	if err != nil {
  3480  		panic(err)
  3481  	}
  3482  	return fpv
  3483  }
  3484  
  3485  type TsEntryStateAnomalyModelData_FieldTerminalPathValue struct {
  3486  	TsEntryStateAnomalyModelData_FieldTerminalPath
  3487  	value interface{}
  3488  }
  3489  
  3490  var _ TsEntryStateAnomalyModelData_FieldPathValue = (*TsEntryStateAnomalyModelData_FieldTerminalPathValue)(nil)
  3491  
  3492  // GetRawValue returns raw value stored under selected path for 'AnomalyModelData' as interface{}
  3493  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) GetRawValue() interface{} {
  3494  	return fpv.value
  3495  }
  3496  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) AsAnalysisWindowValue() (*durationpb.Duration, bool) {
  3497  	res, ok := fpv.value.(*durationpb.Duration)
  3498  	return res, ok
  3499  }
  3500  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) AsModelDataValue() ([]byte, bool) {
  3501  	res, ok := fpv.value.([]byte)
  3502  	return res, ok
  3503  }
  3504  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) AsTrainingMeanErrValue() ([]float64, bool) {
  3505  	res, ok := fpv.value.([]float64)
  3506  	return res, ok
  3507  }
  3508  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) AsTrainingMaxErrValue() ([]float64, bool) {
  3509  	res, ok := fpv.value.([]float64)
  3510  	return res, ok
  3511  }
  3512  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) AsTrainedInEpochsValue() (int32, bool) {
  3513  	res, ok := fpv.value.(int32)
  3514  	return res, ok
  3515  }
  3516  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) AsTrainedInValue() (*durationpb.Duration, bool) {
  3517  	res, ok := fpv.value.(*durationpb.Duration)
  3518  	return res, ok
  3519  }
  3520  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) AsTrainAfterValue() (*timestamppb.Timestamp, bool) {
  3521  	res, ok := fpv.value.(*timestamppb.Timestamp)
  3522  	return res, ok
  3523  }
  3524  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) AsTrainingPeriodValue() (*monitoring_common.TimeInterval, bool) {
  3525  	res, ok := fpv.value.(*monitoring_common.TimeInterval)
  3526  	return res, ok
  3527  }
  3528  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) AsSensitivenessValue() ([]*TsEntry_State_AnomalyModelSensitiveness, bool) {
  3529  	res, ok := fpv.value.([]*TsEntry_State_AnomalyModelSensitiveness)
  3530  	return res, ok
  3531  }
  3532  
  3533  // SetTo stores value for selected field for object AnomalyModelData
  3534  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) SetTo(target **TsEntry_State_AnomalyModelData) {
  3535  	if *target == nil {
  3536  		*target = new(TsEntry_State_AnomalyModelData)
  3537  	}
  3538  	switch fpv.selector {
  3539  	case TsEntryStateAnomalyModelData_FieldPathSelectorAnalysisWindow:
  3540  		(*target).AnalysisWindow = fpv.value.(*durationpb.Duration)
  3541  	case TsEntryStateAnomalyModelData_FieldPathSelectorModelData:
  3542  		(*target).ModelData = fpv.value.([]byte)
  3543  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr:
  3544  		(*target).TrainingMeanErr = fpv.value.([]float64)
  3545  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr:
  3546  		(*target).TrainingMaxErr = fpv.value.([]float64)
  3547  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedInEpochs:
  3548  		(*target).TrainedInEpochs = fpv.value.(int32)
  3549  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedIn:
  3550  		(*target).TrainedIn = fpv.value.(*durationpb.Duration)
  3551  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainAfter:
  3552  		(*target).TrainAfter = fpv.value.(*timestamppb.Timestamp)
  3553  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3554  		(*target).TrainingPeriod = fpv.value.(*monitoring_common.TimeInterval)
  3555  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3556  		(*target).Sensitiveness = fpv.value.([]*TsEntry_State_AnomalyModelSensitiveness)
  3557  	default:
  3558  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fpv.selector))
  3559  	}
  3560  }
  3561  
  3562  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) SetToRaw(target proto.Message) {
  3563  	typedObject := target.(*TsEntry_State_AnomalyModelData)
  3564  	fpv.SetTo(&typedObject)
  3565  }
  3566  
  3567  // CompareWith compares value in the 'TsEntryStateAnomalyModelData_FieldTerminalPathValue' with the value under path in 'TsEntry_State_AnomalyModelData'.
  3568  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) CompareWith(source *TsEntry_State_AnomalyModelData) (int, bool) {
  3569  	switch fpv.selector {
  3570  	case TsEntryStateAnomalyModelData_FieldPathSelectorAnalysisWindow:
  3571  		leftValue := fpv.value.(*durationpb.Duration)
  3572  		rightValue := source.GetAnalysisWindow()
  3573  		if leftValue == nil {
  3574  			if rightValue != nil {
  3575  				return -1, true
  3576  			}
  3577  			return 0, true
  3578  		}
  3579  		if rightValue == nil {
  3580  			return 1, true
  3581  		}
  3582  		if leftValue.AsDuration() == rightValue.AsDuration() {
  3583  			return 0, true
  3584  		} else if leftValue.AsDuration() < rightValue.AsDuration() {
  3585  			return -1, true
  3586  		} else {
  3587  			return 1, true
  3588  		}
  3589  	case TsEntryStateAnomalyModelData_FieldPathSelectorModelData:
  3590  		return 0, false
  3591  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr:
  3592  		return 0, false
  3593  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr:
  3594  		return 0, false
  3595  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedInEpochs:
  3596  		leftValue := fpv.value.(int32)
  3597  		rightValue := source.GetTrainedInEpochs()
  3598  		if (leftValue) == (rightValue) {
  3599  			return 0, true
  3600  		} else if (leftValue) < (rightValue) {
  3601  			return -1, true
  3602  		} else {
  3603  			return 1, true
  3604  		}
  3605  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedIn:
  3606  		leftValue := fpv.value.(*durationpb.Duration)
  3607  		rightValue := source.GetTrainedIn()
  3608  		if leftValue == nil {
  3609  			if rightValue != nil {
  3610  				return -1, true
  3611  			}
  3612  			return 0, true
  3613  		}
  3614  		if rightValue == nil {
  3615  			return 1, true
  3616  		}
  3617  		if leftValue.AsDuration() == rightValue.AsDuration() {
  3618  			return 0, true
  3619  		} else if leftValue.AsDuration() < rightValue.AsDuration() {
  3620  			return -1, true
  3621  		} else {
  3622  			return 1, true
  3623  		}
  3624  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainAfter:
  3625  		leftValue := fpv.value.(*timestamppb.Timestamp)
  3626  		rightValue := source.GetTrainAfter()
  3627  		if leftValue == nil {
  3628  			if rightValue != nil {
  3629  				return -1, true
  3630  			}
  3631  			return 0, true
  3632  		}
  3633  		if rightValue == nil {
  3634  			return 1, true
  3635  		}
  3636  		if leftValue.AsTime().Equal(rightValue.AsTime()) {
  3637  			return 0, true
  3638  		} else if leftValue.AsTime().Before(rightValue.AsTime()) {
  3639  			return -1, true
  3640  		} else {
  3641  			return 1, true
  3642  		}
  3643  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3644  		return 0, false
  3645  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3646  		return 0, false
  3647  	default:
  3648  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fpv.selector))
  3649  	}
  3650  }
  3651  
  3652  func (fpv *TsEntryStateAnomalyModelData_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  3653  	return fpv.CompareWith(source.(*TsEntry_State_AnomalyModelData))
  3654  }
  3655  
  3656  type TsEntryStateAnomalyModelData_FieldSubPathValue struct {
  3657  	TsEntryStateAnomalyModelData_FieldPath
  3658  	subPathValue gotenobject.FieldPathValue
  3659  }
  3660  
  3661  var _ TsEntryStateAnomalyModelData_FieldPathValue = (*TsEntryStateAnomalyModelData_FieldSubPathValue)(nil)
  3662  
  3663  func (fpvs *TsEntryStateAnomalyModelData_FieldSubPathValue) AsTrainingPeriodPathValue() (monitoring_common.TimeInterval_FieldPathValue, bool) {
  3664  	res, ok := fpvs.subPathValue.(monitoring_common.TimeInterval_FieldPathValue)
  3665  	return res, ok
  3666  }
  3667  func (fpvs *TsEntryStateAnomalyModelData_FieldSubPathValue) AsSensitivenessPathValue() (TsEntryStateAnomalyModelSensitiveness_FieldPathValue, bool) {
  3668  	res, ok := fpvs.subPathValue.(TsEntryStateAnomalyModelSensitiveness_FieldPathValue)
  3669  	return res, ok
  3670  }
  3671  
  3672  func (fpvs *TsEntryStateAnomalyModelData_FieldSubPathValue) SetTo(target **TsEntry_State_AnomalyModelData) {
  3673  	if *target == nil {
  3674  		*target = new(TsEntry_State_AnomalyModelData)
  3675  	}
  3676  	switch fpvs.Selector() {
  3677  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3678  		fpvs.subPathValue.(monitoring_common.TimeInterval_FieldPathValue).SetTo(&(*target).TrainingPeriod)
  3679  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3680  		panic("FieldPath setter is unsupported for array subpaths")
  3681  	default:
  3682  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fpvs.Selector()))
  3683  	}
  3684  }
  3685  
  3686  func (fpvs *TsEntryStateAnomalyModelData_FieldSubPathValue) SetToRaw(target proto.Message) {
  3687  	typedObject := target.(*TsEntry_State_AnomalyModelData)
  3688  	fpvs.SetTo(&typedObject)
  3689  }
  3690  
  3691  func (fpvs *TsEntryStateAnomalyModelData_FieldSubPathValue) GetRawValue() interface{} {
  3692  	return fpvs.subPathValue.GetRawValue()
  3693  }
  3694  
  3695  func (fpvs *TsEntryStateAnomalyModelData_FieldSubPathValue) CompareWith(source *TsEntry_State_AnomalyModelData) (int, bool) {
  3696  	switch fpvs.Selector() {
  3697  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3698  		return fpvs.subPathValue.(monitoring_common.TimeInterval_FieldPathValue).CompareWith(source.GetTrainingPeriod())
  3699  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3700  		return 0, false // repeated field
  3701  	default:
  3702  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fpvs.Selector()))
  3703  	}
  3704  }
  3705  
  3706  func (fpvs *TsEntryStateAnomalyModelData_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  3707  	return fpvs.CompareWith(source.(*TsEntry_State_AnomalyModelData))
  3708  }
  3709  
  3710  // TsEntryStateAnomalyModelData_FieldPathArrayItemValue allows storing single item in Path-specific values for AnomalyModelData according to their type
  3711  // Present only for array (repeated) types.
  3712  type TsEntryStateAnomalyModelData_FieldPathArrayItemValue interface {
  3713  	gotenobject.FieldPathArrayItemValue
  3714  	TsEntryStateAnomalyModelData_FieldPath
  3715  	ContainsValue(*TsEntry_State_AnomalyModelData) bool
  3716  }
  3717  
  3718  // ParseTsEntryStateAnomalyModelData_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
  3719  func ParseTsEntryStateAnomalyModelData_FieldPathArrayItemValue(pathStr, valueStr string) (TsEntryStateAnomalyModelData_FieldPathArrayItemValue, error) {
  3720  	fp, err := ParseTsEntryStateAnomalyModelData_FieldPath(pathStr)
  3721  	if err != nil {
  3722  		return nil, err
  3723  	}
  3724  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
  3725  	if err != nil {
  3726  		return nil, status.Errorf(codes.InvalidArgument, "error parsing AnomalyModelData field path array item value from %s: %v", valueStr, err)
  3727  	}
  3728  	return fpaiv.(TsEntryStateAnomalyModelData_FieldPathArrayItemValue), nil
  3729  }
  3730  
  3731  func MustParseTsEntryStateAnomalyModelData_FieldPathArrayItemValue(pathStr, valueStr string) TsEntryStateAnomalyModelData_FieldPathArrayItemValue {
  3732  	fpaiv, err := ParseTsEntryStateAnomalyModelData_FieldPathArrayItemValue(pathStr, valueStr)
  3733  	if err != nil {
  3734  		panic(err)
  3735  	}
  3736  	return fpaiv
  3737  }
  3738  
  3739  type TsEntryStateAnomalyModelData_FieldTerminalPathArrayItemValue struct {
  3740  	TsEntryStateAnomalyModelData_FieldTerminalPath
  3741  	value interface{}
  3742  }
  3743  
  3744  var _ TsEntryStateAnomalyModelData_FieldPathArrayItemValue = (*TsEntryStateAnomalyModelData_FieldTerminalPathArrayItemValue)(nil)
  3745  
  3746  // GetRawValue returns stored element value for array in object TsEntry_State_AnomalyModelData as interface{}
  3747  func (fpaiv *TsEntryStateAnomalyModelData_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
  3748  	return fpaiv.value
  3749  }
  3750  func (fpaiv *TsEntryStateAnomalyModelData_FieldTerminalPathArrayItemValue) AsTrainingMeanErrItemValue() (float64, bool) {
  3751  	res, ok := fpaiv.value.(float64)
  3752  	return res, ok
  3753  }
  3754  func (fpaiv *TsEntryStateAnomalyModelData_FieldTerminalPathArrayItemValue) AsTrainingMaxErrItemValue() (float64, bool) {
  3755  	res, ok := fpaiv.value.(float64)
  3756  	return res, ok
  3757  }
  3758  func (fpaiv *TsEntryStateAnomalyModelData_FieldTerminalPathArrayItemValue) AsSensitivenessItemValue() (*TsEntry_State_AnomalyModelSensitiveness, bool) {
  3759  	res, ok := fpaiv.value.(*TsEntry_State_AnomalyModelSensitiveness)
  3760  	return res, ok
  3761  }
  3762  
  3763  func (fpaiv *TsEntryStateAnomalyModelData_FieldTerminalPathArrayItemValue) GetSingle(source *TsEntry_State_AnomalyModelData) (interface{}, bool) {
  3764  	return nil, false
  3765  }
  3766  
  3767  func (fpaiv *TsEntryStateAnomalyModelData_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
  3768  	return fpaiv.GetSingle(source.(*TsEntry_State_AnomalyModelData))
  3769  }
  3770  
  3771  // Contains returns a boolean indicating if value that is being held is present in given 'AnomalyModelData'
  3772  func (fpaiv *TsEntryStateAnomalyModelData_FieldTerminalPathArrayItemValue) ContainsValue(source *TsEntry_State_AnomalyModelData) bool {
  3773  	slice := fpaiv.TsEntryStateAnomalyModelData_FieldTerminalPath.Get(source)
  3774  	for _, v := range slice {
  3775  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  3776  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  3777  				return true
  3778  			}
  3779  		} else if reflect.DeepEqual(v, fpaiv.value) {
  3780  			return true
  3781  		}
  3782  	}
  3783  	return false
  3784  }
  3785  
  3786  type TsEntryStateAnomalyModelData_FieldSubPathArrayItemValue struct {
  3787  	TsEntryStateAnomalyModelData_FieldPath
  3788  	subPathItemValue gotenobject.FieldPathArrayItemValue
  3789  }
  3790  
  3791  // GetRawValue returns stored array item value
  3792  func (fpaivs *TsEntryStateAnomalyModelData_FieldSubPathArrayItemValue) GetRawItemValue() interface{} {
  3793  	return fpaivs.subPathItemValue.GetRawItemValue()
  3794  }
  3795  func (fpaivs *TsEntryStateAnomalyModelData_FieldSubPathArrayItemValue) AsTrainingPeriodPathItemValue() (monitoring_common.TimeInterval_FieldPathArrayItemValue, bool) {
  3796  	res, ok := fpaivs.subPathItemValue.(monitoring_common.TimeInterval_FieldPathArrayItemValue)
  3797  	return res, ok
  3798  }
  3799  func (fpaivs *TsEntryStateAnomalyModelData_FieldSubPathArrayItemValue) AsSensitivenessPathItemValue() (TsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue, bool) {
  3800  	res, ok := fpaivs.subPathItemValue.(TsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue)
  3801  	return res, ok
  3802  }
  3803  
  3804  // Contains returns a boolean indicating if value that is being held is present in given 'AnomalyModelData'
  3805  func (fpaivs *TsEntryStateAnomalyModelData_FieldSubPathArrayItemValue) ContainsValue(source *TsEntry_State_AnomalyModelData) bool {
  3806  	switch fpaivs.Selector() {
  3807  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3808  		return fpaivs.subPathItemValue.(monitoring_common.TimeInterval_FieldPathArrayItemValue).ContainsValue(source.GetTrainingPeriod())
  3809  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3810  		return false // repeated/map field
  3811  	default:
  3812  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelData: %d", fpaivs.Selector()))
  3813  	}
  3814  }
  3815  
  3816  // TsEntryStateAnomalyModelData_FieldPathArrayOfValues allows storing slice of values for AnomalyModelData fields according to their type
  3817  type TsEntryStateAnomalyModelData_FieldPathArrayOfValues interface {
  3818  	gotenobject.FieldPathArrayOfValues
  3819  	TsEntryStateAnomalyModelData_FieldPath
  3820  }
  3821  
  3822  func ParseTsEntryStateAnomalyModelData_FieldPathArrayOfValues(pathStr, valuesStr string) (TsEntryStateAnomalyModelData_FieldPathArrayOfValues, error) {
  3823  	fp, err := ParseTsEntryStateAnomalyModelData_FieldPath(pathStr)
  3824  	if err != nil {
  3825  		return nil, err
  3826  	}
  3827  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  3828  	if err != nil {
  3829  		return nil, status.Errorf(codes.InvalidArgument, "error parsing AnomalyModelData field path array of values from %s: %v", valuesStr, err)
  3830  	}
  3831  	return fpaov.(TsEntryStateAnomalyModelData_FieldPathArrayOfValues), nil
  3832  }
  3833  
  3834  func MustParseTsEntryStateAnomalyModelData_FieldPathArrayOfValues(pathStr, valuesStr string) TsEntryStateAnomalyModelData_FieldPathArrayOfValues {
  3835  	fpaov, err := ParseTsEntryStateAnomalyModelData_FieldPathArrayOfValues(pathStr, valuesStr)
  3836  	if err != nil {
  3837  		panic(err)
  3838  	}
  3839  	return fpaov
  3840  }
  3841  
  3842  type TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues struct {
  3843  	TsEntryStateAnomalyModelData_FieldTerminalPath
  3844  	values interface{}
  3845  }
  3846  
  3847  var _ TsEntryStateAnomalyModelData_FieldPathArrayOfValues = (*TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues)(nil)
  3848  
  3849  func (fpaov *TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  3850  	switch fpaov.selector {
  3851  	case TsEntryStateAnomalyModelData_FieldPathSelectorAnalysisWindow:
  3852  		for _, v := range fpaov.values.([]*durationpb.Duration) {
  3853  			values = append(values, v)
  3854  		}
  3855  	case TsEntryStateAnomalyModelData_FieldPathSelectorModelData:
  3856  		for _, v := range fpaov.values.([][]byte) {
  3857  			values = append(values, v)
  3858  		}
  3859  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMeanErr:
  3860  		for _, v := range fpaov.values.([][]float64) {
  3861  			values = append(values, v)
  3862  		}
  3863  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingMaxErr:
  3864  		for _, v := range fpaov.values.([][]float64) {
  3865  			values = append(values, v)
  3866  		}
  3867  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedInEpochs:
  3868  		for _, v := range fpaov.values.([]int32) {
  3869  			values = append(values, v)
  3870  		}
  3871  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainedIn:
  3872  		for _, v := range fpaov.values.([]*durationpb.Duration) {
  3873  			values = append(values, v)
  3874  		}
  3875  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainAfter:
  3876  		for _, v := range fpaov.values.([]*timestamppb.Timestamp) {
  3877  			values = append(values, v)
  3878  		}
  3879  	case TsEntryStateAnomalyModelData_FieldPathSelectorTrainingPeriod:
  3880  		for _, v := range fpaov.values.([]*monitoring_common.TimeInterval) {
  3881  			values = append(values, v)
  3882  		}
  3883  	case TsEntryStateAnomalyModelData_FieldPathSelectorSensitiveness:
  3884  		for _, v := range fpaov.values.([][]*TsEntry_State_AnomalyModelSensitiveness) {
  3885  			values = append(values, v)
  3886  		}
  3887  	}
  3888  	return
  3889  }
  3890  func (fpaov *TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues) AsAnalysisWindowArrayOfValues() ([]*durationpb.Duration, bool) {
  3891  	res, ok := fpaov.values.([]*durationpb.Duration)
  3892  	return res, ok
  3893  }
  3894  func (fpaov *TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues) AsModelDataArrayOfValues() ([][]byte, bool) {
  3895  	res, ok := fpaov.values.([][]byte)
  3896  	return res, ok
  3897  }
  3898  func (fpaov *TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues) AsTrainingMeanErrArrayOfValues() ([][]float64, bool) {
  3899  	res, ok := fpaov.values.([][]float64)
  3900  	return res, ok
  3901  }
  3902  func (fpaov *TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues) AsTrainingMaxErrArrayOfValues() ([][]float64, bool) {
  3903  	res, ok := fpaov.values.([][]float64)
  3904  	return res, ok
  3905  }
  3906  func (fpaov *TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues) AsTrainedInEpochsArrayOfValues() ([]int32, bool) {
  3907  	res, ok := fpaov.values.([]int32)
  3908  	return res, ok
  3909  }
  3910  func (fpaov *TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues) AsTrainedInArrayOfValues() ([]*durationpb.Duration, bool) {
  3911  	res, ok := fpaov.values.([]*durationpb.Duration)
  3912  	return res, ok
  3913  }
  3914  func (fpaov *TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues) AsTrainAfterArrayOfValues() ([]*timestamppb.Timestamp, bool) {
  3915  	res, ok := fpaov.values.([]*timestamppb.Timestamp)
  3916  	return res, ok
  3917  }
  3918  func (fpaov *TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues) AsTrainingPeriodArrayOfValues() ([]*monitoring_common.TimeInterval, bool) {
  3919  	res, ok := fpaov.values.([]*monitoring_common.TimeInterval)
  3920  	return res, ok
  3921  }
  3922  func (fpaov *TsEntryStateAnomalyModelData_FieldTerminalPathArrayOfValues) AsSensitivenessArrayOfValues() ([][]*TsEntry_State_AnomalyModelSensitiveness, bool) {
  3923  	res, ok := fpaov.values.([][]*TsEntry_State_AnomalyModelSensitiveness)
  3924  	return res, ok
  3925  }
  3926  
  3927  type TsEntryStateAnomalyModelData_FieldSubPathArrayOfValues struct {
  3928  	TsEntryStateAnomalyModelData_FieldPath
  3929  	subPathArrayOfValues gotenobject.FieldPathArrayOfValues
  3930  }
  3931  
  3932  var _ TsEntryStateAnomalyModelData_FieldPathArrayOfValues = (*TsEntryStateAnomalyModelData_FieldSubPathArrayOfValues)(nil)
  3933  
  3934  func (fpsaov *TsEntryStateAnomalyModelData_FieldSubPathArrayOfValues) GetRawValues() []interface{} {
  3935  	return fpsaov.subPathArrayOfValues.GetRawValues()
  3936  }
  3937  func (fpsaov *TsEntryStateAnomalyModelData_FieldSubPathArrayOfValues) AsTrainingPeriodPathArrayOfValues() (monitoring_common.TimeInterval_FieldPathArrayOfValues, bool) {
  3938  	res, ok := fpsaov.subPathArrayOfValues.(monitoring_common.TimeInterval_FieldPathArrayOfValues)
  3939  	return res, ok
  3940  }
  3941  func (fpsaov *TsEntryStateAnomalyModelData_FieldSubPathArrayOfValues) AsSensitivenessPathArrayOfValues() (TsEntryStateAnomalyModelSensitiveness_FieldPathArrayOfValues, bool) {
  3942  	res, ok := fpsaov.subPathArrayOfValues.(TsEntryStateAnomalyModelSensitiveness_FieldPathArrayOfValues)
  3943  	return res, ok
  3944  }
  3945  
  3946  // FieldPath provides implementation to handle
  3947  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
  3948  type TsEntryStateAnomalyModelSensitiveness_FieldPath interface {
  3949  	gotenobject.FieldPath
  3950  	Selector() TsEntryStateAnomalyModelSensitiveness_FieldPathSelector
  3951  	Get(source *TsEntry_State_AnomalyModelSensitiveness) []interface{}
  3952  	GetSingle(source *TsEntry_State_AnomalyModelSensitiveness) (interface{}, bool)
  3953  	ClearValue(item *TsEntry_State_AnomalyModelSensitiveness)
  3954  
  3955  	// Those methods build corresponding TsEntryStateAnomalyModelSensitiveness_FieldPathValue
  3956  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
  3957  	WithIValue(value interface{}) TsEntryStateAnomalyModelSensitiveness_FieldPathValue
  3958  	WithIArrayOfValues(values interface{}) TsEntryStateAnomalyModelSensitiveness_FieldPathArrayOfValues
  3959  	WithIArrayItemValue(value interface{}) TsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue
  3960  }
  3961  
  3962  type TsEntryStateAnomalyModelSensitiveness_FieldPathSelector int32
  3963  
  3964  const (
  3965  	TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorQueryName        TsEntryStateAnomalyModelSensitiveness_FieldPathSelector = 0
  3966  	TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorAnomalyThreshold TsEntryStateAnomalyModelSensitiveness_FieldPathSelector = 1
  3967  )
  3968  
  3969  func (s TsEntryStateAnomalyModelSensitiveness_FieldPathSelector) String() string {
  3970  	switch s {
  3971  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorQueryName:
  3972  		return "query_name"
  3973  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorAnomalyThreshold:
  3974  		return "anomaly_threshold"
  3975  	default:
  3976  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelSensitiveness: %d", s))
  3977  	}
  3978  }
  3979  
  3980  func BuildTsEntryStateAnomalyModelSensitiveness_FieldPath(fp gotenobject.RawFieldPath) (TsEntryStateAnomalyModelSensitiveness_FieldPath, error) {
  3981  	if len(fp) == 0 {
  3982  		return nil, status.Error(codes.InvalidArgument, "empty field path for object TsEntry_State_AnomalyModelSensitiveness")
  3983  	}
  3984  	if len(fp) == 1 {
  3985  		switch fp[0] {
  3986  		case "query_name", "queryName", "query-name":
  3987  			return &TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath{selector: TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorQueryName}, nil
  3988  		case "anomaly_threshold", "anomalyThreshold", "anomaly-threshold":
  3989  			return &TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath{selector: TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorAnomalyThreshold}, nil
  3990  		}
  3991  	}
  3992  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object TsEntry_State_AnomalyModelSensitiveness", fp)
  3993  }
  3994  
  3995  func ParseTsEntryStateAnomalyModelSensitiveness_FieldPath(rawField string) (TsEntryStateAnomalyModelSensitiveness_FieldPath, error) {
  3996  	fp, err := gotenobject.ParseRawFieldPath(rawField)
  3997  	if err != nil {
  3998  		return nil, err
  3999  	}
  4000  	return BuildTsEntryStateAnomalyModelSensitiveness_FieldPath(fp)
  4001  }
  4002  
  4003  func MustParseTsEntryStateAnomalyModelSensitiveness_FieldPath(rawField string) TsEntryStateAnomalyModelSensitiveness_FieldPath {
  4004  	fp, err := ParseTsEntryStateAnomalyModelSensitiveness_FieldPath(rawField)
  4005  	if err != nil {
  4006  		panic(err)
  4007  	}
  4008  	return fp
  4009  }
  4010  
  4011  type TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath struct {
  4012  	selector TsEntryStateAnomalyModelSensitiveness_FieldPathSelector
  4013  }
  4014  
  4015  var _ TsEntryStateAnomalyModelSensitiveness_FieldPath = (*TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath)(nil)
  4016  
  4017  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) Selector() TsEntryStateAnomalyModelSensitiveness_FieldPathSelector {
  4018  	return fp.selector
  4019  }
  4020  
  4021  // String returns path representation in proto convention
  4022  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) String() string {
  4023  	return fp.selector.String()
  4024  }
  4025  
  4026  // JSONString returns path representation is JSON convention
  4027  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) JSONString() string {
  4028  	return strcase.ToLowerCamel(fp.String())
  4029  }
  4030  
  4031  // Get returns all values pointed by specific field from source TsEntry_State_AnomalyModelSensitiveness
  4032  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) Get(source *TsEntry_State_AnomalyModelSensitiveness) (values []interface{}) {
  4033  	if source != nil {
  4034  		switch fp.selector {
  4035  		case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorQueryName:
  4036  			values = append(values, source.QueryName)
  4037  		case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorAnomalyThreshold:
  4038  			values = append(values, source.AnomalyThreshold)
  4039  		default:
  4040  			panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelSensitiveness: %d", fp.selector))
  4041  		}
  4042  	}
  4043  	return
  4044  }
  4045  
  4046  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
  4047  	return fp.Get(source.(*TsEntry_State_AnomalyModelSensitiveness))
  4048  }
  4049  
  4050  // GetSingle returns value pointed by specific field of from source TsEntry_State_AnomalyModelSensitiveness
  4051  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) GetSingle(source *TsEntry_State_AnomalyModelSensitiveness) (interface{}, bool) {
  4052  	switch fp.selector {
  4053  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorQueryName:
  4054  		return source.GetQueryName(), source != nil
  4055  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorAnomalyThreshold:
  4056  		return source.GetAnomalyThreshold(), source != nil
  4057  	default:
  4058  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelSensitiveness: %d", fp.selector))
  4059  	}
  4060  }
  4061  
  4062  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  4063  	return fp.GetSingle(source.(*TsEntry_State_AnomalyModelSensitiveness))
  4064  }
  4065  
  4066  // GetDefault returns a default value of the field type
  4067  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) GetDefault() interface{} {
  4068  	switch fp.selector {
  4069  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorQueryName:
  4070  		return ""
  4071  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorAnomalyThreshold:
  4072  		return float64(0)
  4073  	default:
  4074  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelSensitiveness: %d", fp.selector))
  4075  	}
  4076  }
  4077  
  4078  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) ClearValue(item *TsEntry_State_AnomalyModelSensitiveness) {
  4079  	if item != nil {
  4080  		switch fp.selector {
  4081  		case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorQueryName:
  4082  			item.QueryName = ""
  4083  		case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorAnomalyThreshold:
  4084  			item.AnomalyThreshold = float64(0)
  4085  		default:
  4086  			panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelSensitiveness: %d", fp.selector))
  4087  		}
  4088  	}
  4089  }
  4090  
  4091  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) ClearValueRaw(item proto.Message) {
  4092  	fp.ClearValue(item.(*TsEntry_State_AnomalyModelSensitiveness))
  4093  }
  4094  
  4095  // IsLeaf - whether field path is holds simple value
  4096  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) IsLeaf() bool {
  4097  	return fp.selector == TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorQueryName ||
  4098  		fp.selector == TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorAnomalyThreshold
  4099  }
  4100  
  4101  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  4102  	return []gotenobject.FieldPath{fp}
  4103  }
  4104  
  4105  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) WithIValue(value interface{}) TsEntryStateAnomalyModelSensitiveness_FieldPathValue {
  4106  	switch fp.selector {
  4107  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorQueryName:
  4108  		return &TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathValue{TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath: *fp, value: value.(string)}
  4109  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorAnomalyThreshold:
  4110  		return &TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathValue{TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath: *fp, value: value.(float64)}
  4111  	default:
  4112  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelSensitiveness: %d", fp.selector))
  4113  	}
  4114  }
  4115  
  4116  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  4117  	return fp.WithIValue(value)
  4118  }
  4119  
  4120  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) WithIArrayOfValues(values interface{}) TsEntryStateAnomalyModelSensitiveness_FieldPathArrayOfValues {
  4121  	fpaov := &TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayOfValues{TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath: *fp}
  4122  	switch fp.selector {
  4123  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorQueryName:
  4124  		return &TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayOfValues{TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath: *fp, values: values.([]string)}
  4125  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorAnomalyThreshold:
  4126  		return &TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayOfValues{TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath: *fp, values: values.([]float64)}
  4127  	default:
  4128  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelSensitiveness: %d", fp.selector))
  4129  	}
  4130  	return fpaov
  4131  }
  4132  
  4133  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  4134  	return fp.WithIArrayOfValues(values)
  4135  }
  4136  
  4137  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) WithIArrayItemValue(value interface{}) TsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue {
  4138  	switch fp.selector {
  4139  	default:
  4140  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelSensitiveness: %d", fp.selector))
  4141  	}
  4142  }
  4143  
  4144  func (fp *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  4145  	return fp.WithIArrayItemValue(value)
  4146  }
  4147  
  4148  // TsEntryStateAnomalyModelSensitiveness_FieldPathValue allows storing values for AnomalyModelSensitiveness fields according to their type
  4149  type TsEntryStateAnomalyModelSensitiveness_FieldPathValue interface {
  4150  	TsEntryStateAnomalyModelSensitiveness_FieldPath
  4151  	gotenobject.FieldPathValue
  4152  	SetTo(target **TsEntry_State_AnomalyModelSensitiveness)
  4153  	CompareWith(*TsEntry_State_AnomalyModelSensitiveness) (cmp int, comparable bool)
  4154  }
  4155  
  4156  func ParseTsEntryStateAnomalyModelSensitiveness_FieldPathValue(pathStr, valueStr string) (TsEntryStateAnomalyModelSensitiveness_FieldPathValue, error) {
  4157  	fp, err := ParseTsEntryStateAnomalyModelSensitiveness_FieldPath(pathStr)
  4158  	if err != nil {
  4159  		return nil, err
  4160  	}
  4161  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
  4162  	if err != nil {
  4163  		return nil, status.Errorf(codes.InvalidArgument, "error parsing AnomalyModelSensitiveness field path value from %s: %v", valueStr, err)
  4164  	}
  4165  	return fpv.(TsEntryStateAnomalyModelSensitiveness_FieldPathValue), nil
  4166  }
  4167  
  4168  func MustParseTsEntryStateAnomalyModelSensitiveness_FieldPathValue(pathStr, valueStr string) TsEntryStateAnomalyModelSensitiveness_FieldPathValue {
  4169  	fpv, err := ParseTsEntryStateAnomalyModelSensitiveness_FieldPathValue(pathStr, valueStr)
  4170  	if err != nil {
  4171  		panic(err)
  4172  	}
  4173  	return fpv
  4174  }
  4175  
  4176  type TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathValue struct {
  4177  	TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath
  4178  	value interface{}
  4179  }
  4180  
  4181  var _ TsEntryStateAnomalyModelSensitiveness_FieldPathValue = (*TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathValue)(nil)
  4182  
  4183  // GetRawValue returns raw value stored under selected path for 'AnomalyModelSensitiveness' as interface{}
  4184  func (fpv *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathValue) GetRawValue() interface{} {
  4185  	return fpv.value
  4186  }
  4187  func (fpv *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathValue) AsQueryNameValue() (string, bool) {
  4188  	res, ok := fpv.value.(string)
  4189  	return res, ok
  4190  }
  4191  func (fpv *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathValue) AsAnomalyThresholdValue() (float64, bool) {
  4192  	res, ok := fpv.value.(float64)
  4193  	return res, ok
  4194  }
  4195  
  4196  // SetTo stores value for selected field for object AnomalyModelSensitiveness
  4197  func (fpv *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathValue) SetTo(target **TsEntry_State_AnomalyModelSensitiveness) {
  4198  	if *target == nil {
  4199  		*target = new(TsEntry_State_AnomalyModelSensitiveness)
  4200  	}
  4201  	switch fpv.selector {
  4202  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorQueryName:
  4203  		(*target).QueryName = fpv.value.(string)
  4204  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorAnomalyThreshold:
  4205  		(*target).AnomalyThreshold = fpv.value.(float64)
  4206  	default:
  4207  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelSensitiveness: %d", fpv.selector))
  4208  	}
  4209  }
  4210  
  4211  func (fpv *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathValue) SetToRaw(target proto.Message) {
  4212  	typedObject := target.(*TsEntry_State_AnomalyModelSensitiveness)
  4213  	fpv.SetTo(&typedObject)
  4214  }
  4215  
  4216  // CompareWith compares value in the 'TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathValue' with the value under path in 'TsEntry_State_AnomalyModelSensitiveness'.
  4217  func (fpv *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathValue) CompareWith(source *TsEntry_State_AnomalyModelSensitiveness) (int, bool) {
  4218  	switch fpv.selector {
  4219  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorQueryName:
  4220  		leftValue := fpv.value.(string)
  4221  		rightValue := source.GetQueryName()
  4222  		if (leftValue) == (rightValue) {
  4223  			return 0, true
  4224  		} else if (leftValue) < (rightValue) {
  4225  			return -1, true
  4226  		} else {
  4227  			return 1, true
  4228  		}
  4229  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorAnomalyThreshold:
  4230  		leftValue := fpv.value.(float64)
  4231  		rightValue := source.GetAnomalyThreshold()
  4232  		if (leftValue) == (rightValue) {
  4233  			return 0, true
  4234  		} else if (leftValue) < (rightValue) {
  4235  			return -1, true
  4236  		} else {
  4237  			return 1, true
  4238  		}
  4239  	default:
  4240  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AnomalyModelSensitiveness: %d", fpv.selector))
  4241  	}
  4242  }
  4243  
  4244  func (fpv *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  4245  	return fpv.CompareWith(source.(*TsEntry_State_AnomalyModelSensitiveness))
  4246  }
  4247  
  4248  // TsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue allows storing single item in Path-specific values for AnomalyModelSensitiveness according to their type
  4249  // Present only for array (repeated) types.
  4250  type TsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue interface {
  4251  	gotenobject.FieldPathArrayItemValue
  4252  	TsEntryStateAnomalyModelSensitiveness_FieldPath
  4253  	ContainsValue(*TsEntry_State_AnomalyModelSensitiveness) bool
  4254  }
  4255  
  4256  // ParseTsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
  4257  func ParseTsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue(pathStr, valueStr string) (TsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue, error) {
  4258  	fp, err := ParseTsEntryStateAnomalyModelSensitiveness_FieldPath(pathStr)
  4259  	if err != nil {
  4260  		return nil, err
  4261  	}
  4262  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
  4263  	if err != nil {
  4264  		return nil, status.Errorf(codes.InvalidArgument, "error parsing AnomalyModelSensitiveness field path array item value from %s: %v", valueStr, err)
  4265  	}
  4266  	return fpaiv.(TsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue), nil
  4267  }
  4268  
  4269  func MustParseTsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue(pathStr, valueStr string) TsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue {
  4270  	fpaiv, err := ParseTsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue(pathStr, valueStr)
  4271  	if err != nil {
  4272  		panic(err)
  4273  	}
  4274  	return fpaiv
  4275  }
  4276  
  4277  type TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayItemValue struct {
  4278  	TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath
  4279  	value interface{}
  4280  }
  4281  
  4282  var _ TsEntryStateAnomalyModelSensitiveness_FieldPathArrayItemValue = (*TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayItemValue)(nil)
  4283  
  4284  // GetRawValue returns stored element value for array in object TsEntry_State_AnomalyModelSensitiveness as interface{}
  4285  func (fpaiv *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
  4286  	return fpaiv.value
  4287  }
  4288  
  4289  func (fpaiv *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayItemValue) GetSingle(source *TsEntry_State_AnomalyModelSensitiveness) (interface{}, bool) {
  4290  	return nil, false
  4291  }
  4292  
  4293  func (fpaiv *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
  4294  	return fpaiv.GetSingle(source.(*TsEntry_State_AnomalyModelSensitiveness))
  4295  }
  4296  
  4297  // Contains returns a boolean indicating if value that is being held is present in given 'AnomalyModelSensitiveness'
  4298  func (fpaiv *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayItemValue) ContainsValue(source *TsEntry_State_AnomalyModelSensitiveness) bool {
  4299  	slice := fpaiv.TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath.Get(source)
  4300  	for _, v := range slice {
  4301  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  4302  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  4303  				return true
  4304  			}
  4305  		} else if reflect.DeepEqual(v, fpaiv.value) {
  4306  			return true
  4307  		}
  4308  	}
  4309  	return false
  4310  }
  4311  
  4312  // TsEntryStateAnomalyModelSensitiveness_FieldPathArrayOfValues allows storing slice of values for AnomalyModelSensitiveness fields according to their type
  4313  type TsEntryStateAnomalyModelSensitiveness_FieldPathArrayOfValues interface {
  4314  	gotenobject.FieldPathArrayOfValues
  4315  	TsEntryStateAnomalyModelSensitiveness_FieldPath
  4316  }
  4317  
  4318  func ParseTsEntryStateAnomalyModelSensitiveness_FieldPathArrayOfValues(pathStr, valuesStr string) (TsEntryStateAnomalyModelSensitiveness_FieldPathArrayOfValues, error) {
  4319  	fp, err := ParseTsEntryStateAnomalyModelSensitiveness_FieldPath(pathStr)
  4320  	if err != nil {
  4321  		return nil, err
  4322  	}
  4323  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  4324  	if err != nil {
  4325  		return nil, status.Errorf(codes.InvalidArgument, "error parsing AnomalyModelSensitiveness field path array of values from %s: %v", valuesStr, err)
  4326  	}
  4327  	return fpaov.(TsEntryStateAnomalyModelSensitiveness_FieldPathArrayOfValues), nil
  4328  }
  4329  
  4330  func MustParseTsEntryStateAnomalyModelSensitiveness_FieldPathArrayOfValues(pathStr, valuesStr string) TsEntryStateAnomalyModelSensitiveness_FieldPathArrayOfValues {
  4331  	fpaov, err := ParseTsEntryStateAnomalyModelSensitiveness_FieldPathArrayOfValues(pathStr, valuesStr)
  4332  	if err != nil {
  4333  		panic(err)
  4334  	}
  4335  	return fpaov
  4336  }
  4337  
  4338  type TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayOfValues struct {
  4339  	TsEntryStateAnomalyModelSensitiveness_FieldTerminalPath
  4340  	values interface{}
  4341  }
  4342  
  4343  var _ TsEntryStateAnomalyModelSensitiveness_FieldPathArrayOfValues = (*TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayOfValues)(nil)
  4344  
  4345  func (fpaov *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  4346  	switch fpaov.selector {
  4347  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorQueryName:
  4348  		for _, v := range fpaov.values.([]string) {
  4349  			values = append(values, v)
  4350  		}
  4351  	case TsEntryStateAnomalyModelSensitiveness_FieldPathSelectorAnomalyThreshold:
  4352  		for _, v := range fpaov.values.([]float64) {
  4353  			values = append(values, v)
  4354  		}
  4355  	}
  4356  	return
  4357  }
  4358  func (fpaov *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayOfValues) AsQueryNameArrayOfValues() ([]string, bool) {
  4359  	res, ok := fpaov.values.([]string)
  4360  	return res, ok
  4361  }
  4362  func (fpaov *TsEntryStateAnomalyModelSensitiveness_FieldTerminalPathArrayOfValues) AsAnomalyThresholdArrayOfValues() ([]float64, bool) {
  4363  	res, ok := fpaov.values.([]float64)
  4364  	return res, ok
  4365  }
  4366  
  4367  // FieldPath provides implementation to handle
  4368  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
  4369  type TsEntryStateAdaptiveThresholdInfo_FieldPath interface {
  4370  	gotenobject.FieldPath
  4371  	Selector() TsEntryStateAdaptiveThresholdInfo_FieldPathSelector
  4372  	Get(source *TsEntry_State_AdaptiveThresholdInfo) []interface{}
  4373  	GetSingle(source *TsEntry_State_AdaptiveThresholdInfo) (interface{}, bool)
  4374  	ClearValue(item *TsEntry_State_AdaptiveThresholdInfo)
  4375  
  4376  	// Those methods build corresponding TsEntryStateAdaptiveThresholdInfo_FieldPathValue
  4377  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
  4378  	WithIValue(value interface{}) TsEntryStateAdaptiveThresholdInfo_FieldPathValue
  4379  	WithIArrayOfValues(values interface{}) TsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues
  4380  	WithIArrayItemValue(value interface{}) TsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue
  4381  }
  4382  
  4383  type TsEntryStateAdaptiveThresholdInfo_FieldPathSelector int32
  4384  
  4385  const (
  4386  	TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorQueryName TsEntryStateAdaptiveThresholdInfo_FieldPathSelector = 0
  4387  	TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower     TsEntryStateAdaptiveThresholdInfo_FieldPathSelector = 1
  4388  	TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper     TsEntryStateAdaptiveThresholdInfo_FieldPathSelector = 2
  4389  	TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorNextCheck TsEntryStateAdaptiveThresholdInfo_FieldPathSelector = 3
  4390  )
  4391  
  4392  func (s TsEntryStateAdaptiveThresholdInfo_FieldPathSelector) String() string {
  4393  	switch s {
  4394  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorQueryName:
  4395  		return "query_name"
  4396  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4397  		return "lower"
  4398  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4399  		return "upper"
  4400  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorNextCheck:
  4401  		return "next_check"
  4402  	default:
  4403  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", s))
  4404  	}
  4405  }
  4406  
  4407  func BuildTsEntryStateAdaptiveThresholdInfo_FieldPath(fp gotenobject.RawFieldPath) (TsEntryStateAdaptiveThresholdInfo_FieldPath, error) {
  4408  	if len(fp) == 0 {
  4409  		return nil, status.Error(codes.InvalidArgument, "empty field path for object TsEntry_State_AdaptiveThresholdInfo")
  4410  	}
  4411  	if len(fp) == 1 {
  4412  		switch fp[0] {
  4413  		case "query_name", "queryName", "query-name":
  4414  			return &TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath{selector: TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorQueryName}, nil
  4415  		case "lower":
  4416  			return &TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath{selector: TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower}, nil
  4417  		case "upper":
  4418  			return &TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath{selector: TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper}, nil
  4419  		case "next_check", "nextCheck", "next-check":
  4420  			return &TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath{selector: TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorNextCheck}, nil
  4421  		}
  4422  	} else {
  4423  		switch fp[0] {
  4424  		case "lower":
  4425  			if subpath, err := rcommon.BuildAlertingThreshold_FieldPath(fp[1:]); err != nil {
  4426  				return nil, err
  4427  			} else {
  4428  				return &TsEntryStateAdaptiveThresholdInfo_FieldSubPath{selector: TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower, subPath: subpath}, nil
  4429  			}
  4430  		case "upper":
  4431  			if subpath, err := rcommon.BuildAlertingThreshold_FieldPath(fp[1:]); err != nil {
  4432  				return nil, err
  4433  			} else {
  4434  				return &TsEntryStateAdaptiveThresholdInfo_FieldSubPath{selector: TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper, subPath: subpath}, nil
  4435  			}
  4436  		}
  4437  	}
  4438  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object TsEntry_State_AdaptiveThresholdInfo", fp)
  4439  }
  4440  
  4441  func ParseTsEntryStateAdaptiveThresholdInfo_FieldPath(rawField string) (TsEntryStateAdaptiveThresholdInfo_FieldPath, error) {
  4442  	fp, err := gotenobject.ParseRawFieldPath(rawField)
  4443  	if err != nil {
  4444  		return nil, err
  4445  	}
  4446  	return BuildTsEntryStateAdaptiveThresholdInfo_FieldPath(fp)
  4447  }
  4448  
  4449  func MustParseTsEntryStateAdaptiveThresholdInfo_FieldPath(rawField string) TsEntryStateAdaptiveThresholdInfo_FieldPath {
  4450  	fp, err := ParseTsEntryStateAdaptiveThresholdInfo_FieldPath(rawField)
  4451  	if err != nil {
  4452  		panic(err)
  4453  	}
  4454  	return fp
  4455  }
  4456  
  4457  type TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath struct {
  4458  	selector TsEntryStateAdaptiveThresholdInfo_FieldPathSelector
  4459  }
  4460  
  4461  var _ TsEntryStateAdaptiveThresholdInfo_FieldPath = (*TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath)(nil)
  4462  
  4463  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) Selector() TsEntryStateAdaptiveThresholdInfo_FieldPathSelector {
  4464  	return fp.selector
  4465  }
  4466  
  4467  // String returns path representation in proto convention
  4468  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) String() string {
  4469  	return fp.selector.String()
  4470  }
  4471  
  4472  // JSONString returns path representation is JSON convention
  4473  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) JSONString() string {
  4474  	return strcase.ToLowerCamel(fp.String())
  4475  }
  4476  
  4477  // Get returns all values pointed by specific field from source TsEntry_State_AdaptiveThresholdInfo
  4478  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) Get(source *TsEntry_State_AdaptiveThresholdInfo) (values []interface{}) {
  4479  	if source != nil {
  4480  		switch fp.selector {
  4481  		case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorQueryName:
  4482  			values = append(values, source.QueryName)
  4483  		case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4484  			if source.Lower != nil {
  4485  				values = append(values, source.Lower)
  4486  			}
  4487  		case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4488  			if source.Upper != nil {
  4489  				values = append(values, source.Upper)
  4490  			}
  4491  		case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorNextCheck:
  4492  			if source.NextCheck != nil {
  4493  				values = append(values, source.NextCheck)
  4494  			}
  4495  		default:
  4496  			panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fp.selector))
  4497  		}
  4498  	}
  4499  	return
  4500  }
  4501  
  4502  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
  4503  	return fp.Get(source.(*TsEntry_State_AdaptiveThresholdInfo))
  4504  }
  4505  
  4506  // GetSingle returns value pointed by specific field of from source TsEntry_State_AdaptiveThresholdInfo
  4507  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) GetSingle(source *TsEntry_State_AdaptiveThresholdInfo) (interface{}, bool) {
  4508  	switch fp.selector {
  4509  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorQueryName:
  4510  		return source.GetQueryName(), source != nil
  4511  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4512  		res := source.GetLower()
  4513  		return res, res != nil
  4514  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4515  		res := source.GetUpper()
  4516  		return res, res != nil
  4517  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorNextCheck:
  4518  		res := source.GetNextCheck()
  4519  		return res, res != nil
  4520  	default:
  4521  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fp.selector))
  4522  	}
  4523  }
  4524  
  4525  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  4526  	return fp.GetSingle(source.(*TsEntry_State_AdaptiveThresholdInfo))
  4527  }
  4528  
  4529  // GetDefault returns a default value of the field type
  4530  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) GetDefault() interface{} {
  4531  	switch fp.selector {
  4532  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorQueryName:
  4533  		return ""
  4534  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4535  		return (*rcommon.AlertingThreshold)(nil)
  4536  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4537  		return (*rcommon.AlertingThreshold)(nil)
  4538  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorNextCheck:
  4539  		return (*timestamppb.Timestamp)(nil)
  4540  	default:
  4541  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fp.selector))
  4542  	}
  4543  }
  4544  
  4545  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) ClearValue(item *TsEntry_State_AdaptiveThresholdInfo) {
  4546  	if item != nil {
  4547  		switch fp.selector {
  4548  		case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorQueryName:
  4549  			item.QueryName = ""
  4550  		case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4551  			item.Lower = nil
  4552  		case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4553  			item.Upper = nil
  4554  		case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorNextCheck:
  4555  			item.NextCheck = nil
  4556  		default:
  4557  			panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fp.selector))
  4558  		}
  4559  	}
  4560  }
  4561  
  4562  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) ClearValueRaw(item proto.Message) {
  4563  	fp.ClearValue(item.(*TsEntry_State_AdaptiveThresholdInfo))
  4564  }
  4565  
  4566  // IsLeaf - whether field path is holds simple value
  4567  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) IsLeaf() bool {
  4568  	return fp.selector == TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorQueryName ||
  4569  		fp.selector == TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorNextCheck
  4570  }
  4571  
  4572  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  4573  	return []gotenobject.FieldPath{fp}
  4574  }
  4575  
  4576  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) WithIValue(value interface{}) TsEntryStateAdaptiveThresholdInfo_FieldPathValue {
  4577  	switch fp.selector {
  4578  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorQueryName:
  4579  		return &TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue{TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath: *fp, value: value.(string)}
  4580  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4581  		return &TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue{TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath: *fp, value: value.(*rcommon.AlertingThreshold)}
  4582  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4583  		return &TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue{TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath: *fp, value: value.(*rcommon.AlertingThreshold)}
  4584  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorNextCheck:
  4585  		return &TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue{TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath: *fp, value: value.(*timestamppb.Timestamp)}
  4586  	default:
  4587  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fp.selector))
  4588  	}
  4589  }
  4590  
  4591  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  4592  	return fp.WithIValue(value)
  4593  }
  4594  
  4595  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) WithIArrayOfValues(values interface{}) TsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues {
  4596  	fpaov := &TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayOfValues{TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath: *fp}
  4597  	switch fp.selector {
  4598  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorQueryName:
  4599  		return &TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayOfValues{TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath: *fp, values: values.([]string)}
  4600  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4601  		return &TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayOfValues{TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath: *fp, values: values.([]*rcommon.AlertingThreshold)}
  4602  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4603  		return &TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayOfValues{TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath: *fp, values: values.([]*rcommon.AlertingThreshold)}
  4604  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorNextCheck:
  4605  		return &TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayOfValues{TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath: *fp, values: values.([]*timestamppb.Timestamp)}
  4606  	default:
  4607  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fp.selector))
  4608  	}
  4609  	return fpaov
  4610  }
  4611  
  4612  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  4613  	return fp.WithIArrayOfValues(values)
  4614  }
  4615  
  4616  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) WithIArrayItemValue(value interface{}) TsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue {
  4617  	switch fp.selector {
  4618  	default:
  4619  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fp.selector))
  4620  	}
  4621  }
  4622  
  4623  func (fp *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  4624  	return fp.WithIArrayItemValue(value)
  4625  }
  4626  
  4627  type TsEntryStateAdaptiveThresholdInfo_FieldSubPath struct {
  4628  	selector TsEntryStateAdaptiveThresholdInfo_FieldPathSelector
  4629  	subPath  gotenobject.FieldPath
  4630  }
  4631  
  4632  var _ TsEntryStateAdaptiveThresholdInfo_FieldPath = (*TsEntryStateAdaptiveThresholdInfo_FieldSubPath)(nil)
  4633  
  4634  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) Selector() TsEntryStateAdaptiveThresholdInfo_FieldPathSelector {
  4635  	return fps.selector
  4636  }
  4637  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) AsLowerSubPath() (rcommon.AlertingThreshold_FieldPath, bool) {
  4638  	res, ok := fps.subPath.(rcommon.AlertingThreshold_FieldPath)
  4639  	return res, ok
  4640  }
  4641  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) AsUpperSubPath() (rcommon.AlertingThreshold_FieldPath, bool) {
  4642  	res, ok := fps.subPath.(rcommon.AlertingThreshold_FieldPath)
  4643  	return res, ok
  4644  }
  4645  
  4646  // String returns path representation in proto convention
  4647  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) String() string {
  4648  	return fps.selector.String() + "." + fps.subPath.String()
  4649  }
  4650  
  4651  // JSONString returns path representation is JSON convention
  4652  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) JSONString() string {
  4653  	return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString()
  4654  }
  4655  
  4656  // Get returns all values pointed by selected field from source TsEntry_State_AdaptiveThresholdInfo
  4657  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) Get(source *TsEntry_State_AdaptiveThresholdInfo) (values []interface{}) {
  4658  	switch fps.selector {
  4659  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4660  		values = append(values, fps.subPath.GetRaw(source.GetLower())...)
  4661  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4662  		values = append(values, fps.subPath.GetRaw(source.GetUpper())...)
  4663  	default:
  4664  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fps.selector))
  4665  	}
  4666  	return
  4667  }
  4668  
  4669  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) GetRaw(source proto.Message) []interface{} {
  4670  	return fps.Get(source.(*TsEntry_State_AdaptiveThresholdInfo))
  4671  }
  4672  
  4673  // GetSingle returns value of selected field from source TsEntry_State_AdaptiveThresholdInfo
  4674  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) GetSingle(source *TsEntry_State_AdaptiveThresholdInfo) (interface{}, bool) {
  4675  	switch fps.selector {
  4676  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4677  		if source.GetLower() == nil {
  4678  			return nil, false
  4679  		}
  4680  		return fps.subPath.GetSingleRaw(source.GetLower())
  4681  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4682  		if source.GetUpper() == nil {
  4683  			return nil, false
  4684  		}
  4685  		return fps.subPath.GetSingleRaw(source.GetUpper())
  4686  	default:
  4687  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fps.selector))
  4688  	}
  4689  }
  4690  
  4691  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  4692  	return fps.GetSingle(source.(*TsEntry_State_AdaptiveThresholdInfo))
  4693  }
  4694  
  4695  // GetDefault returns a default value of the field type
  4696  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) GetDefault() interface{} {
  4697  	return fps.subPath.GetDefault()
  4698  }
  4699  
  4700  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) ClearValue(item *TsEntry_State_AdaptiveThresholdInfo) {
  4701  	if item != nil {
  4702  		switch fps.selector {
  4703  		case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4704  			fps.subPath.ClearValueRaw(item.Lower)
  4705  		case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4706  			fps.subPath.ClearValueRaw(item.Upper)
  4707  		default:
  4708  			panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fps.selector))
  4709  		}
  4710  	}
  4711  }
  4712  
  4713  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) ClearValueRaw(item proto.Message) {
  4714  	fps.ClearValue(item.(*TsEntry_State_AdaptiveThresholdInfo))
  4715  }
  4716  
  4717  // IsLeaf - whether field path is holds simple value
  4718  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) IsLeaf() bool {
  4719  	return fps.subPath.IsLeaf()
  4720  }
  4721  
  4722  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  4723  	iPaths := []gotenobject.FieldPath{&TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath{selector: fps.selector}}
  4724  	iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...)
  4725  	return iPaths
  4726  }
  4727  
  4728  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) WithIValue(value interface{}) TsEntryStateAdaptiveThresholdInfo_FieldPathValue {
  4729  	return &TsEntryStateAdaptiveThresholdInfo_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)}
  4730  }
  4731  
  4732  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  4733  	return fps.WithIValue(value)
  4734  }
  4735  
  4736  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) WithIArrayOfValues(values interface{}) TsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues {
  4737  	return &TsEntryStateAdaptiveThresholdInfo_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)}
  4738  }
  4739  
  4740  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  4741  	return fps.WithIArrayOfValues(values)
  4742  }
  4743  
  4744  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) WithIArrayItemValue(value interface{}) TsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue {
  4745  	return &TsEntryStateAdaptiveThresholdInfo_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)}
  4746  }
  4747  
  4748  func (fps *TsEntryStateAdaptiveThresholdInfo_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  4749  	return fps.WithIArrayItemValue(value)
  4750  }
  4751  
  4752  // TsEntryStateAdaptiveThresholdInfo_FieldPathValue allows storing values for AdaptiveThresholdInfo fields according to their type
  4753  type TsEntryStateAdaptiveThresholdInfo_FieldPathValue interface {
  4754  	TsEntryStateAdaptiveThresholdInfo_FieldPath
  4755  	gotenobject.FieldPathValue
  4756  	SetTo(target **TsEntry_State_AdaptiveThresholdInfo)
  4757  	CompareWith(*TsEntry_State_AdaptiveThresholdInfo) (cmp int, comparable bool)
  4758  }
  4759  
  4760  func ParseTsEntryStateAdaptiveThresholdInfo_FieldPathValue(pathStr, valueStr string) (TsEntryStateAdaptiveThresholdInfo_FieldPathValue, error) {
  4761  	fp, err := ParseTsEntryStateAdaptiveThresholdInfo_FieldPath(pathStr)
  4762  	if err != nil {
  4763  		return nil, err
  4764  	}
  4765  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
  4766  	if err != nil {
  4767  		return nil, status.Errorf(codes.InvalidArgument, "error parsing AdaptiveThresholdInfo field path value from %s: %v", valueStr, err)
  4768  	}
  4769  	return fpv.(TsEntryStateAdaptiveThresholdInfo_FieldPathValue), nil
  4770  }
  4771  
  4772  func MustParseTsEntryStateAdaptiveThresholdInfo_FieldPathValue(pathStr, valueStr string) TsEntryStateAdaptiveThresholdInfo_FieldPathValue {
  4773  	fpv, err := ParseTsEntryStateAdaptiveThresholdInfo_FieldPathValue(pathStr, valueStr)
  4774  	if err != nil {
  4775  		panic(err)
  4776  	}
  4777  	return fpv
  4778  }
  4779  
  4780  type TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue struct {
  4781  	TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath
  4782  	value interface{}
  4783  }
  4784  
  4785  var _ TsEntryStateAdaptiveThresholdInfo_FieldPathValue = (*TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue)(nil)
  4786  
  4787  // GetRawValue returns raw value stored under selected path for 'AdaptiveThresholdInfo' as interface{}
  4788  func (fpv *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue) GetRawValue() interface{} {
  4789  	return fpv.value
  4790  }
  4791  func (fpv *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue) AsQueryNameValue() (string, bool) {
  4792  	res, ok := fpv.value.(string)
  4793  	return res, ok
  4794  }
  4795  func (fpv *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue) AsLowerValue() (*rcommon.AlertingThreshold, bool) {
  4796  	res, ok := fpv.value.(*rcommon.AlertingThreshold)
  4797  	return res, ok
  4798  }
  4799  func (fpv *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue) AsUpperValue() (*rcommon.AlertingThreshold, bool) {
  4800  	res, ok := fpv.value.(*rcommon.AlertingThreshold)
  4801  	return res, ok
  4802  }
  4803  func (fpv *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue) AsNextCheckValue() (*timestamppb.Timestamp, bool) {
  4804  	res, ok := fpv.value.(*timestamppb.Timestamp)
  4805  	return res, ok
  4806  }
  4807  
  4808  // SetTo stores value for selected field for object AdaptiveThresholdInfo
  4809  func (fpv *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue) SetTo(target **TsEntry_State_AdaptiveThresholdInfo) {
  4810  	if *target == nil {
  4811  		*target = new(TsEntry_State_AdaptiveThresholdInfo)
  4812  	}
  4813  	switch fpv.selector {
  4814  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorQueryName:
  4815  		(*target).QueryName = fpv.value.(string)
  4816  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4817  		(*target).Lower = fpv.value.(*rcommon.AlertingThreshold)
  4818  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4819  		(*target).Upper = fpv.value.(*rcommon.AlertingThreshold)
  4820  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorNextCheck:
  4821  		(*target).NextCheck = fpv.value.(*timestamppb.Timestamp)
  4822  	default:
  4823  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fpv.selector))
  4824  	}
  4825  }
  4826  
  4827  func (fpv *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue) SetToRaw(target proto.Message) {
  4828  	typedObject := target.(*TsEntry_State_AdaptiveThresholdInfo)
  4829  	fpv.SetTo(&typedObject)
  4830  }
  4831  
  4832  // CompareWith compares value in the 'TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue' with the value under path in 'TsEntry_State_AdaptiveThresholdInfo'.
  4833  func (fpv *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue) CompareWith(source *TsEntry_State_AdaptiveThresholdInfo) (int, bool) {
  4834  	switch fpv.selector {
  4835  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorQueryName:
  4836  		leftValue := fpv.value.(string)
  4837  		rightValue := source.GetQueryName()
  4838  		if (leftValue) == (rightValue) {
  4839  			return 0, true
  4840  		} else if (leftValue) < (rightValue) {
  4841  			return -1, true
  4842  		} else {
  4843  			return 1, true
  4844  		}
  4845  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4846  		return 0, false
  4847  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4848  		return 0, false
  4849  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorNextCheck:
  4850  		leftValue := fpv.value.(*timestamppb.Timestamp)
  4851  		rightValue := source.GetNextCheck()
  4852  		if leftValue == nil {
  4853  			if rightValue != nil {
  4854  				return -1, true
  4855  			}
  4856  			return 0, true
  4857  		}
  4858  		if rightValue == nil {
  4859  			return 1, true
  4860  		}
  4861  		if leftValue.AsTime().Equal(rightValue.AsTime()) {
  4862  			return 0, true
  4863  		} else if leftValue.AsTime().Before(rightValue.AsTime()) {
  4864  			return -1, true
  4865  		} else {
  4866  			return 1, true
  4867  		}
  4868  	default:
  4869  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fpv.selector))
  4870  	}
  4871  }
  4872  
  4873  func (fpv *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  4874  	return fpv.CompareWith(source.(*TsEntry_State_AdaptiveThresholdInfo))
  4875  }
  4876  
  4877  type TsEntryStateAdaptiveThresholdInfo_FieldSubPathValue struct {
  4878  	TsEntryStateAdaptiveThresholdInfo_FieldPath
  4879  	subPathValue gotenobject.FieldPathValue
  4880  }
  4881  
  4882  var _ TsEntryStateAdaptiveThresholdInfo_FieldPathValue = (*TsEntryStateAdaptiveThresholdInfo_FieldSubPathValue)(nil)
  4883  
  4884  func (fpvs *TsEntryStateAdaptiveThresholdInfo_FieldSubPathValue) AsLowerPathValue() (rcommon.AlertingThreshold_FieldPathValue, bool) {
  4885  	res, ok := fpvs.subPathValue.(rcommon.AlertingThreshold_FieldPathValue)
  4886  	return res, ok
  4887  }
  4888  func (fpvs *TsEntryStateAdaptiveThresholdInfo_FieldSubPathValue) AsUpperPathValue() (rcommon.AlertingThreshold_FieldPathValue, bool) {
  4889  	res, ok := fpvs.subPathValue.(rcommon.AlertingThreshold_FieldPathValue)
  4890  	return res, ok
  4891  }
  4892  
  4893  func (fpvs *TsEntryStateAdaptiveThresholdInfo_FieldSubPathValue) SetTo(target **TsEntry_State_AdaptiveThresholdInfo) {
  4894  	if *target == nil {
  4895  		*target = new(TsEntry_State_AdaptiveThresholdInfo)
  4896  	}
  4897  	switch fpvs.Selector() {
  4898  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4899  		fpvs.subPathValue.(rcommon.AlertingThreshold_FieldPathValue).SetTo(&(*target).Lower)
  4900  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4901  		fpvs.subPathValue.(rcommon.AlertingThreshold_FieldPathValue).SetTo(&(*target).Upper)
  4902  	default:
  4903  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fpvs.Selector()))
  4904  	}
  4905  }
  4906  
  4907  func (fpvs *TsEntryStateAdaptiveThresholdInfo_FieldSubPathValue) SetToRaw(target proto.Message) {
  4908  	typedObject := target.(*TsEntry_State_AdaptiveThresholdInfo)
  4909  	fpvs.SetTo(&typedObject)
  4910  }
  4911  
  4912  func (fpvs *TsEntryStateAdaptiveThresholdInfo_FieldSubPathValue) GetRawValue() interface{} {
  4913  	return fpvs.subPathValue.GetRawValue()
  4914  }
  4915  
  4916  func (fpvs *TsEntryStateAdaptiveThresholdInfo_FieldSubPathValue) CompareWith(source *TsEntry_State_AdaptiveThresholdInfo) (int, bool) {
  4917  	switch fpvs.Selector() {
  4918  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  4919  		return fpvs.subPathValue.(rcommon.AlertingThreshold_FieldPathValue).CompareWith(source.GetLower())
  4920  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  4921  		return fpvs.subPathValue.(rcommon.AlertingThreshold_FieldPathValue).CompareWith(source.GetUpper())
  4922  	default:
  4923  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fpvs.Selector()))
  4924  	}
  4925  }
  4926  
  4927  func (fpvs *TsEntryStateAdaptiveThresholdInfo_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  4928  	return fpvs.CompareWith(source.(*TsEntry_State_AdaptiveThresholdInfo))
  4929  }
  4930  
  4931  // TsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue allows storing single item in Path-specific values for AdaptiveThresholdInfo according to their type
  4932  // Present only for array (repeated) types.
  4933  type TsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue interface {
  4934  	gotenobject.FieldPathArrayItemValue
  4935  	TsEntryStateAdaptiveThresholdInfo_FieldPath
  4936  	ContainsValue(*TsEntry_State_AdaptiveThresholdInfo) bool
  4937  }
  4938  
  4939  // ParseTsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
  4940  func ParseTsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue(pathStr, valueStr string) (TsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue, error) {
  4941  	fp, err := ParseTsEntryStateAdaptiveThresholdInfo_FieldPath(pathStr)
  4942  	if err != nil {
  4943  		return nil, err
  4944  	}
  4945  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
  4946  	if err != nil {
  4947  		return nil, status.Errorf(codes.InvalidArgument, "error parsing AdaptiveThresholdInfo field path array item value from %s: %v", valueStr, err)
  4948  	}
  4949  	return fpaiv.(TsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue), nil
  4950  }
  4951  
  4952  func MustParseTsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue(pathStr, valueStr string) TsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue {
  4953  	fpaiv, err := ParseTsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue(pathStr, valueStr)
  4954  	if err != nil {
  4955  		panic(err)
  4956  	}
  4957  	return fpaiv
  4958  }
  4959  
  4960  type TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayItemValue struct {
  4961  	TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath
  4962  	value interface{}
  4963  }
  4964  
  4965  var _ TsEntryStateAdaptiveThresholdInfo_FieldPathArrayItemValue = (*TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayItemValue)(nil)
  4966  
  4967  // GetRawValue returns stored element value for array in object TsEntry_State_AdaptiveThresholdInfo as interface{}
  4968  func (fpaiv *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
  4969  	return fpaiv.value
  4970  }
  4971  
  4972  func (fpaiv *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayItemValue) GetSingle(source *TsEntry_State_AdaptiveThresholdInfo) (interface{}, bool) {
  4973  	return nil, false
  4974  }
  4975  
  4976  func (fpaiv *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
  4977  	return fpaiv.GetSingle(source.(*TsEntry_State_AdaptiveThresholdInfo))
  4978  }
  4979  
  4980  // Contains returns a boolean indicating if value that is being held is present in given 'AdaptiveThresholdInfo'
  4981  func (fpaiv *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayItemValue) ContainsValue(source *TsEntry_State_AdaptiveThresholdInfo) bool {
  4982  	slice := fpaiv.TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath.Get(source)
  4983  	for _, v := range slice {
  4984  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  4985  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  4986  				return true
  4987  			}
  4988  		} else if reflect.DeepEqual(v, fpaiv.value) {
  4989  			return true
  4990  		}
  4991  	}
  4992  	return false
  4993  }
  4994  
  4995  type TsEntryStateAdaptiveThresholdInfo_FieldSubPathArrayItemValue struct {
  4996  	TsEntryStateAdaptiveThresholdInfo_FieldPath
  4997  	subPathItemValue gotenobject.FieldPathArrayItemValue
  4998  }
  4999  
  5000  // GetRawValue returns stored array item value
  5001  func (fpaivs *TsEntryStateAdaptiveThresholdInfo_FieldSubPathArrayItemValue) GetRawItemValue() interface{} {
  5002  	return fpaivs.subPathItemValue.GetRawItemValue()
  5003  }
  5004  func (fpaivs *TsEntryStateAdaptiveThresholdInfo_FieldSubPathArrayItemValue) AsLowerPathItemValue() (rcommon.AlertingThreshold_FieldPathArrayItemValue, bool) {
  5005  	res, ok := fpaivs.subPathItemValue.(rcommon.AlertingThreshold_FieldPathArrayItemValue)
  5006  	return res, ok
  5007  }
  5008  func (fpaivs *TsEntryStateAdaptiveThresholdInfo_FieldSubPathArrayItemValue) AsUpperPathItemValue() (rcommon.AlertingThreshold_FieldPathArrayItemValue, bool) {
  5009  	res, ok := fpaivs.subPathItemValue.(rcommon.AlertingThreshold_FieldPathArrayItemValue)
  5010  	return res, ok
  5011  }
  5012  
  5013  // Contains returns a boolean indicating if value that is being held is present in given 'AdaptiveThresholdInfo'
  5014  func (fpaivs *TsEntryStateAdaptiveThresholdInfo_FieldSubPathArrayItemValue) ContainsValue(source *TsEntry_State_AdaptiveThresholdInfo) bool {
  5015  	switch fpaivs.Selector() {
  5016  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  5017  		return fpaivs.subPathItemValue.(rcommon.AlertingThreshold_FieldPathArrayItemValue).ContainsValue(source.GetLower())
  5018  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  5019  		return fpaivs.subPathItemValue.(rcommon.AlertingThreshold_FieldPathArrayItemValue).ContainsValue(source.GetUpper())
  5020  	default:
  5021  		panic(fmt.Sprintf("Invalid selector for TsEntry_State_AdaptiveThresholdInfo: %d", fpaivs.Selector()))
  5022  	}
  5023  }
  5024  
  5025  // TsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues allows storing slice of values for AdaptiveThresholdInfo fields according to their type
  5026  type TsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues interface {
  5027  	gotenobject.FieldPathArrayOfValues
  5028  	TsEntryStateAdaptiveThresholdInfo_FieldPath
  5029  }
  5030  
  5031  func ParseTsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues(pathStr, valuesStr string) (TsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues, error) {
  5032  	fp, err := ParseTsEntryStateAdaptiveThresholdInfo_FieldPath(pathStr)
  5033  	if err != nil {
  5034  		return nil, err
  5035  	}
  5036  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  5037  	if err != nil {
  5038  		return nil, status.Errorf(codes.InvalidArgument, "error parsing AdaptiveThresholdInfo field path array of values from %s: %v", valuesStr, err)
  5039  	}
  5040  	return fpaov.(TsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues), nil
  5041  }
  5042  
  5043  func MustParseTsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues(pathStr, valuesStr string) TsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues {
  5044  	fpaov, err := ParseTsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues(pathStr, valuesStr)
  5045  	if err != nil {
  5046  		panic(err)
  5047  	}
  5048  	return fpaov
  5049  }
  5050  
  5051  type TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayOfValues struct {
  5052  	TsEntryStateAdaptiveThresholdInfo_FieldTerminalPath
  5053  	values interface{}
  5054  }
  5055  
  5056  var _ TsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues = (*TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayOfValues)(nil)
  5057  
  5058  func (fpaov *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  5059  	switch fpaov.selector {
  5060  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorQueryName:
  5061  		for _, v := range fpaov.values.([]string) {
  5062  			values = append(values, v)
  5063  		}
  5064  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorLower:
  5065  		for _, v := range fpaov.values.([]*rcommon.AlertingThreshold) {
  5066  			values = append(values, v)
  5067  		}
  5068  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorUpper:
  5069  		for _, v := range fpaov.values.([]*rcommon.AlertingThreshold) {
  5070  			values = append(values, v)
  5071  		}
  5072  	case TsEntryStateAdaptiveThresholdInfo_FieldPathSelectorNextCheck:
  5073  		for _, v := range fpaov.values.([]*timestamppb.Timestamp) {
  5074  			values = append(values, v)
  5075  		}
  5076  	}
  5077  	return
  5078  }
  5079  func (fpaov *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayOfValues) AsQueryNameArrayOfValues() ([]string, bool) {
  5080  	res, ok := fpaov.values.([]string)
  5081  	return res, ok
  5082  }
  5083  func (fpaov *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayOfValues) AsLowerArrayOfValues() ([]*rcommon.AlertingThreshold, bool) {
  5084  	res, ok := fpaov.values.([]*rcommon.AlertingThreshold)
  5085  	return res, ok
  5086  }
  5087  func (fpaov *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayOfValues) AsUpperArrayOfValues() ([]*rcommon.AlertingThreshold, bool) {
  5088  	res, ok := fpaov.values.([]*rcommon.AlertingThreshold)
  5089  	return res, ok
  5090  }
  5091  func (fpaov *TsEntryStateAdaptiveThresholdInfo_FieldTerminalPathArrayOfValues) AsNextCheckArrayOfValues() ([]*timestamppb.Timestamp, bool) {
  5092  	res, ok := fpaov.values.([]*timestamppb.Timestamp)
  5093  	return res, ok
  5094  }
  5095  
  5096  type TsEntryStateAdaptiveThresholdInfo_FieldSubPathArrayOfValues struct {
  5097  	TsEntryStateAdaptiveThresholdInfo_FieldPath
  5098  	subPathArrayOfValues gotenobject.FieldPathArrayOfValues
  5099  }
  5100  
  5101  var _ TsEntryStateAdaptiveThresholdInfo_FieldPathArrayOfValues = (*TsEntryStateAdaptiveThresholdInfo_FieldSubPathArrayOfValues)(nil)
  5102  
  5103  func (fpsaov *TsEntryStateAdaptiveThresholdInfo_FieldSubPathArrayOfValues) GetRawValues() []interface{} {
  5104  	return fpsaov.subPathArrayOfValues.GetRawValues()
  5105  }
  5106  func (fpsaov *TsEntryStateAdaptiveThresholdInfo_FieldSubPathArrayOfValues) AsLowerPathArrayOfValues() (rcommon.AlertingThreshold_FieldPathArrayOfValues, bool) {
  5107  	res, ok := fpsaov.subPathArrayOfValues.(rcommon.AlertingThreshold_FieldPathArrayOfValues)
  5108  	return res, ok
  5109  }
  5110  func (fpsaov *TsEntryStateAdaptiveThresholdInfo_FieldSubPathArrayOfValues) AsUpperPathArrayOfValues() (rcommon.AlertingThreshold_FieldPathArrayOfValues, bool) {
  5111  	res, ok := fpsaov.subPathArrayOfValues.(rcommon.AlertingThreshold_FieldPathArrayOfValues)
  5112  	return res, ok
  5113  }