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

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/devices/proto/v1/customized_image.proto
     3  // DO NOT EDIT!!!
     4  
     5  package customized_image
     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  	os_version "github.com/cloudwan/edgelq-sdk/devices/resources/v1/os_version"
    27  	project "github.com/cloudwan/edgelq-sdk/devices/resources/v1/project"
    28  	iam_service_account "github.com/cloudwan/edgelq-sdk/iam/resources/v1/service_account"
    29  	iam_service_account_key "github.com/cloudwan/edgelq-sdk/iam/resources/v1/service_account_key"
    30  	meta "github.com/cloudwan/goten-sdk/types/meta"
    31  )
    32  
    33  // ensure the imports are used
    34  var (
    35  	_ = new(json.Marshaler)
    36  	_ = new(fmt.Stringer)
    37  	_ = reflect.DeepEqual
    38  	_ = strings.Builder{}
    39  	_ = time.Second
    40  
    41  	_ = strcase.ToLowerCamel
    42  	_ = codes.NotFound
    43  	_ = status.Status{}
    44  	_ = protojson.UnmarshalOptions{}
    45  	_ = new(proto.Message)
    46  	_ = protoregistry.GlobalTypes
    47  
    48  	_ = new(gotenobject.FieldPath)
    49  )
    50  
    51  // make sure we're using proto imports
    52  var (
    53  	_ = &os_version.OsVersion{}
    54  	_ = &project.Project{}
    55  	_ = &iam_service_account.ServiceAccount{}
    56  	_ = &iam_service_account_key.ServiceAccountKey{}
    57  	_ = &meta.Meta{}
    58  )
    59  
    60  // FieldPath provides implementation to handle
    61  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
    62  type CustomizedImage_FieldPath interface {
    63  	gotenobject.FieldPath
    64  	Selector() CustomizedImage_FieldPathSelector
    65  	Get(source *CustomizedImage) []interface{}
    66  	GetSingle(source *CustomizedImage) (interface{}, bool)
    67  	ClearValue(item *CustomizedImage)
    68  
    69  	// Those methods build corresponding CustomizedImage_FieldPathValue
    70  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
    71  	WithIValue(value interface{}) CustomizedImage_FieldPathValue
    72  	WithIArrayOfValues(values interface{}) CustomizedImage_FieldPathArrayOfValues
    73  	WithIArrayItemValue(value interface{}) CustomizedImage_FieldPathArrayItemValue
    74  }
    75  
    76  type CustomizedImage_FieldPathSelector int32
    77  
    78  const (
    79  	CustomizedImage_FieldPathSelectorName     CustomizedImage_FieldPathSelector = 0
    80  	CustomizedImage_FieldPathSelectorMetadata CustomizedImage_FieldPathSelector = 1
    81  	CustomizedImage_FieldPathSelectorSpec     CustomizedImage_FieldPathSelector = 2
    82  	CustomizedImage_FieldPathSelectorStatus   CustomizedImage_FieldPathSelector = 3
    83  )
    84  
    85  func (s CustomizedImage_FieldPathSelector) String() string {
    86  	switch s {
    87  	case CustomizedImage_FieldPathSelectorName:
    88  		return "name"
    89  	case CustomizedImage_FieldPathSelectorMetadata:
    90  		return "metadata"
    91  	case CustomizedImage_FieldPathSelectorSpec:
    92  		return "spec"
    93  	case CustomizedImage_FieldPathSelectorStatus:
    94  		return "status"
    95  	default:
    96  		panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", s))
    97  	}
    98  }
    99  
   100  func BuildCustomizedImage_FieldPath(fp gotenobject.RawFieldPath) (CustomizedImage_FieldPath, error) {
   101  	if len(fp) == 0 {
   102  		return nil, status.Error(codes.InvalidArgument, "empty field path for object CustomizedImage")
   103  	}
   104  	if len(fp) == 1 {
   105  		switch fp[0] {
   106  		case "name":
   107  			return &CustomizedImage_FieldTerminalPath{selector: CustomizedImage_FieldPathSelectorName}, nil
   108  		case "metadata":
   109  			return &CustomizedImage_FieldTerminalPath{selector: CustomizedImage_FieldPathSelectorMetadata}, nil
   110  		case "spec":
   111  			return &CustomizedImage_FieldTerminalPath{selector: CustomizedImage_FieldPathSelectorSpec}, nil
   112  		case "status":
   113  			return &CustomizedImage_FieldTerminalPath{selector: CustomizedImage_FieldPathSelectorStatus}, nil
   114  		}
   115  	} else {
   116  		switch fp[0] {
   117  		case "metadata":
   118  			if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil {
   119  				return nil, err
   120  			} else {
   121  				return &CustomizedImage_FieldSubPath{selector: CustomizedImage_FieldPathSelectorMetadata, subPath: subpath}, nil
   122  			}
   123  		case "spec":
   124  			if subpath, err := BuildCustomizedImageSpec_FieldPath(fp[1:]); err != nil {
   125  				return nil, err
   126  			} else {
   127  				return &CustomizedImage_FieldSubPath{selector: CustomizedImage_FieldPathSelectorSpec, subPath: subpath}, nil
   128  			}
   129  		case "status":
   130  			if subpath, err := BuildCustomizedImageStatus_FieldPath(fp[1:]); err != nil {
   131  				return nil, err
   132  			} else {
   133  				return &CustomizedImage_FieldSubPath{selector: CustomizedImage_FieldPathSelectorStatus, subPath: subpath}, nil
   134  			}
   135  		}
   136  	}
   137  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object CustomizedImage", fp)
   138  }
   139  
   140  func ParseCustomizedImage_FieldPath(rawField string) (CustomizedImage_FieldPath, error) {
   141  	fp, err := gotenobject.ParseRawFieldPath(rawField)
   142  	if err != nil {
   143  		return nil, err
   144  	}
   145  	return BuildCustomizedImage_FieldPath(fp)
   146  }
   147  
   148  func MustParseCustomizedImage_FieldPath(rawField string) CustomizedImage_FieldPath {
   149  	fp, err := ParseCustomizedImage_FieldPath(rawField)
   150  	if err != nil {
   151  		panic(err)
   152  	}
   153  	return fp
   154  }
   155  
   156  type CustomizedImage_FieldTerminalPath struct {
   157  	selector CustomizedImage_FieldPathSelector
   158  }
   159  
   160  var _ CustomizedImage_FieldPath = (*CustomizedImage_FieldTerminalPath)(nil)
   161  
   162  func (fp *CustomizedImage_FieldTerminalPath) Selector() CustomizedImage_FieldPathSelector {
   163  	return fp.selector
   164  }
   165  
   166  // String returns path representation in proto convention
   167  func (fp *CustomizedImage_FieldTerminalPath) String() string {
   168  	return fp.selector.String()
   169  }
   170  
   171  // JSONString returns path representation is JSON convention
   172  func (fp *CustomizedImage_FieldTerminalPath) JSONString() string {
   173  	return strcase.ToLowerCamel(fp.String())
   174  }
   175  
   176  // Get returns all values pointed by specific field from source CustomizedImage
   177  func (fp *CustomizedImage_FieldTerminalPath) Get(source *CustomizedImage) (values []interface{}) {
   178  	if source != nil {
   179  		switch fp.selector {
   180  		case CustomizedImage_FieldPathSelectorName:
   181  			if source.Name != nil {
   182  				values = append(values, source.Name)
   183  			}
   184  		case CustomizedImage_FieldPathSelectorMetadata:
   185  			if source.Metadata != nil {
   186  				values = append(values, source.Metadata)
   187  			}
   188  		case CustomizedImage_FieldPathSelectorSpec:
   189  			if source.Spec != nil {
   190  				values = append(values, source.Spec)
   191  			}
   192  		case CustomizedImage_FieldPathSelectorStatus:
   193  			if source.Status != nil {
   194  				values = append(values, source.Status)
   195  			}
   196  		default:
   197  			panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fp.selector))
   198  		}
   199  	}
   200  	return
   201  }
   202  
   203  func (fp *CustomizedImage_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
   204  	return fp.Get(source.(*CustomizedImage))
   205  }
   206  
   207  // GetSingle returns value pointed by specific field of from source CustomizedImage
   208  func (fp *CustomizedImage_FieldTerminalPath) GetSingle(source *CustomizedImage) (interface{}, bool) {
   209  	switch fp.selector {
   210  	case CustomizedImage_FieldPathSelectorName:
   211  		res := source.GetName()
   212  		return res, res != nil
   213  	case CustomizedImage_FieldPathSelectorMetadata:
   214  		res := source.GetMetadata()
   215  		return res, res != nil
   216  	case CustomizedImage_FieldPathSelectorSpec:
   217  		res := source.GetSpec()
   218  		return res, res != nil
   219  	case CustomizedImage_FieldPathSelectorStatus:
   220  		res := source.GetStatus()
   221  		return res, res != nil
   222  	default:
   223  		panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fp.selector))
   224  	}
   225  }
   226  
   227  func (fp *CustomizedImage_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   228  	return fp.GetSingle(source.(*CustomizedImage))
   229  }
   230  
   231  // GetDefault returns a default value of the field type
   232  func (fp *CustomizedImage_FieldTerminalPath) GetDefault() interface{} {
   233  	switch fp.selector {
   234  	case CustomizedImage_FieldPathSelectorName:
   235  		return (*Name)(nil)
   236  	case CustomizedImage_FieldPathSelectorMetadata:
   237  		return (*meta.Meta)(nil)
   238  	case CustomizedImage_FieldPathSelectorSpec:
   239  		return (*CustomizedImage_Spec)(nil)
   240  	case CustomizedImage_FieldPathSelectorStatus:
   241  		return (*CustomizedImage_Status)(nil)
   242  	default:
   243  		panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fp.selector))
   244  	}
   245  }
   246  
   247  func (fp *CustomizedImage_FieldTerminalPath) ClearValue(item *CustomizedImage) {
   248  	if item != nil {
   249  		switch fp.selector {
   250  		case CustomizedImage_FieldPathSelectorName:
   251  			item.Name = nil
   252  		case CustomizedImage_FieldPathSelectorMetadata:
   253  			item.Metadata = nil
   254  		case CustomizedImage_FieldPathSelectorSpec:
   255  			item.Spec = nil
   256  		case CustomizedImage_FieldPathSelectorStatus:
   257  			item.Status = nil
   258  		default:
   259  			panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fp.selector))
   260  		}
   261  	}
   262  }
   263  
   264  func (fp *CustomizedImage_FieldTerminalPath) ClearValueRaw(item proto.Message) {
   265  	fp.ClearValue(item.(*CustomizedImage))
   266  }
   267  
   268  // IsLeaf - whether field path is holds simple value
   269  func (fp *CustomizedImage_FieldTerminalPath) IsLeaf() bool {
   270  	return fp.selector == CustomizedImage_FieldPathSelectorName
   271  }
   272  
   273  func (fp *CustomizedImage_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   274  	return []gotenobject.FieldPath{fp}
   275  }
   276  
   277  func (fp *CustomizedImage_FieldTerminalPath) WithIValue(value interface{}) CustomizedImage_FieldPathValue {
   278  	switch fp.selector {
   279  	case CustomizedImage_FieldPathSelectorName:
   280  		return &CustomizedImage_FieldTerminalPathValue{CustomizedImage_FieldTerminalPath: *fp, value: value.(*Name)}
   281  	case CustomizedImage_FieldPathSelectorMetadata:
   282  		return &CustomizedImage_FieldTerminalPathValue{CustomizedImage_FieldTerminalPath: *fp, value: value.(*meta.Meta)}
   283  	case CustomizedImage_FieldPathSelectorSpec:
   284  		return &CustomizedImage_FieldTerminalPathValue{CustomizedImage_FieldTerminalPath: *fp, value: value.(*CustomizedImage_Spec)}
   285  	case CustomizedImage_FieldPathSelectorStatus:
   286  		return &CustomizedImage_FieldTerminalPathValue{CustomizedImage_FieldTerminalPath: *fp, value: value.(*CustomizedImage_Status)}
   287  	default:
   288  		panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fp.selector))
   289  	}
   290  }
   291  
   292  func (fp *CustomizedImage_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   293  	return fp.WithIValue(value)
   294  }
   295  
   296  func (fp *CustomizedImage_FieldTerminalPath) WithIArrayOfValues(values interface{}) CustomizedImage_FieldPathArrayOfValues {
   297  	fpaov := &CustomizedImage_FieldTerminalPathArrayOfValues{CustomizedImage_FieldTerminalPath: *fp}
   298  	switch fp.selector {
   299  	case CustomizedImage_FieldPathSelectorName:
   300  		return &CustomizedImage_FieldTerminalPathArrayOfValues{CustomizedImage_FieldTerminalPath: *fp, values: values.([]*Name)}
   301  	case CustomizedImage_FieldPathSelectorMetadata:
   302  		return &CustomizedImage_FieldTerminalPathArrayOfValues{CustomizedImage_FieldTerminalPath: *fp, values: values.([]*meta.Meta)}
   303  	case CustomizedImage_FieldPathSelectorSpec:
   304  		return &CustomizedImage_FieldTerminalPathArrayOfValues{CustomizedImage_FieldTerminalPath: *fp, values: values.([]*CustomizedImage_Spec)}
   305  	case CustomizedImage_FieldPathSelectorStatus:
   306  		return &CustomizedImage_FieldTerminalPathArrayOfValues{CustomizedImage_FieldTerminalPath: *fp, values: values.([]*CustomizedImage_Status)}
   307  	default:
   308  		panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fp.selector))
   309  	}
   310  	return fpaov
   311  }
   312  
   313  func (fp *CustomizedImage_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   314  	return fp.WithIArrayOfValues(values)
   315  }
   316  
   317  func (fp *CustomizedImage_FieldTerminalPath) WithIArrayItemValue(value interface{}) CustomizedImage_FieldPathArrayItemValue {
   318  	switch fp.selector {
   319  	default:
   320  		panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fp.selector))
   321  	}
   322  }
   323  
   324  func (fp *CustomizedImage_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   325  	return fp.WithIArrayItemValue(value)
   326  }
   327  
   328  type CustomizedImage_FieldSubPath struct {
   329  	selector CustomizedImage_FieldPathSelector
   330  	subPath  gotenobject.FieldPath
   331  }
   332  
   333  var _ CustomizedImage_FieldPath = (*CustomizedImage_FieldSubPath)(nil)
   334  
   335  func (fps *CustomizedImage_FieldSubPath) Selector() CustomizedImage_FieldPathSelector {
   336  	return fps.selector
   337  }
   338  func (fps *CustomizedImage_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) {
   339  	res, ok := fps.subPath.(meta.Meta_FieldPath)
   340  	return res, ok
   341  }
   342  func (fps *CustomizedImage_FieldSubPath) AsSpecSubPath() (CustomizedImageSpec_FieldPath, bool) {
   343  	res, ok := fps.subPath.(CustomizedImageSpec_FieldPath)
   344  	return res, ok
   345  }
   346  func (fps *CustomizedImage_FieldSubPath) AsStatusSubPath() (CustomizedImageStatus_FieldPath, bool) {
   347  	res, ok := fps.subPath.(CustomizedImageStatus_FieldPath)
   348  	return res, ok
   349  }
   350  
   351  // String returns path representation in proto convention
   352  func (fps *CustomizedImage_FieldSubPath) String() string {
   353  	return fps.selector.String() + "." + fps.subPath.String()
   354  }
   355  
   356  // JSONString returns path representation is JSON convention
   357  func (fps *CustomizedImage_FieldSubPath) JSONString() string {
   358  	return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString()
   359  }
   360  
   361  // Get returns all values pointed by selected field from source CustomizedImage
   362  func (fps *CustomizedImage_FieldSubPath) Get(source *CustomizedImage) (values []interface{}) {
   363  	switch fps.selector {
   364  	case CustomizedImage_FieldPathSelectorMetadata:
   365  		values = append(values, fps.subPath.GetRaw(source.GetMetadata())...)
   366  	case CustomizedImage_FieldPathSelectorSpec:
   367  		values = append(values, fps.subPath.GetRaw(source.GetSpec())...)
   368  	case CustomizedImage_FieldPathSelectorStatus:
   369  		values = append(values, fps.subPath.GetRaw(source.GetStatus())...)
   370  	default:
   371  		panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fps.selector))
   372  	}
   373  	return
   374  }
   375  
   376  func (fps *CustomizedImage_FieldSubPath) GetRaw(source proto.Message) []interface{} {
   377  	return fps.Get(source.(*CustomizedImage))
   378  }
   379  
   380  // GetSingle returns value of selected field from source CustomizedImage
   381  func (fps *CustomizedImage_FieldSubPath) GetSingle(source *CustomizedImage) (interface{}, bool) {
   382  	switch fps.selector {
   383  	case CustomizedImage_FieldPathSelectorMetadata:
   384  		if source.GetMetadata() == nil {
   385  			return nil, false
   386  		}
   387  		return fps.subPath.GetSingleRaw(source.GetMetadata())
   388  	case CustomizedImage_FieldPathSelectorSpec:
   389  		if source.GetSpec() == nil {
   390  			return nil, false
   391  		}
   392  		return fps.subPath.GetSingleRaw(source.GetSpec())
   393  	case CustomizedImage_FieldPathSelectorStatus:
   394  		if source.GetStatus() == nil {
   395  			return nil, false
   396  		}
   397  		return fps.subPath.GetSingleRaw(source.GetStatus())
   398  	default:
   399  		panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fps.selector))
   400  	}
   401  }
   402  
   403  func (fps *CustomizedImage_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   404  	return fps.GetSingle(source.(*CustomizedImage))
   405  }
   406  
   407  // GetDefault returns a default value of the field type
   408  func (fps *CustomizedImage_FieldSubPath) GetDefault() interface{} {
   409  	return fps.subPath.GetDefault()
   410  }
   411  
   412  func (fps *CustomizedImage_FieldSubPath) ClearValue(item *CustomizedImage) {
   413  	if item != nil {
   414  		switch fps.selector {
   415  		case CustomizedImage_FieldPathSelectorMetadata:
   416  			fps.subPath.ClearValueRaw(item.Metadata)
   417  		case CustomizedImage_FieldPathSelectorSpec:
   418  			fps.subPath.ClearValueRaw(item.Spec)
   419  		case CustomizedImage_FieldPathSelectorStatus:
   420  			fps.subPath.ClearValueRaw(item.Status)
   421  		default:
   422  			panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fps.selector))
   423  		}
   424  	}
   425  }
   426  
   427  func (fps *CustomizedImage_FieldSubPath) ClearValueRaw(item proto.Message) {
   428  	fps.ClearValue(item.(*CustomizedImage))
   429  }
   430  
   431  // IsLeaf - whether field path is holds simple value
   432  func (fps *CustomizedImage_FieldSubPath) IsLeaf() bool {
   433  	return fps.subPath.IsLeaf()
   434  }
   435  
   436  func (fps *CustomizedImage_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   437  	iPaths := []gotenobject.FieldPath{&CustomizedImage_FieldTerminalPath{selector: fps.selector}}
   438  	iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...)
   439  	return iPaths
   440  }
   441  
   442  func (fps *CustomizedImage_FieldSubPath) WithIValue(value interface{}) CustomizedImage_FieldPathValue {
   443  	return &CustomizedImage_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)}
   444  }
   445  
   446  func (fps *CustomizedImage_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   447  	return fps.WithIValue(value)
   448  }
   449  
   450  func (fps *CustomizedImage_FieldSubPath) WithIArrayOfValues(values interface{}) CustomizedImage_FieldPathArrayOfValues {
   451  	return &CustomizedImage_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)}
   452  }
   453  
   454  func (fps *CustomizedImage_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   455  	return fps.WithIArrayOfValues(values)
   456  }
   457  
   458  func (fps *CustomizedImage_FieldSubPath) WithIArrayItemValue(value interface{}) CustomizedImage_FieldPathArrayItemValue {
   459  	return &CustomizedImage_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)}
   460  }
   461  
   462  func (fps *CustomizedImage_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   463  	return fps.WithIArrayItemValue(value)
   464  }
   465  
   466  // CustomizedImage_FieldPathValue allows storing values for CustomizedImage fields according to their type
   467  type CustomizedImage_FieldPathValue interface {
   468  	CustomizedImage_FieldPath
   469  	gotenobject.FieldPathValue
   470  	SetTo(target **CustomizedImage)
   471  	CompareWith(*CustomizedImage) (cmp int, comparable bool)
   472  }
   473  
   474  func ParseCustomizedImage_FieldPathValue(pathStr, valueStr string) (CustomizedImage_FieldPathValue, error) {
   475  	fp, err := ParseCustomizedImage_FieldPath(pathStr)
   476  	if err != nil {
   477  		return nil, err
   478  	}
   479  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
   480  	if err != nil {
   481  		return nil, status.Errorf(codes.InvalidArgument, "error parsing CustomizedImage field path value from %s: %v", valueStr, err)
   482  	}
   483  	return fpv.(CustomizedImage_FieldPathValue), nil
   484  }
   485  
   486  func MustParseCustomizedImage_FieldPathValue(pathStr, valueStr string) CustomizedImage_FieldPathValue {
   487  	fpv, err := ParseCustomizedImage_FieldPathValue(pathStr, valueStr)
   488  	if err != nil {
   489  		panic(err)
   490  	}
   491  	return fpv
   492  }
   493  
   494  type CustomizedImage_FieldTerminalPathValue struct {
   495  	CustomizedImage_FieldTerminalPath
   496  	value interface{}
   497  }
   498  
   499  var _ CustomizedImage_FieldPathValue = (*CustomizedImage_FieldTerminalPathValue)(nil)
   500  
   501  // GetRawValue returns raw value stored under selected path for 'CustomizedImage' as interface{}
   502  func (fpv *CustomizedImage_FieldTerminalPathValue) GetRawValue() interface{} {
   503  	return fpv.value
   504  }
   505  func (fpv *CustomizedImage_FieldTerminalPathValue) AsNameValue() (*Name, bool) {
   506  	res, ok := fpv.value.(*Name)
   507  	return res, ok
   508  }
   509  func (fpv *CustomizedImage_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) {
   510  	res, ok := fpv.value.(*meta.Meta)
   511  	return res, ok
   512  }
   513  func (fpv *CustomizedImage_FieldTerminalPathValue) AsSpecValue() (*CustomizedImage_Spec, bool) {
   514  	res, ok := fpv.value.(*CustomizedImage_Spec)
   515  	return res, ok
   516  }
   517  func (fpv *CustomizedImage_FieldTerminalPathValue) AsStatusValue() (*CustomizedImage_Status, bool) {
   518  	res, ok := fpv.value.(*CustomizedImage_Status)
   519  	return res, ok
   520  }
   521  
   522  // SetTo stores value for selected field for object CustomizedImage
   523  func (fpv *CustomizedImage_FieldTerminalPathValue) SetTo(target **CustomizedImage) {
   524  	if *target == nil {
   525  		*target = new(CustomizedImage)
   526  	}
   527  	switch fpv.selector {
   528  	case CustomizedImage_FieldPathSelectorName:
   529  		(*target).Name = fpv.value.(*Name)
   530  	case CustomizedImage_FieldPathSelectorMetadata:
   531  		(*target).Metadata = fpv.value.(*meta.Meta)
   532  	case CustomizedImage_FieldPathSelectorSpec:
   533  		(*target).Spec = fpv.value.(*CustomizedImage_Spec)
   534  	case CustomizedImage_FieldPathSelectorStatus:
   535  		(*target).Status = fpv.value.(*CustomizedImage_Status)
   536  	default:
   537  		panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fpv.selector))
   538  	}
   539  }
   540  
   541  func (fpv *CustomizedImage_FieldTerminalPathValue) SetToRaw(target proto.Message) {
   542  	typedObject := target.(*CustomizedImage)
   543  	fpv.SetTo(&typedObject)
   544  }
   545  
   546  // CompareWith compares value in the 'CustomizedImage_FieldTerminalPathValue' with the value under path in 'CustomizedImage'.
   547  func (fpv *CustomizedImage_FieldTerminalPathValue) CompareWith(source *CustomizedImage) (int, bool) {
   548  	switch fpv.selector {
   549  	case CustomizedImage_FieldPathSelectorName:
   550  		leftValue := fpv.value.(*Name)
   551  		rightValue := source.GetName()
   552  		if leftValue == nil {
   553  			if rightValue != nil {
   554  				return -1, true
   555  			}
   556  			return 0, true
   557  		}
   558  		if rightValue == nil {
   559  			return 1, true
   560  		}
   561  		if leftValue.String() == rightValue.String() {
   562  			return 0, true
   563  		} else if leftValue.String() < rightValue.String() {
   564  			return -1, true
   565  		} else {
   566  			return 1, true
   567  		}
   568  	case CustomizedImage_FieldPathSelectorMetadata:
   569  		return 0, false
   570  	case CustomizedImage_FieldPathSelectorSpec:
   571  		return 0, false
   572  	case CustomizedImage_FieldPathSelectorStatus:
   573  		return 0, false
   574  	default:
   575  		panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fpv.selector))
   576  	}
   577  }
   578  
   579  func (fpv *CustomizedImage_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   580  	return fpv.CompareWith(source.(*CustomizedImage))
   581  }
   582  
   583  type CustomizedImage_FieldSubPathValue struct {
   584  	CustomizedImage_FieldPath
   585  	subPathValue gotenobject.FieldPathValue
   586  }
   587  
   588  var _ CustomizedImage_FieldPathValue = (*CustomizedImage_FieldSubPathValue)(nil)
   589  
   590  func (fpvs *CustomizedImage_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) {
   591  	res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue)
   592  	return res, ok
   593  }
   594  func (fpvs *CustomizedImage_FieldSubPathValue) AsSpecPathValue() (CustomizedImageSpec_FieldPathValue, bool) {
   595  	res, ok := fpvs.subPathValue.(CustomizedImageSpec_FieldPathValue)
   596  	return res, ok
   597  }
   598  func (fpvs *CustomizedImage_FieldSubPathValue) AsStatusPathValue() (CustomizedImageStatus_FieldPathValue, bool) {
   599  	res, ok := fpvs.subPathValue.(CustomizedImageStatus_FieldPathValue)
   600  	return res, ok
   601  }
   602  
   603  func (fpvs *CustomizedImage_FieldSubPathValue) SetTo(target **CustomizedImage) {
   604  	if *target == nil {
   605  		*target = new(CustomizedImage)
   606  	}
   607  	switch fpvs.Selector() {
   608  	case CustomizedImage_FieldPathSelectorMetadata:
   609  		fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata)
   610  	case CustomizedImage_FieldPathSelectorSpec:
   611  		fpvs.subPathValue.(CustomizedImageSpec_FieldPathValue).SetTo(&(*target).Spec)
   612  	case CustomizedImage_FieldPathSelectorStatus:
   613  		fpvs.subPathValue.(CustomizedImageStatus_FieldPathValue).SetTo(&(*target).Status)
   614  	default:
   615  		panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fpvs.Selector()))
   616  	}
   617  }
   618  
   619  func (fpvs *CustomizedImage_FieldSubPathValue) SetToRaw(target proto.Message) {
   620  	typedObject := target.(*CustomizedImage)
   621  	fpvs.SetTo(&typedObject)
   622  }
   623  
   624  func (fpvs *CustomizedImage_FieldSubPathValue) GetRawValue() interface{} {
   625  	return fpvs.subPathValue.GetRawValue()
   626  }
   627  
   628  func (fpvs *CustomizedImage_FieldSubPathValue) CompareWith(source *CustomizedImage) (int, bool) {
   629  	switch fpvs.Selector() {
   630  	case CustomizedImage_FieldPathSelectorMetadata:
   631  		return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata())
   632  	case CustomizedImage_FieldPathSelectorSpec:
   633  		return fpvs.subPathValue.(CustomizedImageSpec_FieldPathValue).CompareWith(source.GetSpec())
   634  	case CustomizedImage_FieldPathSelectorStatus:
   635  		return fpvs.subPathValue.(CustomizedImageStatus_FieldPathValue).CompareWith(source.GetStatus())
   636  	default:
   637  		panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fpvs.Selector()))
   638  	}
   639  }
   640  
   641  func (fpvs *CustomizedImage_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   642  	return fpvs.CompareWith(source.(*CustomizedImage))
   643  }
   644  
   645  // CustomizedImage_FieldPathArrayItemValue allows storing single item in Path-specific values for CustomizedImage according to their type
   646  // Present only for array (repeated) types.
   647  type CustomizedImage_FieldPathArrayItemValue interface {
   648  	gotenobject.FieldPathArrayItemValue
   649  	CustomizedImage_FieldPath
   650  	ContainsValue(*CustomizedImage) bool
   651  }
   652  
   653  // ParseCustomizedImage_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
   654  func ParseCustomizedImage_FieldPathArrayItemValue(pathStr, valueStr string) (CustomizedImage_FieldPathArrayItemValue, error) {
   655  	fp, err := ParseCustomizedImage_FieldPath(pathStr)
   656  	if err != nil {
   657  		return nil, err
   658  	}
   659  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
   660  	if err != nil {
   661  		return nil, status.Errorf(codes.InvalidArgument, "error parsing CustomizedImage field path array item value from %s: %v", valueStr, err)
   662  	}
   663  	return fpaiv.(CustomizedImage_FieldPathArrayItemValue), nil
   664  }
   665  
   666  func MustParseCustomizedImage_FieldPathArrayItemValue(pathStr, valueStr string) CustomizedImage_FieldPathArrayItemValue {
   667  	fpaiv, err := ParseCustomizedImage_FieldPathArrayItemValue(pathStr, valueStr)
   668  	if err != nil {
   669  		panic(err)
   670  	}
   671  	return fpaiv
   672  }
   673  
   674  type CustomizedImage_FieldTerminalPathArrayItemValue struct {
   675  	CustomizedImage_FieldTerminalPath
   676  	value interface{}
   677  }
   678  
   679  var _ CustomizedImage_FieldPathArrayItemValue = (*CustomizedImage_FieldTerminalPathArrayItemValue)(nil)
   680  
   681  // GetRawValue returns stored element value for array in object CustomizedImage as interface{}
   682  func (fpaiv *CustomizedImage_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
   683  	return fpaiv.value
   684  }
   685  
   686  func (fpaiv *CustomizedImage_FieldTerminalPathArrayItemValue) GetSingle(source *CustomizedImage) (interface{}, bool) {
   687  	return nil, false
   688  }
   689  
   690  func (fpaiv *CustomizedImage_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
   691  	return fpaiv.GetSingle(source.(*CustomizedImage))
   692  }
   693  
   694  // Contains returns a boolean indicating if value that is being held is present in given 'CustomizedImage'
   695  func (fpaiv *CustomizedImage_FieldTerminalPathArrayItemValue) ContainsValue(source *CustomizedImage) bool {
   696  	slice := fpaiv.CustomizedImage_FieldTerminalPath.Get(source)
   697  	for _, v := range slice {
   698  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
   699  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
   700  				return true
   701  			}
   702  		} else if reflect.DeepEqual(v, fpaiv.value) {
   703  			return true
   704  		}
   705  	}
   706  	return false
   707  }
   708  
   709  type CustomizedImage_FieldSubPathArrayItemValue struct {
   710  	CustomizedImage_FieldPath
   711  	subPathItemValue gotenobject.FieldPathArrayItemValue
   712  }
   713  
   714  // GetRawValue returns stored array item value
   715  func (fpaivs *CustomizedImage_FieldSubPathArrayItemValue) GetRawItemValue() interface{} {
   716  	return fpaivs.subPathItemValue.GetRawItemValue()
   717  }
   718  func (fpaivs *CustomizedImage_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) {
   719  	res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue)
   720  	return res, ok
   721  }
   722  func (fpaivs *CustomizedImage_FieldSubPathArrayItemValue) AsSpecPathItemValue() (CustomizedImageSpec_FieldPathArrayItemValue, bool) {
   723  	res, ok := fpaivs.subPathItemValue.(CustomizedImageSpec_FieldPathArrayItemValue)
   724  	return res, ok
   725  }
   726  func (fpaivs *CustomizedImage_FieldSubPathArrayItemValue) AsStatusPathItemValue() (CustomizedImageStatus_FieldPathArrayItemValue, bool) {
   727  	res, ok := fpaivs.subPathItemValue.(CustomizedImageStatus_FieldPathArrayItemValue)
   728  	return res, ok
   729  }
   730  
   731  // Contains returns a boolean indicating if value that is being held is present in given 'CustomizedImage'
   732  func (fpaivs *CustomizedImage_FieldSubPathArrayItemValue) ContainsValue(source *CustomizedImage) bool {
   733  	switch fpaivs.Selector() {
   734  	case CustomizedImage_FieldPathSelectorMetadata:
   735  		return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata())
   736  	case CustomizedImage_FieldPathSelectorSpec:
   737  		return fpaivs.subPathItemValue.(CustomizedImageSpec_FieldPathArrayItemValue).ContainsValue(source.GetSpec())
   738  	case CustomizedImage_FieldPathSelectorStatus:
   739  		return fpaivs.subPathItemValue.(CustomizedImageStatus_FieldPathArrayItemValue).ContainsValue(source.GetStatus())
   740  	default:
   741  		panic(fmt.Sprintf("Invalid selector for CustomizedImage: %d", fpaivs.Selector()))
   742  	}
   743  }
   744  
   745  // CustomizedImage_FieldPathArrayOfValues allows storing slice of values for CustomizedImage fields according to their type
   746  type CustomizedImage_FieldPathArrayOfValues interface {
   747  	gotenobject.FieldPathArrayOfValues
   748  	CustomizedImage_FieldPath
   749  }
   750  
   751  func ParseCustomizedImage_FieldPathArrayOfValues(pathStr, valuesStr string) (CustomizedImage_FieldPathArrayOfValues, error) {
   752  	fp, err := ParseCustomizedImage_FieldPath(pathStr)
   753  	if err != nil {
   754  		return nil, err
   755  	}
   756  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
   757  	if err != nil {
   758  		return nil, status.Errorf(codes.InvalidArgument, "error parsing CustomizedImage field path array of values from %s: %v", valuesStr, err)
   759  	}
   760  	return fpaov.(CustomizedImage_FieldPathArrayOfValues), nil
   761  }
   762  
   763  func MustParseCustomizedImage_FieldPathArrayOfValues(pathStr, valuesStr string) CustomizedImage_FieldPathArrayOfValues {
   764  	fpaov, err := ParseCustomizedImage_FieldPathArrayOfValues(pathStr, valuesStr)
   765  	if err != nil {
   766  		panic(err)
   767  	}
   768  	return fpaov
   769  }
   770  
   771  type CustomizedImage_FieldTerminalPathArrayOfValues struct {
   772  	CustomizedImage_FieldTerminalPath
   773  	values interface{}
   774  }
   775  
   776  var _ CustomizedImage_FieldPathArrayOfValues = (*CustomizedImage_FieldTerminalPathArrayOfValues)(nil)
   777  
   778  func (fpaov *CustomizedImage_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
   779  	switch fpaov.selector {
   780  	case CustomizedImage_FieldPathSelectorName:
   781  		for _, v := range fpaov.values.([]*Name) {
   782  			values = append(values, v)
   783  		}
   784  	case CustomizedImage_FieldPathSelectorMetadata:
   785  		for _, v := range fpaov.values.([]*meta.Meta) {
   786  			values = append(values, v)
   787  		}
   788  	case CustomizedImage_FieldPathSelectorSpec:
   789  		for _, v := range fpaov.values.([]*CustomizedImage_Spec) {
   790  			values = append(values, v)
   791  		}
   792  	case CustomizedImage_FieldPathSelectorStatus:
   793  		for _, v := range fpaov.values.([]*CustomizedImage_Status) {
   794  			values = append(values, v)
   795  		}
   796  	}
   797  	return
   798  }
   799  func (fpaov *CustomizedImage_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) {
   800  	res, ok := fpaov.values.([]*Name)
   801  	return res, ok
   802  }
   803  func (fpaov *CustomizedImage_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) {
   804  	res, ok := fpaov.values.([]*meta.Meta)
   805  	return res, ok
   806  }
   807  func (fpaov *CustomizedImage_FieldTerminalPathArrayOfValues) AsSpecArrayOfValues() ([]*CustomizedImage_Spec, bool) {
   808  	res, ok := fpaov.values.([]*CustomizedImage_Spec)
   809  	return res, ok
   810  }
   811  func (fpaov *CustomizedImage_FieldTerminalPathArrayOfValues) AsStatusArrayOfValues() ([]*CustomizedImage_Status, bool) {
   812  	res, ok := fpaov.values.([]*CustomizedImage_Status)
   813  	return res, ok
   814  }
   815  
   816  type CustomizedImage_FieldSubPathArrayOfValues struct {
   817  	CustomizedImage_FieldPath
   818  	subPathArrayOfValues gotenobject.FieldPathArrayOfValues
   819  }
   820  
   821  var _ CustomizedImage_FieldPathArrayOfValues = (*CustomizedImage_FieldSubPathArrayOfValues)(nil)
   822  
   823  func (fpsaov *CustomizedImage_FieldSubPathArrayOfValues) GetRawValues() []interface{} {
   824  	return fpsaov.subPathArrayOfValues.GetRawValues()
   825  }
   826  func (fpsaov *CustomizedImage_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) {
   827  	res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues)
   828  	return res, ok
   829  }
   830  func (fpsaov *CustomizedImage_FieldSubPathArrayOfValues) AsSpecPathArrayOfValues() (CustomizedImageSpec_FieldPathArrayOfValues, bool) {
   831  	res, ok := fpsaov.subPathArrayOfValues.(CustomizedImageSpec_FieldPathArrayOfValues)
   832  	return res, ok
   833  }
   834  func (fpsaov *CustomizedImage_FieldSubPathArrayOfValues) AsStatusPathArrayOfValues() (CustomizedImageStatus_FieldPathArrayOfValues, bool) {
   835  	res, ok := fpsaov.subPathArrayOfValues.(CustomizedImageStatus_FieldPathArrayOfValues)
   836  	return res, ok
   837  }
   838  
   839  // FieldPath provides implementation to handle
   840  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
   841  type CustomizedImageSpec_FieldPath interface {
   842  	gotenobject.FieldPath
   843  	Selector() CustomizedImageSpec_FieldPathSelector
   844  	Get(source *CustomizedImage_Spec) []interface{}
   845  	GetSingle(source *CustomizedImage_Spec) (interface{}, bool)
   846  	ClearValue(item *CustomizedImage_Spec)
   847  
   848  	// Those methods build corresponding CustomizedImageSpec_FieldPathValue
   849  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
   850  	WithIValue(value interface{}) CustomizedImageSpec_FieldPathValue
   851  	WithIArrayOfValues(values interface{}) CustomizedImageSpec_FieldPathArrayOfValues
   852  	WithIArrayItemValue(value interface{}) CustomizedImageSpec_FieldPathArrayItemValue
   853  }
   854  
   855  type CustomizedImageSpec_FieldPathSelector int32
   856  
   857  const (
   858  	CustomizedImageSpec_FieldPathSelectorVersion            CustomizedImageSpec_FieldPathSelector = 0
   859  	CustomizedImageSpec_FieldPathSelectorDeviceType         CustomizedImageSpec_FieldPathSelector = 1
   860  	CustomizedImageSpec_FieldPathSelectorOsVersion          CustomizedImageSpec_FieldPathSelector = 2
   861  	CustomizedImageSpec_FieldPathSelectorProvisioningPolicy CustomizedImageSpec_FieldPathSelector = 3
   862  	CustomizedImageSpec_FieldPathSelectorServiceAccount     CustomizedImageSpec_FieldPathSelector = 4
   863  	CustomizedImageSpec_FieldPathSelectorServiceAccountKey  CustomizedImageSpec_FieldPathSelector = 5
   864  	CustomizedImageSpec_FieldPathSelectorPassword           CustomizedImageSpec_FieldPathSelector = 6
   865  	CustomizedImageSpec_FieldPathSelectorEncryption         CustomizedImageSpec_FieldPathSelector = 7
   866  	CustomizedImageSpec_FieldPathSelectorEncryptionPassword CustomizedImageSpec_FieldPathSelector = 8
   867  	CustomizedImageSpec_FieldPathSelectorDiskMapping        CustomizedImageSpec_FieldPathSelector = 9
   868  	CustomizedImageSpec_FieldPathSelectorNetworkAgent       CustomizedImageSpec_FieldPathSelector = 10
   869  	CustomizedImageSpec_FieldPathSelectorNtp                CustomizedImageSpec_FieldPathSelector = 11
   870  	CustomizedImageSpec_FieldPathSelectorHttpProxy          CustomizedImageSpec_FieldPathSelector = 12
   871  	CustomizedImageSpec_FieldPathSelectorHttpsProxy         CustomizedImageSpec_FieldPathSelector = 13
   872  	CustomizedImageSpec_FieldPathSelectorNoProxy            CustomizedImageSpec_FieldPathSelector = 14
   873  )
   874  
   875  func (s CustomizedImageSpec_FieldPathSelector) String() string {
   876  	switch s {
   877  	case CustomizedImageSpec_FieldPathSelectorVersion:
   878  		return "version"
   879  	case CustomizedImageSpec_FieldPathSelectorDeviceType:
   880  		return "device_type"
   881  	case CustomizedImageSpec_FieldPathSelectorOsVersion:
   882  		return "os_version"
   883  	case CustomizedImageSpec_FieldPathSelectorProvisioningPolicy:
   884  		return "provisioning_policy"
   885  	case CustomizedImageSpec_FieldPathSelectorServiceAccount:
   886  		return "service_account"
   887  	case CustomizedImageSpec_FieldPathSelectorServiceAccountKey:
   888  		return "service_account_key"
   889  	case CustomizedImageSpec_FieldPathSelectorPassword:
   890  		return "password"
   891  	case CustomizedImageSpec_FieldPathSelectorEncryption:
   892  		return "encryption"
   893  	case CustomizedImageSpec_FieldPathSelectorEncryptionPassword:
   894  		return "encryption_password"
   895  	case CustomizedImageSpec_FieldPathSelectorDiskMapping:
   896  		return "disk_mapping"
   897  	case CustomizedImageSpec_FieldPathSelectorNetworkAgent:
   898  		return "network_agent"
   899  	case CustomizedImageSpec_FieldPathSelectorNtp:
   900  		return "ntp"
   901  	case CustomizedImageSpec_FieldPathSelectorHttpProxy:
   902  		return "http_proxy"
   903  	case CustomizedImageSpec_FieldPathSelectorHttpsProxy:
   904  		return "https_proxy"
   905  	case CustomizedImageSpec_FieldPathSelectorNoProxy:
   906  		return "no_proxy"
   907  	default:
   908  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Spec: %d", s))
   909  	}
   910  }
   911  
   912  func BuildCustomizedImageSpec_FieldPath(fp gotenobject.RawFieldPath) (CustomizedImageSpec_FieldPath, error) {
   913  	if len(fp) == 0 {
   914  		return nil, status.Error(codes.InvalidArgument, "empty field path for object CustomizedImage_Spec")
   915  	}
   916  	if len(fp) == 1 {
   917  		switch fp[0] {
   918  		case "version":
   919  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorVersion}, nil
   920  		case "device_type", "deviceType", "device-type":
   921  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorDeviceType}, nil
   922  		case "os_version", "osVersion", "os-version":
   923  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorOsVersion}, nil
   924  		case "provisioning_policy", "provisioningPolicy", "provisioning-policy":
   925  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorProvisioningPolicy}, nil
   926  		case "service_account", "serviceAccount", "service-account":
   927  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorServiceAccount}, nil
   928  		case "service_account_key", "serviceAccountKey", "service-account-key":
   929  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorServiceAccountKey}, nil
   930  		case "password":
   931  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorPassword}, nil
   932  		case "encryption":
   933  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorEncryption}, nil
   934  		case "encryption_password", "encryptionPassword", "encryption-password":
   935  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorEncryptionPassword}, nil
   936  		case "disk_mapping", "diskMapping", "disk-mapping":
   937  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorDiskMapping}, nil
   938  		case "network_agent", "networkAgent", "network-agent":
   939  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorNetworkAgent}, nil
   940  		case "ntp":
   941  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorNtp}, nil
   942  		case "http_proxy", "httpProxy", "http-proxy":
   943  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorHttpProxy}, nil
   944  		case "https_proxy", "httpsProxy", "https-proxy":
   945  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorHttpsProxy}, nil
   946  		case "no_proxy", "noProxy", "no-proxy":
   947  			return &CustomizedImageSpec_FieldTerminalPath{selector: CustomizedImageSpec_FieldPathSelectorNoProxy}, nil
   948  		}
   949  	}
   950  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object CustomizedImage_Spec", fp)
   951  }
   952  
   953  func ParseCustomizedImageSpec_FieldPath(rawField string) (CustomizedImageSpec_FieldPath, error) {
   954  	fp, err := gotenobject.ParseRawFieldPath(rawField)
   955  	if err != nil {
   956  		return nil, err
   957  	}
   958  	return BuildCustomizedImageSpec_FieldPath(fp)
   959  }
   960  
   961  func MustParseCustomizedImageSpec_FieldPath(rawField string) CustomizedImageSpec_FieldPath {
   962  	fp, err := ParseCustomizedImageSpec_FieldPath(rawField)
   963  	if err != nil {
   964  		panic(err)
   965  	}
   966  	return fp
   967  }
   968  
   969  type CustomizedImageSpec_FieldTerminalPath struct {
   970  	selector CustomizedImageSpec_FieldPathSelector
   971  }
   972  
   973  var _ CustomizedImageSpec_FieldPath = (*CustomizedImageSpec_FieldTerminalPath)(nil)
   974  
   975  func (fp *CustomizedImageSpec_FieldTerminalPath) Selector() CustomizedImageSpec_FieldPathSelector {
   976  	return fp.selector
   977  }
   978  
   979  // String returns path representation in proto convention
   980  func (fp *CustomizedImageSpec_FieldTerminalPath) String() string {
   981  	return fp.selector.String()
   982  }
   983  
   984  // JSONString returns path representation is JSON convention
   985  func (fp *CustomizedImageSpec_FieldTerminalPath) JSONString() string {
   986  	return strcase.ToLowerCamel(fp.String())
   987  }
   988  
   989  // Get returns all values pointed by specific field from source CustomizedImage_Spec
   990  func (fp *CustomizedImageSpec_FieldTerminalPath) Get(source *CustomizedImage_Spec) (values []interface{}) {
   991  	if source != nil {
   992  		switch fp.selector {
   993  		case CustomizedImageSpec_FieldPathSelectorVersion:
   994  			values = append(values, source.Version)
   995  		case CustomizedImageSpec_FieldPathSelectorDeviceType:
   996  			values = append(values, source.DeviceType)
   997  		case CustomizedImageSpec_FieldPathSelectorOsVersion:
   998  			if source.OsVersion != nil {
   999  				values = append(values, source.OsVersion)
  1000  			}
  1001  		case CustomizedImageSpec_FieldPathSelectorProvisioningPolicy:
  1002  			values = append(values, source.ProvisioningPolicy)
  1003  		case CustomizedImageSpec_FieldPathSelectorServiceAccount:
  1004  			if source.ServiceAccount != nil {
  1005  				values = append(values, source.ServiceAccount)
  1006  			}
  1007  		case CustomizedImageSpec_FieldPathSelectorServiceAccountKey:
  1008  			if source.ServiceAccountKey != nil {
  1009  				values = append(values, source.ServiceAccountKey)
  1010  			}
  1011  		case CustomizedImageSpec_FieldPathSelectorPassword:
  1012  			values = append(values, source.Password)
  1013  		case CustomizedImageSpec_FieldPathSelectorEncryption:
  1014  			values = append(values, source.Encryption)
  1015  		case CustomizedImageSpec_FieldPathSelectorEncryptionPassword:
  1016  			values = append(values, source.EncryptionPassword)
  1017  		case CustomizedImageSpec_FieldPathSelectorDiskMapping:
  1018  			values = append(values, source.DiskMapping)
  1019  		case CustomizedImageSpec_FieldPathSelectorNetworkAgent:
  1020  			values = append(values, source.NetworkAgent)
  1021  		case CustomizedImageSpec_FieldPathSelectorNtp:
  1022  			values = append(values, source.Ntp)
  1023  		case CustomizedImageSpec_FieldPathSelectorHttpProxy:
  1024  			values = append(values, source.HttpProxy)
  1025  		case CustomizedImageSpec_FieldPathSelectorHttpsProxy:
  1026  			values = append(values, source.HttpsProxy)
  1027  		case CustomizedImageSpec_FieldPathSelectorNoProxy:
  1028  			values = append(values, source.NoProxy)
  1029  		default:
  1030  			panic(fmt.Sprintf("Invalid selector for CustomizedImage_Spec: %d", fp.selector))
  1031  		}
  1032  	}
  1033  	return
  1034  }
  1035  
  1036  func (fp *CustomizedImageSpec_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
  1037  	return fp.Get(source.(*CustomizedImage_Spec))
  1038  }
  1039  
  1040  // GetSingle returns value pointed by specific field of from source CustomizedImage_Spec
  1041  func (fp *CustomizedImageSpec_FieldTerminalPath) GetSingle(source *CustomizedImage_Spec) (interface{}, bool) {
  1042  	switch fp.selector {
  1043  	case CustomizedImageSpec_FieldPathSelectorVersion:
  1044  		return source.GetVersion(), source != nil
  1045  	case CustomizedImageSpec_FieldPathSelectorDeviceType:
  1046  		return source.GetDeviceType(), source != nil
  1047  	case CustomizedImageSpec_FieldPathSelectorOsVersion:
  1048  		res := source.GetOsVersion()
  1049  		return res, res != nil
  1050  	case CustomizedImageSpec_FieldPathSelectorProvisioningPolicy:
  1051  		return source.GetProvisioningPolicy(), source != nil
  1052  	case CustomizedImageSpec_FieldPathSelectorServiceAccount:
  1053  		res := source.GetServiceAccount()
  1054  		return res, res != nil
  1055  	case CustomizedImageSpec_FieldPathSelectorServiceAccountKey:
  1056  		res := source.GetServiceAccountKey()
  1057  		return res, res != nil
  1058  	case CustomizedImageSpec_FieldPathSelectorPassword:
  1059  		return source.GetPassword(), source != nil
  1060  	case CustomizedImageSpec_FieldPathSelectorEncryption:
  1061  		return source.GetEncryption(), source != nil
  1062  	case CustomizedImageSpec_FieldPathSelectorEncryptionPassword:
  1063  		return source.GetEncryptionPassword(), source != nil
  1064  	case CustomizedImageSpec_FieldPathSelectorDiskMapping:
  1065  		return source.GetDiskMapping(), source != nil
  1066  	case CustomizedImageSpec_FieldPathSelectorNetworkAgent:
  1067  		return source.GetNetworkAgent(), source != nil
  1068  	case CustomizedImageSpec_FieldPathSelectorNtp:
  1069  		return source.GetNtp(), source != nil
  1070  	case CustomizedImageSpec_FieldPathSelectorHttpProxy:
  1071  		return source.GetHttpProxy(), source != nil
  1072  	case CustomizedImageSpec_FieldPathSelectorHttpsProxy:
  1073  		return source.GetHttpsProxy(), source != nil
  1074  	case CustomizedImageSpec_FieldPathSelectorNoProxy:
  1075  		return source.GetNoProxy(), source != nil
  1076  	default:
  1077  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Spec: %d", fp.selector))
  1078  	}
  1079  }
  1080  
  1081  func (fp *CustomizedImageSpec_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1082  	return fp.GetSingle(source.(*CustomizedImage_Spec))
  1083  }
  1084  
  1085  // GetDefault returns a default value of the field type
  1086  func (fp *CustomizedImageSpec_FieldTerminalPath) GetDefault() interface{} {
  1087  	switch fp.selector {
  1088  	case CustomizedImageSpec_FieldPathSelectorVersion:
  1089  		return ""
  1090  	case CustomizedImageSpec_FieldPathSelectorDeviceType:
  1091  		return ""
  1092  	case CustomizedImageSpec_FieldPathSelectorOsVersion:
  1093  		return (*os_version.Reference)(nil)
  1094  	case CustomizedImageSpec_FieldPathSelectorProvisioningPolicy:
  1095  		return ""
  1096  	case CustomizedImageSpec_FieldPathSelectorServiceAccount:
  1097  		return (*iam_service_account.Reference)(nil)
  1098  	case CustomizedImageSpec_FieldPathSelectorServiceAccountKey:
  1099  		return (*iam_service_account_key.Reference)(nil)
  1100  	case CustomizedImageSpec_FieldPathSelectorPassword:
  1101  		return ""
  1102  	case CustomizedImageSpec_FieldPathSelectorEncryption:
  1103  		return false
  1104  	case CustomizedImageSpec_FieldPathSelectorEncryptionPassword:
  1105  		return ""
  1106  	case CustomizedImageSpec_FieldPathSelectorDiskMapping:
  1107  		return ""
  1108  	case CustomizedImageSpec_FieldPathSelectorNetworkAgent:
  1109  		return ""
  1110  	case CustomizedImageSpec_FieldPathSelectorNtp:
  1111  		return ""
  1112  	case CustomizedImageSpec_FieldPathSelectorHttpProxy:
  1113  		return ""
  1114  	case CustomizedImageSpec_FieldPathSelectorHttpsProxy:
  1115  		return ""
  1116  	case CustomizedImageSpec_FieldPathSelectorNoProxy:
  1117  		return ""
  1118  	default:
  1119  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Spec: %d", fp.selector))
  1120  	}
  1121  }
  1122  
  1123  func (fp *CustomizedImageSpec_FieldTerminalPath) ClearValue(item *CustomizedImage_Spec) {
  1124  	if item != nil {
  1125  		switch fp.selector {
  1126  		case CustomizedImageSpec_FieldPathSelectorVersion:
  1127  			item.Version = ""
  1128  		case CustomizedImageSpec_FieldPathSelectorDeviceType:
  1129  			item.DeviceType = ""
  1130  		case CustomizedImageSpec_FieldPathSelectorOsVersion:
  1131  			item.OsVersion = nil
  1132  		case CustomizedImageSpec_FieldPathSelectorProvisioningPolicy:
  1133  			item.ProvisioningPolicy = ""
  1134  		case CustomizedImageSpec_FieldPathSelectorServiceAccount:
  1135  			item.ServiceAccount = nil
  1136  		case CustomizedImageSpec_FieldPathSelectorServiceAccountKey:
  1137  			item.ServiceAccountKey = nil
  1138  		case CustomizedImageSpec_FieldPathSelectorPassword:
  1139  			item.Password = ""
  1140  		case CustomizedImageSpec_FieldPathSelectorEncryption:
  1141  			item.Encryption = false
  1142  		case CustomizedImageSpec_FieldPathSelectorEncryptionPassword:
  1143  			item.EncryptionPassword = ""
  1144  		case CustomizedImageSpec_FieldPathSelectorDiskMapping:
  1145  			item.DiskMapping = ""
  1146  		case CustomizedImageSpec_FieldPathSelectorNetworkAgent:
  1147  			item.NetworkAgent = ""
  1148  		case CustomizedImageSpec_FieldPathSelectorNtp:
  1149  			item.Ntp = ""
  1150  		case CustomizedImageSpec_FieldPathSelectorHttpProxy:
  1151  			item.HttpProxy = ""
  1152  		case CustomizedImageSpec_FieldPathSelectorHttpsProxy:
  1153  			item.HttpsProxy = ""
  1154  		case CustomizedImageSpec_FieldPathSelectorNoProxy:
  1155  			item.NoProxy = ""
  1156  		default:
  1157  			panic(fmt.Sprintf("Invalid selector for CustomizedImage_Spec: %d", fp.selector))
  1158  		}
  1159  	}
  1160  }
  1161  
  1162  func (fp *CustomizedImageSpec_FieldTerminalPath) ClearValueRaw(item proto.Message) {
  1163  	fp.ClearValue(item.(*CustomizedImage_Spec))
  1164  }
  1165  
  1166  // IsLeaf - whether field path is holds simple value
  1167  func (fp *CustomizedImageSpec_FieldTerminalPath) IsLeaf() bool {
  1168  	return fp.selector == CustomizedImageSpec_FieldPathSelectorVersion ||
  1169  		fp.selector == CustomizedImageSpec_FieldPathSelectorDeviceType ||
  1170  		fp.selector == CustomizedImageSpec_FieldPathSelectorOsVersion ||
  1171  		fp.selector == CustomizedImageSpec_FieldPathSelectorProvisioningPolicy ||
  1172  		fp.selector == CustomizedImageSpec_FieldPathSelectorServiceAccount ||
  1173  		fp.selector == CustomizedImageSpec_FieldPathSelectorServiceAccountKey ||
  1174  		fp.selector == CustomizedImageSpec_FieldPathSelectorPassword ||
  1175  		fp.selector == CustomizedImageSpec_FieldPathSelectorEncryption ||
  1176  		fp.selector == CustomizedImageSpec_FieldPathSelectorEncryptionPassword ||
  1177  		fp.selector == CustomizedImageSpec_FieldPathSelectorDiskMapping ||
  1178  		fp.selector == CustomizedImageSpec_FieldPathSelectorNetworkAgent ||
  1179  		fp.selector == CustomizedImageSpec_FieldPathSelectorNtp ||
  1180  		fp.selector == CustomizedImageSpec_FieldPathSelectorHttpProxy ||
  1181  		fp.selector == CustomizedImageSpec_FieldPathSelectorHttpsProxy ||
  1182  		fp.selector == CustomizedImageSpec_FieldPathSelectorNoProxy
  1183  }
  1184  
  1185  func (fp *CustomizedImageSpec_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  1186  	return []gotenobject.FieldPath{fp}
  1187  }
  1188  
  1189  func (fp *CustomizedImageSpec_FieldTerminalPath) WithIValue(value interface{}) CustomizedImageSpec_FieldPathValue {
  1190  	switch fp.selector {
  1191  	case CustomizedImageSpec_FieldPathSelectorVersion:
  1192  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(string)}
  1193  	case CustomizedImageSpec_FieldPathSelectorDeviceType:
  1194  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(string)}
  1195  	case CustomizedImageSpec_FieldPathSelectorOsVersion:
  1196  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(*os_version.Reference)}
  1197  	case CustomizedImageSpec_FieldPathSelectorProvisioningPolicy:
  1198  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(string)}
  1199  	case CustomizedImageSpec_FieldPathSelectorServiceAccount:
  1200  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(*iam_service_account.Reference)}
  1201  	case CustomizedImageSpec_FieldPathSelectorServiceAccountKey:
  1202  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(*iam_service_account_key.Reference)}
  1203  	case CustomizedImageSpec_FieldPathSelectorPassword:
  1204  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(string)}
  1205  	case CustomizedImageSpec_FieldPathSelectorEncryption:
  1206  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(bool)}
  1207  	case CustomizedImageSpec_FieldPathSelectorEncryptionPassword:
  1208  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(string)}
  1209  	case CustomizedImageSpec_FieldPathSelectorDiskMapping:
  1210  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(string)}
  1211  	case CustomizedImageSpec_FieldPathSelectorNetworkAgent:
  1212  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(string)}
  1213  	case CustomizedImageSpec_FieldPathSelectorNtp:
  1214  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(string)}
  1215  	case CustomizedImageSpec_FieldPathSelectorHttpProxy:
  1216  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(string)}
  1217  	case CustomizedImageSpec_FieldPathSelectorHttpsProxy:
  1218  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(string)}
  1219  	case CustomizedImageSpec_FieldPathSelectorNoProxy:
  1220  		return &CustomizedImageSpec_FieldTerminalPathValue{CustomizedImageSpec_FieldTerminalPath: *fp, value: value.(string)}
  1221  	default:
  1222  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Spec: %d", fp.selector))
  1223  	}
  1224  }
  1225  
  1226  func (fp *CustomizedImageSpec_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  1227  	return fp.WithIValue(value)
  1228  }
  1229  
  1230  func (fp *CustomizedImageSpec_FieldTerminalPath) WithIArrayOfValues(values interface{}) CustomizedImageSpec_FieldPathArrayOfValues {
  1231  	fpaov := &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp}
  1232  	switch fp.selector {
  1233  	case CustomizedImageSpec_FieldPathSelectorVersion:
  1234  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]string)}
  1235  	case CustomizedImageSpec_FieldPathSelectorDeviceType:
  1236  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]string)}
  1237  	case CustomizedImageSpec_FieldPathSelectorOsVersion:
  1238  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]*os_version.Reference)}
  1239  	case CustomizedImageSpec_FieldPathSelectorProvisioningPolicy:
  1240  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]string)}
  1241  	case CustomizedImageSpec_FieldPathSelectorServiceAccount:
  1242  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]*iam_service_account.Reference)}
  1243  	case CustomizedImageSpec_FieldPathSelectorServiceAccountKey:
  1244  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]*iam_service_account_key.Reference)}
  1245  	case CustomizedImageSpec_FieldPathSelectorPassword:
  1246  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]string)}
  1247  	case CustomizedImageSpec_FieldPathSelectorEncryption:
  1248  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]bool)}
  1249  	case CustomizedImageSpec_FieldPathSelectorEncryptionPassword:
  1250  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]string)}
  1251  	case CustomizedImageSpec_FieldPathSelectorDiskMapping:
  1252  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]string)}
  1253  	case CustomizedImageSpec_FieldPathSelectorNetworkAgent:
  1254  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]string)}
  1255  	case CustomizedImageSpec_FieldPathSelectorNtp:
  1256  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]string)}
  1257  	case CustomizedImageSpec_FieldPathSelectorHttpProxy:
  1258  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]string)}
  1259  	case CustomizedImageSpec_FieldPathSelectorHttpsProxy:
  1260  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]string)}
  1261  	case CustomizedImageSpec_FieldPathSelectorNoProxy:
  1262  		return &CustomizedImageSpec_FieldTerminalPathArrayOfValues{CustomizedImageSpec_FieldTerminalPath: *fp, values: values.([]string)}
  1263  	default:
  1264  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Spec: %d", fp.selector))
  1265  	}
  1266  	return fpaov
  1267  }
  1268  
  1269  func (fp *CustomizedImageSpec_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  1270  	return fp.WithIArrayOfValues(values)
  1271  }
  1272  
  1273  func (fp *CustomizedImageSpec_FieldTerminalPath) WithIArrayItemValue(value interface{}) CustomizedImageSpec_FieldPathArrayItemValue {
  1274  	switch fp.selector {
  1275  	default:
  1276  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Spec: %d", fp.selector))
  1277  	}
  1278  }
  1279  
  1280  func (fp *CustomizedImageSpec_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  1281  	return fp.WithIArrayItemValue(value)
  1282  }
  1283  
  1284  // CustomizedImageSpec_FieldPathValue allows storing values for Spec fields according to their type
  1285  type CustomizedImageSpec_FieldPathValue interface {
  1286  	CustomizedImageSpec_FieldPath
  1287  	gotenobject.FieldPathValue
  1288  	SetTo(target **CustomizedImage_Spec)
  1289  	CompareWith(*CustomizedImage_Spec) (cmp int, comparable bool)
  1290  }
  1291  
  1292  func ParseCustomizedImageSpec_FieldPathValue(pathStr, valueStr string) (CustomizedImageSpec_FieldPathValue, error) {
  1293  	fp, err := ParseCustomizedImageSpec_FieldPath(pathStr)
  1294  	if err != nil {
  1295  		return nil, err
  1296  	}
  1297  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
  1298  	if err != nil {
  1299  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Spec field path value from %s: %v", valueStr, err)
  1300  	}
  1301  	return fpv.(CustomizedImageSpec_FieldPathValue), nil
  1302  }
  1303  
  1304  func MustParseCustomizedImageSpec_FieldPathValue(pathStr, valueStr string) CustomizedImageSpec_FieldPathValue {
  1305  	fpv, err := ParseCustomizedImageSpec_FieldPathValue(pathStr, valueStr)
  1306  	if err != nil {
  1307  		panic(err)
  1308  	}
  1309  	return fpv
  1310  }
  1311  
  1312  type CustomizedImageSpec_FieldTerminalPathValue struct {
  1313  	CustomizedImageSpec_FieldTerminalPath
  1314  	value interface{}
  1315  }
  1316  
  1317  var _ CustomizedImageSpec_FieldPathValue = (*CustomizedImageSpec_FieldTerminalPathValue)(nil)
  1318  
  1319  // GetRawValue returns raw value stored under selected path for 'Spec' as interface{}
  1320  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) GetRawValue() interface{} {
  1321  	return fpv.value
  1322  }
  1323  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsVersionValue() (string, bool) {
  1324  	res, ok := fpv.value.(string)
  1325  	return res, ok
  1326  }
  1327  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsDeviceTypeValue() (string, bool) {
  1328  	res, ok := fpv.value.(string)
  1329  	return res, ok
  1330  }
  1331  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsOsVersionValue() (*os_version.Reference, bool) {
  1332  	res, ok := fpv.value.(*os_version.Reference)
  1333  	return res, ok
  1334  }
  1335  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsProvisioningPolicyValue() (string, bool) {
  1336  	res, ok := fpv.value.(string)
  1337  	return res, ok
  1338  }
  1339  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsServiceAccountValue() (*iam_service_account.Reference, bool) {
  1340  	res, ok := fpv.value.(*iam_service_account.Reference)
  1341  	return res, ok
  1342  }
  1343  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsServiceAccountKeyValue() (*iam_service_account_key.Reference, bool) {
  1344  	res, ok := fpv.value.(*iam_service_account_key.Reference)
  1345  	return res, ok
  1346  }
  1347  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsPasswordValue() (string, bool) {
  1348  	res, ok := fpv.value.(string)
  1349  	return res, ok
  1350  }
  1351  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsEncryptionValue() (bool, bool) {
  1352  	res, ok := fpv.value.(bool)
  1353  	return res, ok
  1354  }
  1355  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsEncryptionPasswordValue() (string, bool) {
  1356  	res, ok := fpv.value.(string)
  1357  	return res, ok
  1358  }
  1359  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsDiskMappingValue() (string, bool) {
  1360  	res, ok := fpv.value.(string)
  1361  	return res, ok
  1362  }
  1363  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsNetworkAgentValue() (string, bool) {
  1364  	res, ok := fpv.value.(string)
  1365  	return res, ok
  1366  }
  1367  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsNtpValue() (string, bool) {
  1368  	res, ok := fpv.value.(string)
  1369  	return res, ok
  1370  }
  1371  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsHttpProxyValue() (string, bool) {
  1372  	res, ok := fpv.value.(string)
  1373  	return res, ok
  1374  }
  1375  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsHttpsProxyValue() (string, bool) {
  1376  	res, ok := fpv.value.(string)
  1377  	return res, ok
  1378  }
  1379  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) AsNoProxyValue() (string, bool) {
  1380  	res, ok := fpv.value.(string)
  1381  	return res, ok
  1382  }
  1383  
  1384  // SetTo stores value for selected field for object Spec
  1385  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) SetTo(target **CustomizedImage_Spec) {
  1386  	if *target == nil {
  1387  		*target = new(CustomizedImage_Spec)
  1388  	}
  1389  	switch fpv.selector {
  1390  	case CustomizedImageSpec_FieldPathSelectorVersion:
  1391  		(*target).Version = fpv.value.(string)
  1392  	case CustomizedImageSpec_FieldPathSelectorDeviceType:
  1393  		(*target).DeviceType = fpv.value.(string)
  1394  	case CustomizedImageSpec_FieldPathSelectorOsVersion:
  1395  		(*target).OsVersion = fpv.value.(*os_version.Reference)
  1396  	case CustomizedImageSpec_FieldPathSelectorProvisioningPolicy:
  1397  		(*target).ProvisioningPolicy = fpv.value.(string)
  1398  	case CustomizedImageSpec_FieldPathSelectorServiceAccount:
  1399  		(*target).ServiceAccount = fpv.value.(*iam_service_account.Reference)
  1400  	case CustomizedImageSpec_FieldPathSelectorServiceAccountKey:
  1401  		(*target).ServiceAccountKey = fpv.value.(*iam_service_account_key.Reference)
  1402  	case CustomizedImageSpec_FieldPathSelectorPassword:
  1403  		(*target).Password = fpv.value.(string)
  1404  	case CustomizedImageSpec_FieldPathSelectorEncryption:
  1405  		(*target).Encryption = fpv.value.(bool)
  1406  	case CustomizedImageSpec_FieldPathSelectorEncryptionPassword:
  1407  		(*target).EncryptionPassword = fpv.value.(string)
  1408  	case CustomizedImageSpec_FieldPathSelectorDiskMapping:
  1409  		(*target).DiskMapping = fpv.value.(string)
  1410  	case CustomizedImageSpec_FieldPathSelectorNetworkAgent:
  1411  		(*target).NetworkAgent = fpv.value.(string)
  1412  	case CustomizedImageSpec_FieldPathSelectorNtp:
  1413  		(*target).Ntp = fpv.value.(string)
  1414  	case CustomizedImageSpec_FieldPathSelectorHttpProxy:
  1415  		(*target).HttpProxy = fpv.value.(string)
  1416  	case CustomizedImageSpec_FieldPathSelectorHttpsProxy:
  1417  		(*target).HttpsProxy = fpv.value.(string)
  1418  	case CustomizedImageSpec_FieldPathSelectorNoProxy:
  1419  		(*target).NoProxy = fpv.value.(string)
  1420  	default:
  1421  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Spec: %d", fpv.selector))
  1422  	}
  1423  }
  1424  
  1425  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) SetToRaw(target proto.Message) {
  1426  	typedObject := target.(*CustomizedImage_Spec)
  1427  	fpv.SetTo(&typedObject)
  1428  }
  1429  
  1430  // CompareWith compares value in the 'CustomizedImageSpec_FieldTerminalPathValue' with the value under path in 'CustomizedImage_Spec'.
  1431  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) CompareWith(source *CustomizedImage_Spec) (int, bool) {
  1432  	switch fpv.selector {
  1433  	case CustomizedImageSpec_FieldPathSelectorVersion:
  1434  		leftValue := fpv.value.(string)
  1435  		rightValue := source.GetVersion()
  1436  		if (leftValue) == (rightValue) {
  1437  			return 0, true
  1438  		} else if (leftValue) < (rightValue) {
  1439  			return -1, true
  1440  		} else {
  1441  			return 1, true
  1442  		}
  1443  	case CustomizedImageSpec_FieldPathSelectorDeviceType:
  1444  		leftValue := fpv.value.(string)
  1445  		rightValue := source.GetDeviceType()
  1446  		if (leftValue) == (rightValue) {
  1447  			return 0, true
  1448  		} else if (leftValue) < (rightValue) {
  1449  			return -1, true
  1450  		} else {
  1451  			return 1, true
  1452  		}
  1453  	case CustomizedImageSpec_FieldPathSelectorOsVersion:
  1454  		leftValue := fpv.value.(*os_version.Reference)
  1455  		rightValue := source.GetOsVersion()
  1456  		if leftValue == nil {
  1457  			if rightValue != nil {
  1458  				return -1, true
  1459  			}
  1460  			return 0, true
  1461  		}
  1462  		if rightValue == nil {
  1463  			return 1, true
  1464  		}
  1465  		if leftValue.String() == rightValue.String() {
  1466  			return 0, true
  1467  		} else if leftValue.String() < rightValue.String() {
  1468  			return -1, true
  1469  		} else {
  1470  			return 1, true
  1471  		}
  1472  	case CustomizedImageSpec_FieldPathSelectorProvisioningPolicy:
  1473  		leftValue := fpv.value.(string)
  1474  		rightValue := source.GetProvisioningPolicy()
  1475  		if (leftValue) == (rightValue) {
  1476  			return 0, true
  1477  		} else if (leftValue) < (rightValue) {
  1478  			return -1, true
  1479  		} else {
  1480  			return 1, true
  1481  		}
  1482  	case CustomizedImageSpec_FieldPathSelectorServiceAccount:
  1483  		leftValue := fpv.value.(*iam_service_account.Reference)
  1484  		rightValue := source.GetServiceAccount()
  1485  		if leftValue == nil {
  1486  			if rightValue != nil {
  1487  				return -1, true
  1488  			}
  1489  			return 0, true
  1490  		}
  1491  		if rightValue == nil {
  1492  			return 1, true
  1493  		}
  1494  		if leftValue.String() == rightValue.String() {
  1495  			return 0, true
  1496  		} else if leftValue.String() < rightValue.String() {
  1497  			return -1, true
  1498  		} else {
  1499  			return 1, true
  1500  		}
  1501  	case CustomizedImageSpec_FieldPathSelectorServiceAccountKey:
  1502  		leftValue := fpv.value.(*iam_service_account_key.Reference)
  1503  		rightValue := source.GetServiceAccountKey()
  1504  		if leftValue == nil {
  1505  			if rightValue != nil {
  1506  				return -1, true
  1507  			}
  1508  			return 0, true
  1509  		}
  1510  		if rightValue == nil {
  1511  			return 1, true
  1512  		}
  1513  		if leftValue.String() == rightValue.String() {
  1514  			return 0, true
  1515  		} else if leftValue.String() < rightValue.String() {
  1516  			return -1, true
  1517  		} else {
  1518  			return 1, true
  1519  		}
  1520  	case CustomizedImageSpec_FieldPathSelectorPassword:
  1521  		leftValue := fpv.value.(string)
  1522  		rightValue := source.GetPassword()
  1523  		if (leftValue) == (rightValue) {
  1524  			return 0, true
  1525  		} else if (leftValue) < (rightValue) {
  1526  			return -1, true
  1527  		} else {
  1528  			return 1, true
  1529  		}
  1530  	case CustomizedImageSpec_FieldPathSelectorEncryption:
  1531  		leftValue := fpv.value.(bool)
  1532  		rightValue := source.GetEncryption()
  1533  		if (leftValue) == (rightValue) {
  1534  			return 0, true
  1535  		} else if !(leftValue) && (rightValue) {
  1536  			return -1, true
  1537  		} else {
  1538  			return 1, true
  1539  		}
  1540  	case CustomizedImageSpec_FieldPathSelectorEncryptionPassword:
  1541  		leftValue := fpv.value.(string)
  1542  		rightValue := source.GetEncryptionPassword()
  1543  		if (leftValue) == (rightValue) {
  1544  			return 0, true
  1545  		} else if (leftValue) < (rightValue) {
  1546  			return -1, true
  1547  		} else {
  1548  			return 1, true
  1549  		}
  1550  	case CustomizedImageSpec_FieldPathSelectorDiskMapping:
  1551  		leftValue := fpv.value.(string)
  1552  		rightValue := source.GetDiskMapping()
  1553  		if (leftValue) == (rightValue) {
  1554  			return 0, true
  1555  		} else if (leftValue) < (rightValue) {
  1556  			return -1, true
  1557  		} else {
  1558  			return 1, true
  1559  		}
  1560  	case CustomizedImageSpec_FieldPathSelectorNetworkAgent:
  1561  		leftValue := fpv.value.(string)
  1562  		rightValue := source.GetNetworkAgent()
  1563  		if (leftValue) == (rightValue) {
  1564  			return 0, true
  1565  		} else if (leftValue) < (rightValue) {
  1566  			return -1, true
  1567  		} else {
  1568  			return 1, true
  1569  		}
  1570  	case CustomizedImageSpec_FieldPathSelectorNtp:
  1571  		leftValue := fpv.value.(string)
  1572  		rightValue := source.GetNtp()
  1573  		if (leftValue) == (rightValue) {
  1574  			return 0, true
  1575  		} else if (leftValue) < (rightValue) {
  1576  			return -1, true
  1577  		} else {
  1578  			return 1, true
  1579  		}
  1580  	case CustomizedImageSpec_FieldPathSelectorHttpProxy:
  1581  		leftValue := fpv.value.(string)
  1582  		rightValue := source.GetHttpProxy()
  1583  		if (leftValue) == (rightValue) {
  1584  			return 0, true
  1585  		} else if (leftValue) < (rightValue) {
  1586  			return -1, true
  1587  		} else {
  1588  			return 1, true
  1589  		}
  1590  	case CustomizedImageSpec_FieldPathSelectorHttpsProxy:
  1591  		leftValue := fpv.value.(string)
  1592  		rightValue := source.GetHttpsProxy()
  1593  		if (leftValue) == (rightValue) {
  1594  			return 0, true
  1595  		} else if (leftValue) < (rightValue) {
  1596  			return -1, true
  1597  		} else {
  1598  			return 1, true
  1599  		}
  1600  	case CustomizedImageSpec_FieldPathSelectorNoProxy:
  1601  		leftValue := fpv.value.(string)
  1602  		rightValue := source.GetNoProxy()
  1603  		if (leftValue) == (rightValue) {
  1604  			return 0, true
  1605  		} else if (leftValue) < (rightValue) {
  1606  			return -1, true
  1607  		} else {
  1608  			return 1, true
  1609  		}
  1610  	default:
  1611  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Spec: %d", fpv.selector))
  1612  	}
  1613  }
  1614  
  1615  func (fpv *CustomizedImageSpec_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  1616  	return fpv.CompareWith(source.(*CustomizedImage_Spec))
  1617  }
  1618  
  1619  // CustomizedImageSpec_FieldPathArrayItemValue allows storing single item in Path-specific values for Spec according to their type
  1620  // Present only for array (repeated) types.
  1621  type CustomizedImageSpec_FieldPathArrayItemValue interface {
  1622  	gotenobject.FieldPathArrayItemValue
  1623  	CustomizedImageSpec_FieldPath
  1624  	ContainsValue(*CustomizedImage_Spec) bool
  1625  }
  1626  
  1627  // ParseCustomizedImageSpec_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
  1628  func ParseCustomizedImageSpec_FieldPathArrayItemValue(pathStr, valueStr string) (CustomizedImageSpec_FieldPathArrayItemValue, error) {
  1629  	fp, err := ParseCustomizedImageSpec_FieldPath(pathStr)
  1630  	if err != nil {
  1631  		return nil, err
  1632  	}
  1633  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
  1634  	if err != nil {
  1635  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Spec field path array item value from %s: %v", valueStr, err)
  1636  	}
  1637  	return fpaiv.(CustomizedImageSpec_FieldPathArrayItemValue), nil
  1638  }
  1639  
  1640  func MustParseCustomizedImageSpec_FieldPathArrayItemValue(pathStr, valueStr string) CustomizedImageSpec_FieldPathArrayItemValue {
  1641  	fpaiv, err := ParseCustomizedImageSpec_FieldPathArrayItemValue(pathStr, valueStr)
  1642  	if err != nil {
  1643  		panic(err)
  1644  	}
  1645  	return fpaiv
  1646  }
  1647  
  1648  type CustomizedImageSpec_FieldTerminalPathArrayItemValue struct {
  1649  	CustomizedImageSpec_FieldTerminalPath
  1650  	value interface{}
  1651  }
  1652  
  1653  var _ CustomizedImageSpec_FieldPathArrayItemValue = (*CustomizedImageSpec_FieldTerminalPathArrayItemValue)(nil)
  1654  
  1655  // GetRawValue returns stored element value for array in object CustomizedImage_Spec as interface{}
  1656  func (fpaiv *CustomizedImageSpec_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
  1657  	return fpaiv.value
  1658  }
  1659  
  1660  func (fpaiv *CustomizedImageSpec_FieldTerminalPathArrayItemValue) GetSingle(source *CustomizedImage_Spec) (interface{}, bool) {
  1661  	return nil, false
  1662  }
  1663  
  1664  func (fpaiv *CustomizedImageSpec_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1665  	return fpaiv.GetSingle(source.(*CustomizedImage_Spec))
  1666  }
  1667  
  1668  // Contains returns a boolean indicating if value that is being held is present in given 'Spec'
  1669  func (fpaiv *CustomizedImageSpec_FieldTerminalPathArrayItemValue) ContainsValue(source *CustomizedImage_Spec) bool {
  1670  	slice := fpaiv.CustomizedImageSpec_FieldTerminalPath.Get(source)
  1671  	for _, v := range slice {
  1672  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  1673  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  1674  				return true
  1675  			}
  1676  		} else if reflect.DeepEqual(v, fpaiv.value) {
  1677  			return true
  1678  		}
  1679  	}
  1680  	return false
  1681  }
  1682  
  1683  // CustomizedImageSpec_FieldPathArrayOfValues allows storing slice of values for Spec fields according to their type
  1684  type CustomizedImageSpec_FieldPathArrayOfValues interface {
  1685  	gotenobject.FieldPathArrayOfValues
  1686  	CustomizedImageSpec_FieldPath
  1687  }
  1688  
  1689  func ParseCustomizedImageSpec_FieldPathArrayOfValues(pathStr, valuesStr string) (CustomizedImageSpec_FieldPathArrayOfValues, error) {
  1690  	fp, err := ParseCustomizedImageSpec_FieldPath(pathStr)
  1691  	if err != nil {
  1692  		return nil, err
  1693  	}
  1694  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  1695  	if err != nil {
  1696  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Spec field path array of values from %s: %v", valuesStr, err)
  1697  	}
  1698  	return fpaov.(CustomizedImageSpec_FieldPathArrayOfValues), nil
  1699  }
  1700  
  1701  func MustParseCustomizedImageSpec_FieldPathArrayOfValues(pathStr, valuesStr string) CustomizedImageSpec_FieldPathArrayOfValues {
  1702  	fpaov, err := ParseCustomizedImageSpec_FieldPathArrayOfValues(pathStr, valuesStr)
  1703  	if err != nil {
  1704  		panic(err)
  1705  	}
  1706  	return fpaov
  1707  }
  1708  
  1709  type CustomizedImageSpec_FieldTerminalPathArrayOfValues struct {
  1710  	CustomizedImageSpec_FieldTerminalPath
  1711  	values interface{}
  1712  }
  1713  
  1714  var _ CustomizedImageSpec_FieldPathArrayOfValues = (*CustomizedImageSpec_FieldTerminalPathArrayOfValues)(nil)
  1715  
  1716  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  1717  	switch fpaov.selector {
  1718  	case CustomizedImageSpec_FieldPathSelectorVersion:
  1719  		for _, v := range fpaov.values.([]string) {
  1720  			values = append(values, v)
  1721  		}
  1722  	case CustomizedImageSpec_FieldPathSelectorDeviceType:
  1723  		for _, v := range fpaov.values.([]string) {
  1724  			values = append(values, v)
  1725  		}
  1726  	case CustomizedImageSpec_FieldPathSelectorOsVersion:
  1727  		for _, v := range fpaov.values.([]*os_version.Reference) {
  1728  			values = append(values, v)
  1729  		}
  1730  	case CustomizedImageSpec_FieldPathSelectorProvisioningPolicy:
  1731  		for _, v := range fpaov.values.([]string) {
  1732  			values = append(values, v)
  1733  		}
  1734  	case CustomizedImageSpec_FieldPathSelectorServiceAccount:
  1735  		for _, v := range fpaov.values.([]*iam_service_account.Reference) {
  1736  			values = append(values, v)
  1737  		}
  1738  	case CustomizedImageSpec_FieldPathSelectorServiceAccountKey:
  1739  		for _, v := range fpaov.values.([]*iam_service_account_key.Reference) {
  1740  			values = append(values, v)
  1741  		}
  1742  	case CustomizedImageSpec_FieldPathSelectorPassword:
  1743  		for _, v := range fpaov.values.([]string) {
  1744  			values = append(values, v)
  1745  		}
  1746  	case CustomizedImageSpec_FieldPathSelectorEncryption:
  1747  		for _, v := range fpaov.values.([]bool) {
  1748  			values = append(values, v)
  1749  		}
  1750  	case CustomizedImageSpec_FieldPathSelectorEncryptionPassword:
  1751  		for _, v := range fpaov.values.([]string) {
  1752  			values = append(values, v)
  1753  		}
  1754  	case CustomizedImageSpec_FieldPathSelectorDiskMapping:
  1755  		for _, v := range fpaov.values.([]string) {
  1756  			values = append(values, v)
  1757  		}
  1758  	case CustomizedImageSpec_FieldPathSelectorNetworkAgent:
  1759  		for _, v := range fpaov.values.([]string) {
  1760  			values = append(values, v)
  1761  		}
  1762  	case CustomizedImageSpec_FieldPathSelectorNtp:
  1763  		for _, v := range fpaov.values.([]string) {
  1764  			values = append(values, v)
  1765  		}
  1766  	case CustomizedImageSpec_FieldPathSelectorHttpProxy:
  1767  		for _, v := range fpaov.values.([]string) {
  1768  			values = append(values, v)
  1769  		}
  1770  	case CustomizedImageSpec_FieldPathSelectorHttpsProxy:
  1771  		for _, v := range fpaov.values.([]string) {
  1772  			values = append(values, v)
  1773  		}
  1774  	case CustomizedImageSpec_FieldPathSelectorNoProxy:
  1775  		for _, v := range fpaov.values.([]string) {
  1776  			values = append(values, v)
  1777  		}
  1778  	}
  1779  	return
  1780  }
  1781  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsVersionArrayOfValues() ([]string, bool) {
  1782  	res, ok := fpaov.values.([]string)
  1783  	return res, ok
  1784  }
  1785  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsDeviceTypeArrayOfValues() ([]string, bool) {
  1786  	res, ok := fpaov.values.([]string)
  1787  	return res, ok
  1788  }
  1789  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsOsVersionArrayOfValues() ([]*os_version.Reference, bool) {
  1790  	res, ok := fpaov.values.([]*os_version.Reference)
  1791  	return res, ok
  1792  }
  1793  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsProvisioningPolicyArrayOfValues() ([]string, bool) {
  1794  	res, ok := fpaov.values.([]string)
  1795  	return res, ok
  1796  }
  1797  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsServiceAccountArrayOfValues() ([]*iam_service_account.Reference, bool) {
  1798  	res, ok := fpaov.values.([]*iam_service_account.Reference)
  1799  	return res, ok
  1800  }
  1801  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsServiceAccountKeyArrayOfValues() ([]*iam_service_account_key.Reference, bool) {
  1802  	res, ok := fpaov.values.([]*iam_service_account_key.Reference)
  1803  	return res, ok
  1804  }
  1805  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsPasswordArrayOfValues() ([]string, bool) {
  1806  	res, ok := fpaov.values.([]string)
  1807  	return res, ok
  1808  }
  1809  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsEncryptionArrayOfValues() ([]bool, bool) {
  1810  	res, ok := fpaov.values.([]bool)
  1811  	return res, ok
  1812  }
  1813  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsEncryptionPasswordArrayOfValues() ([]string, bool) {
  1814  	res, ok := fpaov.values.([]string)
  1815  	return res, ok
  1816  }
  1817  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsDiskMappingArrayOfValues() ([]string, bool) {
  1818  	res, ok := fpaov.values.([]string)
  1819  	return res, ok
  1820  }
  1821  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsNetworkAgentArrayOfValues() ([]string, bool) {
  1822  	res, ok := fpaov.values.([]string)
  1823  	return res, ok
  1824  }
  1825  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsNtpArrayOfValues() ([]string, bool) {
  1826  	res, ok := fpaov.values.([]string)
  1827  	return res, ok
  1828  }
  1829  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsHttpProxyArrayOfValues() ([]string, bool) {
  1830  	res, ok := fpaov.values.([]string)
  1831  	return res, ok
  1832  }
  1833  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsHttpsProxyArrayOfValues() ([]string, bool) {
  1834  	res, ok := fpaov.values.([]string)
  1835  	return res, ok
  1836  }
  1837  func (fpaov *CustomizedImageSpec_FieldTerminalPathArrayOfValues) AsNoProxyArrayOfValues() ([]string, bool) {
  1838  	res, ok := fpaov.values.([]string)
  1839  	return res, ok
  1840  }
  1841  
  1842  // FieldPath provides implementation to handle
  1843  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
  1844  type CustomizedImageStatus_FieldPath interface {
  1845  	gotenobject.FieldPath
  1846  	Selector() CustomizedImageStatus_FieldPathSelector
  1847  	Get(source *CustomizedImage_Status) []interface{}
  1848  	GetSingle(source *CustomizedImage_Status) (interface{}, bool)
  1849  	ClearValue(item *CustomizedImage_Status)
  1850  
  1851  	// Those methods build corresponding CustomizedImageStatus_FieldPathValue
  1852  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
  1853  	WithIValue(value interface{}) CustomizedImageStatus_FieldPathValue
  1854  	WithIArrayOfValues(values interface{}) CustomizedImageStatus_FieldPathArrayOfValues
  1855  	WithIArrayItemValue(value interface{}) CustomizedImageStatus_FieldPathArrayItemValue
  1856  }
  1857  
  1858  type CustomizedImageStatus_FieldPathSelector int32
  1859  
  1860  const (
  1861  	CustomizedImageStatus_FieldPathSelectorState  CustomizedImageStatus_FieldPathSelector = 0
  1862  	CustomizedImageStatus_FieldPathSelectorLog    CustomizedImageStatus_FieldPathSelector = 1
  1863  	CustomizedImageStatus_FieldPathSelectorFile   CustomizedImageStatus_FieldPathSelector = 2
  1864  	CustomizedImageStatus_FieldPathSelectorMd5Sum CustomizedImageStatus_FieldPathSelector = 3
  1865  )
  1866  
  1867  func (s CustomizedImageStatus_FieldPathSelector) String() string {
  1868  	switch s {
  1869  	case CustomizedImageStatus_FieldPathSelectorState:
  1870  		return "state"
  1871  	case CustomizedImageStatus_FieldPathSelectorLog:
  1872  		return "log"
  1873  	case CustomizedImageStatus_FieldPathSelectorFile:
  1874  		return "file"
  1875  	case CustomizedImageStatus_FieldPathSelectorMd5Sum:
  1876  		return "md5sum"
  1877  	default:
  1878  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Status: %d", s))
  1879  	}
  1880  }
  1881  
  1882  func BuildCustomizedImageStatus_FieldPath(fp gotenobject.RawFieldPath) (CustomizedImageStatus_FieldPath, error) {
  1883  	if len(fp) == 0 {
  1884  		return nil, status.Error(codes.InvalidArgument, "empty field path for object CustomizedImage_Status")
  1885  	}
  1886  	if len(fp) == 1 {
  1887  		switch fp[0] {
  1888  		case "state":
  1889  			return &CustomizedImageStatus_FieldTerminalPath{selector: CustomizedImageStatus_FieldPathSelectorState}, nil
  1890  		case "log":
  1891  			return &CustomizedImageStatus_FieldTerminalPath{selector: CustomizedImageStatus_FieldPathSelectorLog}, nil
  1892  		case "file":
  1893  			return &CustomizedImageStatus_FieldTerminalPath{selector: CustomizedImageStatus_FieldPathSelectorFile}, nil
  1894  		case "md5sum", "md_5_sum", "md5Sum", "md-5-sum":
  1895  			return &CustomizedImageStatus_FieldTerminalPath{selector: CustomizedImageStatus_FieldPathSelectorMd5Sum}, nil
  1896  		}
  1897  	}
  1898  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object CustomizedImage_Status", fp)
  1899  }
  1900  
  1901  func ParseCustomizedImageStatus_FieldPath(rawField string) (CustomizedImageStatus_FieldPath, error) {
  1902  	fp, err := gotenobject.ParseRawFieldPath(rawField)
  1903  	if err != nil {
  1904  		return nil, err
  1905  	}
  1906  	return BuildCustomizedImageStatus_FieldPath(fp)
  1907  }
  1908  
  1909  func MustParseCustomizedImageStatus_FieldPath(rawField string) CustomizedImageStatus_FieldPath {
  1910  	fp, err := ParseCustomizedImageStatus_FieldPath(rawField)
  1911  	if err != nil {
  1912  		panic(err)
  1913  	}
  1914  	return fp
  1915  }
  1916  
  1917  type CustomizedImageStatus_FieldTerminalPath struct {
  1918  	selector CustomizedImageStatus_FieldPathSelector
  1919  }
  1920  
  1921  var _ CustomizedImageStatus_FieldPath = (*CustomizedImageStatus_FieldTerminalPath)(nil)
  1922  
  1923  func (fp *CustomizedImageStatus_FieldTerminalPath) Selector() CustomizedImageStatus_FieldPathSelector {
  1924  	return fp.selector
  1925  }
  1926  
  1927  // String returns path representation in proto convention
  1928  func (fp *CustomizedImageStatus_FieldTerminalPath) String() string {
  1929  	return fp.selector.String()
  1930  }
  1931  
  1932  // JSONString returns path representation is JSON convention
  1933  func (fp *CustomizedImageStatus_FieldTerminalPath) JSONString() string {
  1934  	return strcase.ToLowerCamel(fp.String())
  1935  }
  1936  
  1937  // Get returns all values pointed by specific field from source CustomizedImage_Status
  1938  func (fp *CustomizedImageStatus_FieldTerminalPath) Get(source *CustomizedImage_Status) (values []interface{}) {
  1939  	if source != nil {
  1940  		switch fp.selector {
  1941  		case CustomizedImageStatus_FieldPathSelectorState:
  1942  			values = append(values, source.State)
  1943  		case CustomizedImageStatus_FieldPathSelectorLog:
  1944  			values = append(values, source.Log)
  1945  		case CustomizedImageStatus_FieldPathSelectorFile:
  1946  			values = append(values, source.File)
  1947  		case CustomizedImageStatus_FieldPathSelectorMd5Sum:
  1948  			values = append(values, source.Md5Sum)
  1949  		default:
  1950  			panic(fmt.Sprintf("Invalid selector for CustomizedImage_Status: %d", fp.selector))
  1951  		}
  1952  	}
  1953  	return
  1954  }
  1955  
  1956  func (fp *CustomizedImageStatus_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
  1957  	return fp.Get(source.(*CustomizedImage_Status))
  1958  }
  1959  
  1960  // GetSingle returns value pointed by specific field of from source CustomizedImage_Status
  1961  func (fp *CustomizedImageStatus_FieldTerminalPath) GetSingle(source *CustomizedImage_Status) (interface{}, bool) {
  1962  	switch fp.selector {
  1963  	case CustomizedImageStatus_FieldPathSelectorState:
  1964  		return source.GetState(), source != nil
  1965  	case CustomizedImageStatus_FieldPathSelectorLog:
  1966  		return source.GetLog(), source != nil
  1967  	case CustomizedImageStatus_FieldPathSelectorFile:
  1968  		return source.GetFile(), source != nil
  1969  	case CustomizedImageStatus_FieldPathSelectorMd5Sum:
  1970  		return source.GetMd5Sum(), source != nil
  1971  	default:
  1972  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Status: %d", fp.selector))
  1973  	}
  1974  }
  1975  
  1976  func (fp *CustomizedImageStatus_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1977  	return fp.GetSingle(source.(*CustomizedImage_Status))
  1978  }
  1979  
  1980  // GetDefault returns a default value of the field type
  1981  func (fp *CustomizedImageStatus_FieldTerminalPath) GetDefault() interface{} {
  1982  	switch fp.selector {
  1983  	case CustomizedImageStatus_FieldPathSelectorState:
  1984  		return CustomizedImage_Status_STATE_UNSPECIFIED
  1985  	case CustomizedImageStatus_FieldPathSelectorLog:
  1986  		return ""
  1987  	case CustomizedImageStatus_FieldPathSelectorFile:
  1988  		return ""
  1989  	case CustomizedImageStatus_FieldPathSelectorMd5Sum:
  1990  		return ""
  1991  	default:
  1992  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Status: %d", fp.selector))
  1993  	}
  1994  }
  1995  
  1996  func (fp *CustomizedImageStatus_FieldTerminalPath) ClearValue(item *CustomizedImage_Status) {
  1997  	if item != nil {
  1998  		switch fp.selector {
  1999  		case CustomizedImageStatus_FieldPathSelectorState:
  2000  			item.State = CustomizedImage_Status_STATE_UNSPECIFIED
  2001  		case CustomizedImageStatus_FieldPathSelectorLog:
  2002  			item.Log = ""
  2003  		case CustomizedImageStatus_FieldPathSelectorFile:
  2004  			item.File = ""
  2005  		case CustomizedImageStatus_FieldPathSelectorMd5Sum:
  2006  			item.Md5Sum = ""
  2007  		default:
  2008  			panic(fmt.Sprintf("Invalid selector for CustomizedImage_Status: %d", fp.selector))
  2009  		}
  2010  	}
  2011  }
  2012  
  2013  func (fp *CustomizedImageStatus_FieldTerminalPath) ClearValueRaw(item proto.Message) {
  2014  	fp.ClearValue(item.(*CustomizedImage_Status))
  2015  }
  2016  
  2017  // IsLeaf - whether field path is holds simple value
  2018  func (fp *CustomizedImageStatus_FieldTerminalPath) IsLeaf() bool {
  2019  	return fp.selector == CustomizedImageStatus_FieldPathSelectorState ||
  2020  		fp.selector == CustomizedImageStatus_FieldPathSelectorLog ||
  2021  		fp.selector == CustomizedImageStatus_FieldPathSelectorFile ||
  2022  		fp.selector == CustomizedImageStatus_FieldPathSelectorMd5Sum
  2023  }
  2024  
  2025  func (fp *CustomizedImageStatus_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  2026  	return []gotenobject.FieldPath{fp}
  2027  }
  2028  
  2029  func (fp *CustomizedImageStatus_FieldTerminalPath) WithIValue(value interface{}) CustomizedImageStatus_FieldPathValue {
  2030  	switch fp.selector {
  2031  	case CustomizedImageStatus_FieldPathSelectorState:
  2032  		return &CustomizedImageStatus_FieldTerminalPathValue{CustomizedImageStatus_FieldTerminalPath: *fp, value: value.(CustomizedImage_Status_State)}
  2033  	case CustomizedImageStatus_FieldPathSelectorLog:
  2034  		return &CustomizedImageStatus_FieldTerminalPathValue{CustomizedImageStatus_FieldTerminalPath: *fp, value: value.(string)}
  2035  	case CustomizedImageStatus_FieldPathSelectorFile:
  2036  		return &CustomizedImageStatus_FieldTerminalPathValue{CustomizedImageStatus_FieldTerminalPath: *fp, value: value.(string)}
  2037  	case CustomizedImageStatus_FieldPathSelectorMd5Sum:
  2038  		return &CustomizedImageStatus_FieldTerminalPathValue{CustomizedImageStatus_FieldTerminalPath: *fp, value: value.(string)}
  2039  	default:
  2040  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Status: %d", fp.selector))
  2041  	}
  2042  }
  2043  
  2044  func (fp *CustomizedImageStatus_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  2045  	return fp.WithIValue(value)
  2046  }
  2047  
  2048  func (fp *CustomizedImageStatus_FieldTerminalPath) WithIArrayOfValues(values interface{}) CustomizedImageStatus_FieldPathArrayOfValues {
  2049  	fpaov := &CustomizedImageStatus_FieldTerminalPathArrayOfValues{CustomizedImageStatus_FieldTerminalPath: *fp}
  2050  	switch fp.selector {
  2051  	case CustomizedImageStatus_FieldPathSelectorState:
  2052  		return &CustomizedImageStatus_FieldTerminalPathArrayOfValues{CustomizedImageStatus_FieldTerminalPath: *fp, values: values.([]CustomizedImage_Status_State)}
  2053  	case CustomizedImageStatus_FieldPathSelectorLog:
  2054  		return &CustomizedImageStatus_FieldTerminalPathArrayOfValues{CustomizedImageStatus_FieldTerminalPath: *fp, values: values.([]string)}
  2055  	case CustomizedImageStatus_FieldPathSelectorFile:
  2056  		return &CustomizedImageStatus_FieldTerminalPathArrayOfValues{CustomizedImageStatus_FieldTerminalPath: *fp, values: values.([]string)}
  2057  	case CustomizedImageStatus_FieldPathSelectorMd5Sum:
  2058  		return &CustomizedImageStatus_FieldTerminalPathArrayOfValues{CustomizedImageStatus_FieldTerminalPath: *fp, values: values.([]string)}
  2059  	default:
  2060  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Status: %d", fp.selector))
  2061  	}
  2062  	return fpaov
  2063  }
  2064  
  2065  func (fp *CustomizedImageStatus_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  2066  	return fp.WithIArrayOfValues(values)
  2067  }
  2068  
  2069  func (fp *CustomizedImageStatus_FieldTerminalPath) WithIArrayItemValue(value interface{}) CustomizedImageStatus_FieldPathArrayItemValue {
  2070  	switch fp.selector {
  2071  	default:
  2072  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Status: %d", fp.selector))
  2073  	}
  2074  }
  2075  
  2076  func (fp *CustomizedImageStatus_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  2077  	return fp.WithIArrayItemValue(value)
  2078  }
  2079  
  2080  // CustomizedImageStatus_FieldPathValue allows storing values for Status fields according to their type
  2081  type CustomizedImageStatus_FieldPathValue interface {
  2082  	CustomizedImageStatus_FieldPath
  2083  	gotenobject.FieldPathValue
  2084  	SetTo(target **CustomizedImage_Status)
  2085  	CompareWith(*CustomizedImage_Status) (cmp int, comparable bool)
  2086  }
  2087  
  2088  func ParseCustomizedImageStatus_FieldPathValue(pathStr, valueStr string) (CustomizedImageStatus_FieldPathValue, error) {
  2089  	fp, err := ParseCustomizedImageStatus_FieldPath(pathStr)
  2090  	if err != nil {
  2091  		return nil, err
  2092  	}
  2093  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
  2094  	if err != nil {
  2095  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Status field path value from %s: %v", valueStr, err)
  2096  	}
  2097  	return fpv.(CustomizedImageStatus_FieldPathValue), nil
  2098  }
  2099  
  2100  func MustParseCustomizedImageStatus_FieldPathValue(pathStr, valueStr string) CustomizedImageStatus_FieldPathValue {
  2101  	fpv, err := ParseCustomizedImageStatus_FieldPathValue(pathStr, valueStr)
  2102  	if err != nil {
  2103  		panic(err)
  2104  	}
  2105  	return fpv
  2106  }
  2107  
  2108  type CustomizedImageStatus_FieldTerminalPathValue struct {
  2109  	CustomizedImageStatus_FieldTerminalPath
  2110  	value interface{}
  2111  }
  2112  
  2113  var _ CustomizedImageStatus_FieldPathValue = (*CustomizedImageStatus_FieldTerminalPathValue)(nil)
  2114  
  2115  // GetRawValue returns raw value stored under selected path for 'Status' as interface{}
  2116  func (fpv *CustomizedImageStatus_FieldTerminalPathValue) GetRawValue() interface{} {
  2117  	return fpv.value
  2118  }
  2119  func (fpv *CustomizedImageStatus_FieldTerminalPathValue) AsStateValue() (CustomizedImage_Status_State, bool) {
  2120  	res, ok := fpv.value.(CustomizedImage_Status_State)
  2121  	return res, ok
  2122  }
  2123  func (fpv *CustomizedImageStatus_FieldTerminalPathValue) AsLogValue() (string, bool) {
  2124  	res, ok := fpv.value.(string)
  2125  	return res, ok
  2126  }
  2127  func (fpv *CustomizedImageStatus_FieldTerminalPathValue) AsFileValue() (string, bool) {
  2128  	res, ok := fpv.value.(string)
  2129  	return res, ok
  2130  }
  2131  func (fpv *CustomizedImageStatus_FieldTerminalPathValue) AsMd5SumValue() (string, bool) {
  2132  	res, ok := fpv.value.(string)
  2133  	return res, ok
  2134  }
  2135  
  2136  // SetTo stores value for selected field for object Status
  2137  func (fpv *CustomizedImageStatus_FieldTerminalPathValue) SetTo(target **CustomizedImage_Status) {
  2138  	if *target == nil {
  2139  		*target = new(CustomizedImage_Status)
  2140  	}
  2141  	switch fpv.selector {
  2142  	case CustomizedImageStatus_FieldPathSelectorState:
  2143  		(*target).State = fpv.value.(CustomizedImage_Status_State)
  2144  	case CustomizedImageStatus_FieldPathSelectorLog:
  2145  		(*target).Log = fpv.value.(string)
  2146  	case CustomizedImageStatus_FieldPathSelectorFile:
  2147  		(*target).File = fpv.value.(string)
  2148  	case CustomizedImageStatus_FieldPathSelectorMd5Sum:
  2149  		(*target).Md5Sum = fpv.value.(string)
  2150  	default:
  2151  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Status: %d", fpv.selector))
  2152  	}
  2153  }
  2154  
  2155  func (fpv *CustomizedImageStatus_FieldTerminalPathValue) SetToRaw(target proto.Message) {
  2156  	typedObject := target.(*CustomizedImage_Status)
  2157  	fpv.SetTo(&typedObject)
  2158  }
  2159  
  2160  // CompareWith compares value in the 'CustomizedImageStatus_FieldTerminalPathValue' with the value under path in 'CustomizedImage_Status'.
  2161  func (fpv *CustomizedImageStatus_FieldTerminalPathValue) CompareWith(source *CustomizedImage_Status) (int, bool) {
  2162  	switch fpv.selector {
  2163  	case CustomizedImageStatus_FieldPathSelectorState:
  2164  		leftValue := fpv.value.(CustomizedImage_Status_State)
  2165  		rightValue := source.GetState()
  2166  		if (leftValue) == (rightValue) {
  2167  			return 0, true
  2168  		} else if (leftValue) < (rightValue) {
  2169  			return -1, true
  2170  		} else {
  2171  			return 1, true
  2172  		}
  2173  	case CustomizedImageStatus_FieldPathSelectorLog:
  2174  		leftValue := fpv.value.(string)
  2175  		rightValue := source.GetLog()
  2176  		if (leftValue) == (rightValue) {
  2177  			return 0, true
  2178  		} else if (leftValue) < (rightValue) {
  2179  			return -1, true
  2180  		} else {
  2181  			return 1, true
  2182  		}
  2183  	case CustomizedImageStatus_FieldPathSelectorFile:
  2184  		leftValue := fpv.value.(string)
  2185  		rightValue := source.GetFile()
  2186  		if (leftValue) == (rightValue) {
  2187  			return 0, true
  2188  		} else if (leftValue) < (rightValue) {
  2189  			return -1, true
  2190  		} else {
  2191  			return 1, true
  2192  		}
  2193  	case CustomizedImageStatus_FieldPathSelectorMd5Sum:
  2194  		leftValue := fpv.value.(string)
  2195  		rightValue := source.GetMd5Sum()
  2196  		if (leftValue) == (rightValue) {
  2197  			return 0, true
  2198  		} else if (leftValue) < (rightValue) {
  2199  			return -1, true
  2200  		} else {
  2201  			return 1, true
  2202  		}
  2203  	default:
  2204  		panic(fmt.Sprintf("Invalid selector for CustomizedImage_Status: %d", fpv.selector))
  2205  	}
  2206  }
  2207  
  2208  func (fpv *CustomizedImageStatus_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  2209  	return fpv.CompareWith(source.(*CustomizedImage_Status))
  2210  }
  2211  
  2212  // CustomizedImageStatus_FieldPathArrayItemValue allows storing single item in Path-specific values for Status according to their type
  2213  // Present only for array (repeated) types.
  2214  type CustomizedImageStatus_FieldPathArrayItemValue interface {
  2215  	gotenobject.FieldPathArrayItemValue
  2216  	CustomizedImageStatus_FieldPath
  2217  	ContainsValue(*CustomizedImage_Status) bool
  2218  }
  2219  
  2220  // ParseCustomizedImageStatus_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
  2221  func ParseCustomizedImageStatus_FieldPathArrayItemValue(pathStr, valueStr string) (CustomizedImageStatus_FieldPathArrayItemValue, error) {
  2222  	fp, err := ParseCustomizedImageStatus_FieldPath(pathStr)
  2223  	if err != nil {
  2224  		return nil, err
  2225  	}
  2226  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
  2227  	if err != nil {
  2228  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Status field path array item value from %s: %v", valueStr, err)
  2229  	}
  2230  	return fpaiv.(CustomizedImageStatus_FieldPathArrayItemValue), nil
  2231  }
  2232  
  2233  func MustParseCustomizedImageStatus_FieldPathArrayItemValue(pathStr, valueStr string) CustomizedImageStatus_FieldPathArrayItemValue {
  2234  	fpaiv, err := ParseCustomizedImageStatus_FieldPathArrayItemValue(pathStr, valueStr)
  2235  	if err != nil {
  2236  		panic(err)
  2237  	}
  2238  	return fpaiv
  2239  }
  2240  
  2241  type CustomizedImageStatus_FieldTerminalPathArrayItemValue struct {
  2242  	CustomizedImageStatus_FieldTerminalPath
  2243  	value interface{}
  2244  }
  2245  
  2246  var _ CustomizedImageStatus_FieldPathArrayItemValue = (*CustomizedImageStatus_FieldTerminalPathArrayItemValue)(nil)
  2247  
  2248  // GetRawValue returns stored element value for array in object CustomizedImage_Status as interface{}
  2249  func (fpaiv *CustomizedImageStatus_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
  2250  	return fpaiv.value
  2251  }
  2252  
  2253  func (fpaiv *CustomizedImageStatus_FieldTerminalPathArrayItemValue) GetSingle(source *CustomizedImage_Status) (interface{}, bool) {
  2254  	return nil, false
  2255  }
  2256  
  2257  func (fpaiv *CustomizedImageStatus_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
  2258  	return fpaiv.GetSingle(source.(*CustomizedImage_Status))
  2259  }
  2260  
  2261  // Contains returns a boolean indicating if value that is being held is present in given 'Status'
  2262  func (fpaiv *CustomizedImageStatus_FieldTerminalPathArrayItemValue) ContainsValue(source *CustomizedImage_Status) bool {
  2263  	slice := fpaiv.CustomizedImageStatus_FieldTerminalPath.Get(source)
  2264  	for _, v := range slice {
  2265  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  2266  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  2267  				return true
  2268  			}
  2269  		} else if reflect.DeepEqual(v, fpaiv.value) {
  2270  			return true
  2271  		}
  2272  	}
  2273  	return false
  2274  }
  2275  
  2276  // CustomizedImageStatus_FieldPathArrayOfValues allows storing slice of values for Status fields according to their type
  2277  type CustomizedImageStatus_FieldPathArrayOfValues interface {
  2278  	gotenobject.FieldPathArrayOfValues
  2279  	CustomizedImageStatus_FieldPath
  2280  }
  2281  
  2282  func ParseCustomizedImageStatus_FieldPathArrayOfValues(pathStr, valuesStr string) (CustomizedImageStatus_FieldPathArrayOfValues, error) {
  2283  	fp, err := ParseCustomizedImageStatus_FieldPath(pathStr)
  2284  	if err != nil {
  2285  		return nil, err
  2286  	}
  2287  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  2288  	if err != nil {
  2289  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Status field path array of values from %s: %v", valuesStr, err)
  2290  	}
  2291  	return fpaov.(CustomizedImageStatus_FieldPathArrayOfValues), nil
  2292  }
  2293  
  2294  func MustParseCustomizedImageStatus_FieldPathArrayOfValues(pathStr, valuesStr string) CustomizedImageStatus_FieldPathArrayOfValues {
  2295  	fpaov, err := ParseCustomizedImageStatus_FieldPathArrayOfValues(pathStr, valuesStr)
  2296  	if err != nil {
  2297  		panic(err)
  2298  	}
  2299  	return fpaov
  2300  }
  2301  
  2302  type CustomizedImageStatus_FieldTerminalPathArrayOfValues struct {
  2303  	CustomizedImageStatus_FieldTerminalPath
  2304  	values interface{}
  2305  }
  2306  
  2307  var _ CustomizedImageStatus_FieldPathArrayOfValues = (*CustomizedImageStatus_FieldTerminalPathArrayOfValues)(nil)
  2308  
  2309  func (fpaov *CustomizedImageStatus_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  2310  	switch fpaov.selector {
  2311  	case CustomizedImageStatus_FieldPathSelectorState:
  2312  		for _, v := range fpaov.values.([]CustomizedImage_Status_State) {
  2313  			values = append(values, v)
  2314  		}
  2315  	case CustomizedImageStatus_FieldPathSelectorLog:
  2316  		for _, v := range fpaov.values.([]string) {
  2317  			values = append(values, v)
  2318  		}
  2319  	case CustomizedImageStatus_FieldPathSelectorFile:
  2320  		for _, v := range fpaov.values.([]string) {
  2321  			values = append(values, v)
  2322  		}
  2323  	case CustomizedImageStatus_FieldPathSelectorMd5Sum:
  2324  		for _, v := range fpaov.values.([]string) {
  2325  			values = append(values, v)
  2326  		}
  2327  	}
  2328  	return
  2329  }
  2330  func (fpaov *CustomizedImageStatus_FieldTerminalPathArrayOfValues) AsStateArrayOfValues() ([]CustomizedImage_Status_State, bool) {
  2331  	res, ok := fpaov.values.([]CustomizedImage_Status_State)
  2332  	return res, ok
  2333  }
  2334  func (fpaov *CustomizedImageStatus_FieldTerminalPathArrayOfValues) AsLogArrayOfValues() ([]string, bool) {
  2335  	res, ok := fpaov.values.([]string)
  2336  	return res, ok
  2337  }
  2338  func (fpaov *CustomizedImageStatus_FieldTerminalPathArrayOfValues) AsFileArrayOfValues() ([]string, bool) {
  2339  	res, ok := fpaov.values.([]string)
  2340  	return res, ok
  2341  }
  2342  func (fpaov *CustomizedImageStatus_FieldTerminalPathArrayOfValues) AsMd5SumArrayOfValues() ([]string, bool) {
  2343  	res, ok := fpaov.values.([]string)
  2344  	return res, ok
  2345  }