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

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/devices/proto/v1/os_image_profile.proto
     3  // DO NOT EDIT!!!
     4  
     5  package os_image_profile
     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  	device_type "github.com/cloudwan/edgelq-sdk/devices/resources/v1/device_type"
    27  	project "github.com/cloudwan/edgelq-sdk/devices/resources/v1/project"
    28  	meta "github.com/cloudwan/goten-sdk/types/meta"
    29  )
    30  
    31  // ensure the imports are used
    32  var (
    33  	_ = new(json.Marshaler)
    34  	_ = new(fmt.Stringer)
    35  	_ = reflect.DeepEqual
    36  	_ = strings.Builder{}
    37  	_ = time.Second
    38  
    39  	_ = strcase.ToLowerCamel
    40  	_ = codes.NotFound
    41  	_ = status.Status{}
    42  	_ = protojson.UnmarshalOptions{}
    43  	_ = new(proto.Message)
    44  	_ = protoregistry.GlobalTypes
    45  
    46  	_ = new(gotenobject.FieldPath)
    47  )
    48  
    49  // make sure we're using proto imports
    50  var (
    51  	_ = &device_type.DeviceType{}
    52  	_ = &project.Project{}
    53  	_ = &meta.Meta{}
    54  )
    55  
    56  // FieldPath provides implementation to handle
    57  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
    58  type OsImageProfile_FieldPath interface {
    59  	gotenobject.FieldPath
    60  	Selector() OsImageProfile_FieldPathSelector
    61  	Get(source *OsImageProfile) []interface{}
    62  	GetSingle(source *OsImageProfile) (interface{}, bool)
    63  	ClearValue(item *OsImageProfile)
    64  
    65  	// Those methods build corresponding OsImageProfile_FieldPathValue
    66  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
    67  	WithIValue(value interface{}) OsImageProfile_FieldPathValue
    68  	WithIArrayOfValues(values interface{}) OsImageProfile_FieldPathArrayOfValues
    69  	WithIArrayItemValue(value interface{}) OsImageProfile_FieldPathArrayItemValue
    70  }
    71  
    72  type OsImageProfile_FieldPathSelector int32
    73  
    74  const (
    75  	OsImageProfile_FieldPathSelectorName                 OsImageProfile_FieldPathSelector = 0
    76  	OsImageProfile_FieldPathSelectorMetadata             OsImageProfile_FieldPathSelector = 1
    77  	OsImageProfile_FieldPathSelectorDisplayName          OsImageProfile_FieldPathSelector = 2
    78  	OsImageProfile_FieldPathSelectorDescription          OsImageProfile_FieldPathSelector = 3
    79  	OsImageProfile_FieldPathSelectorDeviceType           OsImageProfile_FieldPathSelector = 4
    80  	OsImageProfile_FieldPathSelectorInstallAiAccelerator OsImageProfile_FieldPathSelector = 5
    81  	OsImageProfile_FieldPathSelectorEncryption           OsImageProfile_FieldPathSelector = 6
    82  	OsImageProfile_FieldPathSelectorDiskMapping          OsImageProfile_FieldPathSelector = 7
    83  	OsImageProfile_FieldPathSelectorNetworkAgent         OsImageProfile_FieldPathSelector = 8
    84  	OsImageProfile_FieldPathSelectorNtp                  OsImageProfile_FieldPathSelector = 9
    85  	OsImageProfile_FieldPathSelectorHttpProxy            OsImageProfile_FieldPathSelector = 10
    86  	OsImageProfile_FieldPathSelectorHttpsProxy           OsImageProfile_FieldPathSelector = 11
    87  	OsImageProfile_FieldPathSelectorNoProxy              OsImageProfile_FieldPathSelector = 12
    88  )
    89  
    90  func (s OsImageProfile_FieldPathSelector) String() string {
    91  	switch s {
    92  	case OsImageProfile_FieldPathSelectorName:
    93  		return "name"
    94  	case OsImageProfile_FieldPathSelectorMetadata:
    95  		return "metadata"
    96  	case OsImageProfile_FieldPathSelectorDisplayName:
    97  		return "display_name"
    98  	case OsImageProfile_FieldPathSelectorDescription:
    99  		return "description"
   100  	case OsImageProfile_FieldPathSelectorDeviceType:
   101  		return "device_type"
   102  	case OsImageProfile_FieldPathSelectorInstallAiAccelerator:
   103  		return "install_ai_accelerator"
   104  	case OsImageProfile_FieldPathSelectorEncryption:
   105  		return "encryption"
   106  	case OsImageProfile_FieldPathSelectorDiskMapping:
   107  		return "disk_mapping"
   108  	case OsImageProfile_FieldPathSelectorNetworkAgent:
   109  		return "network_agent"
   110  	case OsImageProfile_FieldPathSelectorNtp:
   111  		return "ntp"
   112  	case OsImageProfile_FieldPathSelectorHttpProxy:
   113  		return "http_proxy"
   114  	case OsImageProfile_FieldPathSelectorHttpsProxy:
   115  		return "https_proxy"
   116  	case OsImageProfile_FieldPathSelectorNoProxy:
   117  		return "no_proxy"
   118  	default:
   119  		panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", s))
   120  	}
   121  }
   122  
   123  func BuildOsImageProfile_FieldPath(fp gotenobject.RawFieldPath) (OsImageProfile_FieldPath, error) {
   124  	if len(fp) == 0 {
   125  		return nil, status.Error(codes.InvalidArgument, "empty field path for object OsImageProfile")
   126  	}
   127  	if len(fp) == 1 {
   128  		switch fp[0] {
   129  		case "name":
   130  			return &OsImageProfile_FieldTerminalPath{selector: OsImageProfile_FieldPathSelectorName}, nil
   131  		case "metadata":
   132  			return &OsImageProfile_FieldTerminalPath{selector: OsImageProfile_FieldPathSelectorMetadata}, nil
   133  		case "display_name", "displayName", "display-name":
   134  			return &OsImageProfile_FieldTerminalPath{selector: OsImageProfile_FieldPathSelectorDisplayName}, nil
   135  		case "description":
   136  			return &OsImageProfile_FieldTerminalPath{selector: OsImageProfile_FieldPathSelectorDescription}, nil
   137  		case "device_type", "deviceType", "device-type":
   138  			return &OsImageProfile_FieldTerminalPath{selector: OsImageProfile_FieldPathSelectorDeviceType}, nil
   139  		case "install_ai_accelerator", "installAiAccelerator", "install-ai-accelerator":
   140  			return &OsImageProfile_FieldTerminalPath{selector: OsImageProfile_FieldPathSelectorInstallAiAccelerator}, nil
   141  		case "encryption":
   142  			return &OsImageProfile_FieldTerminalPath{selector: OsImageProfile_FieldPathSelectorEncryption}, nil
   143  		case "disk_mapping", "diskMapping", "disk-mapping":
   144  			return &OsImageProfile_FieldTerminalPath{selector: OsImageProfile_FieldPathSelectorDiskMapping}, nil
   145  		case "network_agent", "networkAgent", "network-agent":
   146  			return &OsImageProfile_FieldTerminalPath{selector: OsImageProfile_FieldPathSelectorNetworkAgent}, nil
   147  		case "ntp":
   148  			return &OsImageProfile_FieldTerminalPath{selector: OsImageProfile_FieldPathSelectorNtp}, nil
   149  		case "http_proxy", "httpProxy", "http-proxy":
   150  			return &OsImageProfile_FieldTerminalPath{selector: OsImageProfile_FieldPathSelectorHttpProxy}, nil
   151  		case "https_proxy", "httpsProxy", "https-proxy":
   152  			return &OsImageProfile_FieldTerminalPath{selector: OsImageProfile_FieldPathSelectorHttpsProxy}, nil
   153  		case "no_proxy", "noProxy", "no-proxy":
   154  			return &OsImageProfile_FieldTerminalPath{selector: OsImageProfile_FieldPathSelectorNoProxy}, nil
   155  		}
   156  	} else {
   157  		switch fp[0] {
   158  		case "metadata":
   159  			if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil {
   160  				return nil, err
   161  			} else {
   162  				return &OsImageProfile_FieldSubPath{selector: OsImageProfile_FieldPathSelectorMetadata, subPath: subpath}, nil
   163  			}
   164  		}
   165  	}
   166  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object OsImageProfile", fp)
   167  }
   168  
   169  func ParseOsImageProfile_FieldPath(rawField string) (OsImageProfile_FieldPath, error) {
   170  	fp, err := gotenobject.ParseRawFieldPath(rawField)
   171  	if err != nil {
   172  		return nil, err
   173  	}
   174  	return BuildOsImageProfile_FieldPath(fp)
   175  }
   176  
   177  func MustParseOsImageProfile_FieldPath(rawField string) OsImageProfile_FieldPath {
   178  	fp, err := ParseOsImageProfile_FieldPath(rawField)
   179  	if err != nil {
   180  		panic(err)
   181  	}
   182  	return fp
   183  }
   184  
   185  type OsImageProfile_FieldTerminalPath struct {
   186  	selector OsImageProfile_FieldPathSelector
   187  }
   188  
   189  var _ OsImageProfile_FieldPath = (*OsImageProfile_FieldTerminalPath)(nil)
   190  
   191  func (fp *OsImageProfile_FieldTerminalPath) Selector() OsImageProfile_FieldPathSelector {
   192  	return fp.selector
   193  }
   194  
   195  // String returns path representation in proto convention
   196  func (fp *OsImageProfile_FieldTerminalPath) String() string {
   197  	return fp.selector.String()
   198  }
   199  
   200  // JSONString returns path representation is JSON convention
   201  func (fp *OsImageProfile_FieldTerminalPath) JSONString() string {
   202  	return strcase.ToLowerCamel(fp.String())
   203  }
   204  
   205  // Get returns all values pointed by specific field from source OsImageProfile
   206  func (fp *OsImageProfile_FieldTerminalPath) Get(source *OsImageProfile) (values []interface{}) {
   207  	if source != nil {
   208  		switch fp.selector {
   209  		case OsImageProfile_FieldPathSelectorName:
   210  			if source.Name != nil {
   211  				values = append(values, source.Name)
   212  			}
   213  		case OsImageProfile_FieldPathSelectorMetadata:
   214  			if source.Metadata != nil {
   215  				values = append(values, source.Metadata)
   216  			}
   217  		case OsImageProfile_FieldPathSelectorDisplayName:
   218  			values = append(values, source.DisplayName)
   219  		case OsImageProfile_FieldPathSelectorDescription:
   220  			values = append(values, source.Description)
   221  		case OsImageProfile_FieldPathSelectorDeviceType:
   222  			if source.DeviceType != nil {
   223  				values = append(values, source.DeviceType)
   224  			}
   225  		case OsImageProfile_FieldPathSelectorInstallAiAccelerator:
   226  			values = append(values, source.InstallAiAccelerator)
   227  		case OsImageProfile_FieldPathSelectorEncryption:
   228  			values = append(values, source.Encryption)
   229  		case OsImageProfile_FieldPathSelectorDiskMapping:
   230  			values = append(values, source.DiskMapping)
   231  		case OsImageProfile_FieldPathSelectorNetworkAgent:
   232  			values = append(values, source.NetworkAgent)
   233  		case OsImageProfile_FieldPathSelectorNtp:
   234  			values = append(values, source.Ntp)
   235  		case OsImageProfile_FieldPathSelectorHttpProxy:
   236  			values = append(values, source.HttpProxy)
   237  		case OsImageProfile_FieldPathSelectorHttpsProxy:
   238  			values = append(values, source.HttpsProxy)
   239  		case OsImageProfile_FieldPathSelectorNoProxy:
   240  			values = append(values, source.NoProxy)
   241  		default:
   242  			panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fp.selector))
   243  		}
   244  	}
   245  	return
   246  }
   247  
   248  func (fp *OsImageProfile_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
   249  	return fp.Get(source.(*OsImageProfile))
   250  }
   251  
   252  // GetSingle returns value pointed by specific field of from source OsImageProfile
   253  func (fp *OsImageProfile_FieldTerminalPath) GetSingle(source *OsImageProfile) (interface{}, bool) {
   254  	switch fp.selector {
   255  	case OsImageProfile_FieldPathSelectorName:
   256  		res := source.GetName()
   257  		return res, res != nil
   258  	case OsImageProfile_FieldPathSelectorMetadata:
   259  		res := source.GetMetadata()
   260  		return res, res != nil
   261  	case OsImageProfile_FieldPathSelectorDisplayName:
   262  		return source.GetDisplayName(), source != nil
   263  	case OsImageProfile_FieldPathSelectorDescription:
   264  		return source.GetDescription(), source != nil
   265  	case OsImageProfile_FieldPathSelectorDeviceType:
   266  		res := source.GetDeviceType()
   267  		return res, res != nil
   268  	case OsImageProfile_FieldPathSelectorInstallAiAccelerator:
   269  		return source.GetInstallAiAccelerator(), source != nil
   270  	case OsImageProfile_FieldPathSelectorEncryption:
   271  		return source.GetEncryption(), source != nil
   272  	case OsImageProfile_FieldPathSelectorDiskMapping:
   273  		return source.GetDiskMapping(), source != nil
   274  	case OsImageProfile_FieldPathSelectorNetworkAgent:
   275  		return source.GetNetworkAgent(), source != nil
   276  	case OsImageProfile_FieldPathSelectorNtp:
   277  		return source.GetNtp(), source != nil
   278  	case OsImageProfile_FieldPathSelectorHttpProxy:
   279  		return source.GetHttpProxy(), source != nil
   280  	case OsImageProfile_FieldPathSelectorHttpsProxy:
   281  		return source.GetHttpsProxy(), source != nil
   282  	case OsImageProfile_FieldPathSelectorNoProxy:
   283  		return source.GetNoProxy(), source != nil
   284  	default:
   285  		panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fp.selector))
   286  	}
   287  }
   288  
   289  func (fp *OsImageProfile_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   290  	return fp.GetSingle(source.(*OsImageProfile))
   291  }
   292  
   293  // GetDefault returns a default value of the field type
   294  func (fp *OsImageProfile_FieldTerminalPath) GetDefault() interface{} {
   295  	switch fp.selector {
   296  	case OsImageProfile_FieldPathSelectorName:
   297  		return (*Name)(nil)
   298  	case OsImageProfile_FieldPathSelectorMetadata:
   299  		return (*meta.Meta)(nil)
   300  	case OsImageProfile_FieldPathSelectorDisplayName:
   301  		return ""
   302  	case OsImageProfile_FieldPathSelectorDescription:
   303  		return ""
   304  	case OsImageProfile_FieldPathSelectorDeviceType:
   305  		return (*device_type.Reference)(nil)
   306  	case OsImageProfile_FieldPathSelectorInstallAiAccelerator:
   307  		return false
   308  	case OsImageProfile_FieldPathSelectorEncryption:
   309  		return false
   310  	case OsImageProfile_FieldPathSelectorDiskMapping:
   311  		return ""
   312  	case OsImageProfile_FieldPathSelectorNetworkAgent:
   313  		return ""
   314  	case OsImageProfile_FieldPathSelectorNtp:
   315  		return ""
   316  	case OsImageProfile_FieldPathSelectorHttpProxy:
   317  		return ""
   318  	case OsImageProfile_FieldPathSelectorHttpsProxy:
   319  		return ""
   320  	case OsImageProfile_FieldPathSelectorNoProxy:
   321  		return ""
   322  	default:
   323  		panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fp.selector))
   324  	}
   325  }
   326  
   327  func (fp *OsImageProfile_FieldTerminalPath) ClearValue(item *OsImageProfile) {
   328  	if item != nil {
   329  		switch fp.selector {
   330  		case OsImageProfile_FieldPathSelectorName:
   331  			item.Name = nil
   332  		case OsImageProfile_FieldPathSelectorMetadata:
   333  			item.Metadata = nil
   334  		case OsImageProfile_FieldPathSelectorDisplayName:
   335  			item.DisplayName = ""
   336  		case OsImageProfile_FieldPathSelectorDescription:
   337  			item.Description = ""
   338  		case OsImageProfile_FieldPathSelectorDeviceType:
   339  			item.DeviceType = nil
   340  		case OsImageProfile_FieldPathSelectorInstallAiAccelerator:
   341  			item.InstallAiAccelerator = false
   342  		case OsImageProfile_FieldPathSelectorEncryption:
   343  			item.Encryption = false
   344  		case OsImageProfile_FieldPathSelectorDiskMapping:
   345  			item.DiskMapping = ""
   346  		case OsImageProfile_FieldPathSelectorNetworkAgent:
   347  			item.NetworkAgent = ""
   348  		case OsImageProfile_FieldPathSelectorNtp:
   349  			item.Ntp = ""
   350  		case OsImageProfile_FieldPathSelectorHttpProxy:
   351  			item.HttpProxy = ""
   352  		case OsImageProfile_FieldPathSelectorHttpsProxy:
   353  			item.HttpsProxy = ""
   354  		case OsImageProfile_FieldPathSelectorNoProxy:
   355  			item.NoProxy = ""
   356  		default:
   357  			panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fp.selector))
   358  		}
   359  	}
   360  }
   361  
   362  func (fp *OsImageProfile_FieldTerminalPath) ClearValueRaw(item proto.Message) {
   363  	fp.ClearValue(item.(*OsImageProfile))
   364  }
   365  
   366  // IsLeaf - whether field path is holds simple value
   367  func (fp *OsImageProfile_FieldTerminalPath) IsLeaf() bool {
   368  	return fp.selector == OsImageProfile_FieldPathSelectorName ||
   369  		fp.selector == OsImageProfile_FieldPathSelectorDisplayName ||
   370  		fp.selector == OsImageProfile_FieldPathSelectorDescription ||
   371  		fp.selector == OsImageProfile_FieldPathSelectorDeviceType ||
   372  		fp.selector == OsImageProfile_FieldPathSelectorInstallAiAccelerator ||
   373  		fp.selector == OsImageProfile_FieldPathSelectorEncryption ||
   374  		fp.selector == OsImageProfile_FieldPathSelectorDiskMapping ||
   375  		fp.selector == OsImageProfile_FieldPathSelectorNetworkAgent ||
   376  		fp.selector == OsImageProfile_FieldPathSelectorNtp ||
   377  		fp.selector == OsImageProfile_FieldPathSelectorHttpProxy ||
   378  		fp.selector == OsImageProfile_FieldPathSelectorHttpsProxy ||
   379  		fp.selector == OsImageProfile_FieldPathSelectorNoProxy
   380  }
   381  
   382  func (fp *OsImageProfile_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   383  	return []gotenobject.FieldPath{fp}
   384  }
   385  
   386  func (fp *OsImageProfile_FieldTerminalPath) WithIValue(value interface{}) OsImageProfile_FieldPathValue {
   387  	switch fp.selector {
   388  	case OsImageProfile_FieldPathSelectorName:
   389  		return &OsImageProfile_FieldTerminalPathValue{OsImageProfile_FieldTerminalPath: *fp, value: value.(*Name)}
   390  	case OsImageProfile_FieldPathSelectorMetadata:
   391  		return &OsImageProfile_FieldTerminalPathValue{OsImageProfile_FieldTerminalPath: *fp, value: value.(*meta.Meta)}
   392  	case OsImageProfile_FieldPathSelectorDisplayName:
   393  		return &OsImageProfile_FieldTerminalPathValue{OsImageProfile_FieldTerminalPath: *fp, value: value.(string)}
   394  	case OsImageProfile_FieldPathSelectorDescription:
   395  		return &OsImageProfile_FieldTerminalPathValue{OsImageProfile_FieldTerminalPath: *fp, value: value.(string)}
   396  	case OsImageProfile_FieldPathSelectorDeviceType:
   397  		return &OsImageProfile_FieldTerminalPathValue{OsImageProfile_FieldTerminalPath: *fp, value: value.(*device_type.Reference)}
   398  	case OsImageProfile_FieldPathSelectorInstallAiAccelerator:
   399  		return &OsImageProfile_FieldTerminalPathValue{OsImageProfile_FieldTerminalPath: *fp, value: value.(bool)}
   400  	case OsImageProfile_FieldPathSelectorEncryption:
   401  		return &OsImageProfile_FieldTerminalPathValue{OsImageProfile_FieldTerminalPath: *fp, value: value.(bool)}
   402  	case OsImageProfile_FieldPathSelectorDiskMapping:
   403  		return &OsImageProfile_FieldTerminalPathValue{OsImageProfile_FieldTerminalPath: *fp, value: value.(string)}
   404  	case OsImageProfile_FieldPathSelectorNetworkAgent:
   405  		return &OsImageProfile_FieldTerminalPathValue{OsImageProfile_FieldTerminalPath: *fp, value: value.(string)}
   406  	case OsImageProfile_FieldPathSelectorNtp:
   407  		return &OsImageProfile_FieldTerminalPathValue{OsImageProfile_FieldTerminalPath: *fp, value: value.(string)}
   408  	case OsImageProfile_FieldPathSelectorHttpProxy:
   409  		return &OsImageProfile_FieldTerminalPathValue{OsImageProfile_FieldTerminalPath: *fp, value: value.(string)}
   410  	case OsImageProfile_FieldPathSelectorHttpsProxy:
   411  		return &OsImageProfile_FieldTerminalPathValue{OsImageProfile_FieldTerminalPath: *fp, value: value.(string)}
   412  	case OsImageProfile_FieldPathSelectorNoProxy:
   413  		return &OsImageProfile_FieldTerminalPathValue{OsImageProfile_FieldTerminalPath: *fp, value: value.(string)}
   414  	default:
   415  		panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fp.selector))
   416  	}
   417  }
   418  
   419  func (fp *OsImageProfile_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   420  	return fp.WithIValue(value)
   421  }
   422  
   423  func (fp *OsImageProfile_FieldTerminalPath) WithIArrayOfValues(values interface{}) OsImageProfile_FieldPathArrayOfValues {
   424  	fpaov := &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp}
   425  	switch fp.selector {
   426  	case OsImageProfile_FieldPathSelectorName:
   427  		return &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp, values: values.([]*Name)}
   428  	case OsImageProfile_FieldPathSelectorMetadata:
   429  		return &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp, values: values.([]*meta.Meta)}
   430  	case OsImageProfile_FieldPathSelectorDisplayName:
   431  		return &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp, values: values.([]string)}
   432  	case OsImageProfile_FieldPathSelectorDescription:
   433  		return &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp, values: values.([]string)}
   434  	case OsImageProfile_FieldPathSelectorDeviceType:
   435  		return &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp, values: values.([]*device_type.Reference)}
   436  	case OsImageProfile_FieldPathSelectorInstallAiAccelerator:
   437  		return &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp, values: values.([]bool)}
   438  	case OsImageProfile_FieldPathSelectorEncryption:
   439  		return &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp, values: values.([]bool)}
   440  	case OsImageProfile_FieldPathSelectorDiskMapping:
   441  		return &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp, values: values.([]string)}
   442  	case OsImageProfile_FieldPathSelectorNetworkAgent:
   443  		return &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp, values: values.([]string)}
   444  	case OsImageProfile_FieldPathSelectorNtp:
   445  		return &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp, values: values.([]string)}
   446  	case OsImageProfile_FieldPathSelectorHttpProxy:
   447  		return &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp, values: values.([]string)}
   448  	case OsImageProfile_FieldPathSelectorHttpsProxy:
   449  		return &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp, values: values.([]string)}
   450  	case OsImageProfile_FieldPathSelectorNoProxy:
   451  		return &OsImageProfile_FieldTerminalPathArrayOfValues{OsImageProfile_FieldTerminalPath: *fp, values: values.([]string)}
   452  	default:
   453  		panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fp.selector))
   454  	}
   455  	return fpaov
   456  }
   457  
   458  func (fp *OsImageProfile_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   459  	return fp.WithIArrayOfValues(values)
   460  }
   461  
   462  func (fp *OsImageProfile_FieldTerminalPath) WithIArrayItemValue(value interface{}) OsImageProfile_FieldPathArrayItemValue {
   463  	switch fp.selector {
   464  	default:
   465  		panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fp.selector))
   466  	}
   467  }
   468  
   469  func (fp *OsImageProfile_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   470  	return fp.WithIArrayItemValue(value)
   471  }
   472  
   473  type OsImageProfile_FieldSubPath struct {
   474  	selector OsImageProfile_FieldPathSelector
   475  	subPath  gotenobject.FieldPath
   476  }
   477  
   478  var _ OsImageProfile_FieldPath = (*OsImageProfile_FieldSubPath)(nil)
   479  
   480  func (fps *OsImageProfile_FieldSubPath) Selector() OsImageProfile_FieldPathSelector {
   481  	return fps.selector
   482  }
   483  func (fps *OsImageProfile_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) {
   484  	res, ok := fps.subPath.(meta.Meta_FieldPath)
   485  	return res, ok
   486  }
   487  
   488  // String returns path representation in proto convention
   489  func (fps *OsImageProfile_FieldSubPath) String() string {
   490  	return fps.selector.String() + "." + fps.subPath.String()
   491  }
   492  
   493  // JSONString returns path representation is JSON convention
   494  func (fps *OsImageProfile_FieldSubPath) JSONString() string {
   495  	return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString()
   496  }
   497  
   498  // Get returns all values pointed by selected field from source OsImageProfile
   499  func (fps *OsImageProfile_FieldSubPath) Get(source *OsImageProfile) (values []interface{}) {
   500  	switch fps.selector {
   501  	case OsImageProfile_FieldPathSelectorMetadata:
   502  		values = append(values, fps.subPath.GetRaw(source.GetMetadata())...)
   503  	default:
   504  		panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fps.selector))
   505  	}
   506  	return
   507  }
   508  
   509  func (fps *OsImageProfile_FieldSubPath) GetRaw(source proto.Message) []interface{} {
   510  	return fps.Get(source.(*OsImageProfile))
   511  }
   512  
   513  // GetSingle returns value of selected field from source OsImageProfile
   514  func (fps *OsImageProfile_FieldSubPath) GetSingle(source *OsImageProfile) (interface{}, bool) {
   515  	switch fps.selector {
   516  	case OsImageProfile_FieldPathSelectorMetadata:
   517  		if source.GetMetadata() == nil {
   518  			return nil, false
   519  		}
   520  		return fps.subPath.GetSingleRaw(source.GetMetadata())
   521  	default:
   522  		panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fps.selector))
   523  	}
   524  }
   525  
   526  func (fps *OsImageProfile_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   527  	return fps.GetSingle(source.(*OsImageProfile))
   528  }
   529  
   530  // GetDefault returns a default value of the field type
   531  func (fps *OsImageProfile_FieldSubPath) GetDefault() interface{} {
   532  	return fps.subPath.GetDefault()
   533  }
   534  
   535  func (fps *OsImageProfile_FieldSubPath) ClearValue(item *OsImageProfile) {
   536  	if item != nil {
   537  		switch fps.selector {
   538  		case OsImageProfile_FieldPathSelectorMetadata:
   539  			fps.subPath.ClearValueRaw(item.Metadata)
   540  		default:
   541  			panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fps.selector))
   542  		}
   543  	}
   544  }
   545  
   546  func (fps *OsImageProfile_FieldSubPath) ClearValueRaw(item proto.Message) {
   547  	fps.ClearValue(item.(*OsImageProfile))
   548  }
   549  
   550  // IsLeaf - whether field path is holds simple value
   551  func (fps *OsImageProfile_FieldSubPath) IsLeaf() bool {
   552  	return fps.subPath.IsLeaf()
   553  }
   554  
   555  func (fps *OsImageProfile_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   556  	iPaths := []gotenobject.FieldPath{&OsImageProfile_FieldTerminalPath{selector: fps.selector}}
   557  	iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...)
   558  	return iPaths
   559  }
   560  
   561  func (fps *OsImageProfile_FieldSubPath) WithIValue(value interface{}) OsImageProfile_FieldPathValue {
   562  	return &OsImageProfile_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)}
   563  }
   564  
   565  func (fps *OsImageProfile_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   566  	return fps.WithIValue(value)
   567  }
   568  
   569  func (fps *OsImageProfile_FieldSubPath) WithIArrayOfValues(values interface{}) OsImageProfile_FieldPathArrayOfValues {
   570  	return &OsImageProfile_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)}
   571  }
   572  
   573  func (fps *OsImageProfile_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   574  	return fps.WithIArrayOfValues(values)
   575  }
   576  
   577  func (fps *OsImageProfile_FieldSubPath) WithIArrayItemValue(value interface{}) OsImageProfile_FieldPathArrayItemValue {
   578  	return &OsImageProfile_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)}
   579  }
   580  
   581  func (fps *OsImageProfile_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   582  	return fps.WithIArrayItemValue(value)
   583  }
   584  
   585  // OsImageProfile_FieldPathValue allows storing values for OsImageProfile fields according to their type
   586  type OsImageProfile_FieldPathValue interface {
   587  	OsImageProfile_FieldPath
   588  	gotenobject.FieldPathValue
   589  	SetTo(target **OsImageProfile)
   590  	CompareWith(*OsImageProfile) (cmp int, comparable bool)
   591  }
   592  
   593  func ParseOsImageProfile_FieldPathValue(pathStr, valueStr string) (OsImageProfile_FieldPathValue, error) {
   594  	fp, err := ParseOsImageProfile_FieldPath(pathStr)
   595  	if err != nil {
   596  		return nil, err
   597  	}
   598  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
   599  	if err != nil {
   600  		return nil, status.Errorf(codes.InvalidArgument, "error parsing OsImageProfile field path value from %s: %v", valueStr, err)
   601  	}
   602  	return fpv.(OsImageProfile_FieldPathValue), nil
   603  }
   604  
   605  func MustParseOsImageProfile_FieldPathValue(pathStr, valueStr string) OsImageProfile_FieldPathValue {
   606  	fpv, err := ParseOsImageProfile_FieldPathValue(pathStr, valueStr)
   607  	if err != nil {
   608  		panic(err)
   609  	}
   610  	return fpv
   611  }
   612  
   613  type OsImageProfile_FieldTerminalPathValue struct {
   614  	OsImageProfile_FieldTerminalPath
   615  	value interface{}
   616  }
   617  
   618  var _ OsImageProfile_FieldPathValue = (*OsImageProfile_FieldTerminalPathValue)(nil)
   619  
   620  // GetRawValue returns raw value stored under selected path for 'OsImageProfile' as interface{}
   621  func (fpv *OsImageProfile_FieldTerminalPathValue) GetRawValue() interface{} {
   622  	return fpv.value
   623  }
   624  func (fpv *OsImageProfile_FieldTerminalPathValue) AsNameValue() (*Name, bool) {
   625  	res, ok := fpv.value.(*Name)
   626  	return res, ok
   627  }
   628  func (fpv *OsImageProfile_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) {
   629  	res, ok := fpv.value.(*meta.Meta)
   630  	return res, ok
   631  }
   632  func (fpv *OsImageProfile_FieldTerminalPathValue) AsDisplayNameValue() (string, bool) {
   633  	res, ok := fpv.value.(string)
   634  	return res, ok
   635  }
   636  func (fpv *OsImageProfile_FieldTerminalPathValue) AsDescriptionValue() (string, bool) {
   637  	res, ok := fpv.value.(string)
   638  	return res, ok
   639  }
   640  func (fpv *OsImageProfile_FieldTerminalPathValue) AsDeviceTypeValue() (*device_type.Reference, bool) {
   641  	res, ok := fpv.value.(*device_type.Reference)
   642  	return res, ok
   643  }
   644  func (fpv *OsImageProfile_FieldTerminalPathValue) AsInstallAiAcceleratorValue() (bool, bool) {
   645  	res, ok := fpv.value.(bool)
   646  	return res, ok
   647  }
   648  func (fpv *OsImageProfile_FieldTerminalPathValue) AsEncryptionValue() (bool, bool) {
   649  	res, ok := fpv.value.(bool)
   650  	return res, ok
   651  }
   652  func (fpv *OsImageProfile_FieldTerminalPathValue) AsDiskMappingValue() (string, bool) {
   653  	res, ok := fpv.value.(string)
   654  	return res, ok
   655  }
   656  func (fpv *OsImageProfile_FieldTerminalPathValue) AsNetworkAgentValue() (string, bool) {
   657  	res, ok := fpv.value.(string)
   658  	return res, ok
   659  }
   660  func (fpv *OsImageProfile_FieldTerminalPathValue) AsNtpValue() (string, bool) {
   661  	res, ok := fpv.value.(string)
   662  	return res, ok
   663  }
   664  func (fpv *OsImageProfile_FieldTerminalPathValue) AsHttpProxyValue() (string, bool) {
   665  	res, ok := fpv.value.(string)
   666  	return res, ok
   667  }
   668  func (fpv *OsImageProfile_FieldTerminalPathValue) AsHttpsProxyValue() (string, bool) {
   669  	res, ok := fpv.value.(string)
   670  	return res, ok
   671  }
   672  func (fpv *OsImageProfile_FieldTerminalPathValue) AsNoProxyValue() (string, bool) {
   673  	res, ok := fpv.value.(string)
   674  	return res, ok
   675  }
   676  
   677  // SetTo stores value for selected field for object OsImageProfile
   678  func (fpv *OsImageProfile_FieldTerminalPathValue) SetTo(target **OsImageProfile) {
   679  	if *target == nil {
   680  		*target = new(OsImageProfile)
   681  	}
   682  	switch fpv.selector {
   683  	case OsImageProfile_FieldPathSelectorName:
   684  		(*target).Name = fpv.value.(*Name)
   685  	case OsImageProfile_FieldPathSelectorMetadata:
   686  		(*target).Metadata = fpv.value.(*meta.Meta)
   687  	case OsImageProfile_FieldPathSelectorDisplayName:
   688  		(*target).DisplayName = fpv.value.(string)
   689  	case OsImageProfile_FieldPathSelectorDescription:
   690  		(*target).Description = fpv.value.(string)
   691  	case OsImageProfile_FieldPathSelectorDeviceType:
   692  		(*target).DeviceType = fpv.value.(*device_type.Reference)
   693  	case OsImageProfile_FieldPathSelectorInstallAiAccelerator:
   694  		(*target).InstallAiAccelerator = fpv.value.(bool)
   695  	case OsImageProfile_FieldPathSelectorEncryption:
   696  		(*target).Encryption = fpv.value.(bool)
   697  	case OsImageProfile_FieldPathSelectorDiskMapping:
   698  		(*target).DiskMapping = fpv.value.(string)
   699  	case OsImageProfile_FieldPathSelectorNetworkAgent:
   700  		(*target).NetworkAgent = fpv.value.(string)
   701  	case OsImageProfile_FieldPathSelectorNtp:
   702  		(*target).Ntp = fpv.value.(string)
   703  	case OsImageProfile_FieldPathSelectorHttpProxy:
   704  		(*target).HttpProxy = fpv.value.(string)
   705  	case OsImageProfile_FieldPathSelectorHttpsProxy:
   706  		(*target).HttpsProxy = fpv.value.(string)
   707  	case OsImageProfile_FieldPathSelectorNoProxy:
   708  		(*target).NoProxy = fpv.value.(string)
   709  	default:
   710  		panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fpv.selector))
   711  	}
   712  }
   713  
   714  func (fpv *OsImageProfile_FieldTerminalPathValue) SetToRaw(target proto.Message) {
   715  	typedObject := target.(*OsImageProfile)
   716  	fpv.SetTo(&typedObject)
   717  }
   718  
   719  // CompareWith compares value in the 'OsImageProfile_FieldTerminalPathValue' with the value under path in 'OsImageProfile'.
   720  func (fpv *OsImageProfile_FieldTerminalPathValue) CompareWith(source *OsImageProfile) (int, bool) {
   721  	switch fpv.selector {
   722  	case OsImageProfile_FieldPathSelectorName:
   723  		leftValue := fpv.value.(*Name)
   724  		rightValue := source.GetName()
   725  		if leftValue == nil {
   726  			if rightValue != nil {
   727  				return -1, true
   728  			}
   729  			return 0, true
   730  		}
   731  		if rightValue == nil {
   732  			return 1, true
   733  		}
   734  		if leftValue.String() == rightValue.String() {
   735  			return 0, true
   736  		} else if leftValue.String() < rightValue.String() {
   737  			return -1, true
   738  		} else {
   739  			return 1, true
   740  		}
   741  	case OsImageProfile_FieldPathSelectorMetadata:
   742  		return 0, false
   743  	case OsImageProfile_FieldPathSelectorDisplayName:
   744  		leftValue := fpv.value.(string)
   745  		rightValue := source.GetDisplayName()
   746  		if (leftValue) == (rightValue) {
   747  			return 0, true
   748  		} else if (leftValue) < (rightValue) {
   749  			return -1, true
   750  		} else {
   751  			return 1, true
   752  		}
   753  	case OsImageProfile_FieldPathSelectorDescription:
   754  		leftValue := fpv.value.(string)
   755  		rightValue := source.GetDescription()
   756  		if (leftValue) == (rightValue) {
   757  			return 0, true
   758  		} else if (leftValue) < (rightValue) {
   759  			return -1, true
   760  		} else {
   761  			return 1, true
   762  		}
   763  	case OsImageProfile_FieldPathSelectorDeviceType:
   764  		leftValue := fpv.value.(*device_type.Reference)
   765  		rightValue := source.GetDeviceType()
   766  		if leftValue == nil {
   767  			if rightValue != nil {
   768  				return -1, true
   769  			}
   770  			return 0, true
   771  		}
   772  		if rightValue == nil {
   773  			return 1, true
   774  		}
   775  		if leftValue.String() == rightValue.String() {
   776  			return 0, true
   777  		} else if leftValue.String() < rightValue.String() {
   778  			return -1, true
   779  		} else {
   780  			return 1, true
   781  		}
   782  	case OsImageProfile_FieldPathSelectorInstallAiAccelerator:
   783  		leftValue := fpv.value.(bool)
   784  		rightValue := source.GetInstallAiAccelerator()
   785  		if (leftValue) == (rightValue) {
   786  			return 0, true
   787  		} else if !(leftValue) && (rightValue) {
   788  			return -1, true
   789  		} else {
   790  			return 1, true
   791  		}
   792  	case OsImageProfile_FieldPathSelectorEncryption:
   793  		leftValue := fpv.value.(bool)
   794  		rightValue := source.GetEncryption()
   795  		if (leftValue) == (rightValue) {
   796  			return 0, true
   797  		} else if !(leftValue) && (rightValue) {
   798  			return -1, true
   799  		} else {
   800  			return 1, true
   801  		}
   802  	case OsImageProfile_FieldPathSelectorDiskMapping:
   803  		leftValue := fpv.value.(string)
   804  		rightValue := source.GetDiskMapping()
   805  		if (leftValue) == (rightValue) {
   806  			return 0, true
   807  		} else if (leftValue) < (rightValue) {
   808  			return -1, true
   809  		} else {
   810  			return 1, true
   811  		}
   812  	case OsImageProfile_FieldPathSelectorNetworkAgent:
   813  		leftValue := fpv.value.(string)
   814  		rightValue := source.GetNetworkAgent()
   815  		if (leftValue) == (rightValue) {
   816  			return 0, true
   817  		} else if (leftValue) < (rightValue) {
   818  			return -1, true
   819  		} else {
   820  			return 1, true
   821  		}
   822  	case OsImageProfile_FieldPathSelectorNtp:
   823  		leftValue := fpv.value.(string)
   824  		rightValue := source.GetNtp()
   825  		if (leftValue) == (rightValue) {
   826  			return 0, true
   827  		} else if (leftValue) < (rightValue) {
   828  			return -1, true
   829  		} else {
   830  			return 1, true
   831  		}
   832  	case OsImageProfile_FieldPathSelectorHttpProxy:
   833  		leftValue := fpv.value.(string)
   834  		rightValue := source.GetHttpProxy()
   835  		if (leftValue) == (rightValue) {
   836  			return 0, true
   837  		} else if (leftValue) < (rightValue) {
   838  			return -1, true
   839  		} else {
   840  			return 1, true
   841  		}
   842  	case OsImageProfile_FieldPathSelectorHttpsProxy:
   843  		leftValue := fpv.value.(string)
   844  		rightValue := source.GetHttpsProxy()
   845  		if (leftValue) == (rightValue) {
   846  			return 0, true
   847  		} else if (leftValue) < (rightValue) {
   848  			return -1, true
   849  		} else {
   850  			return 1, true
   851  		}
   852  	case OsImageProfile_FieldPathSelectorNoProxy:
   853  		leftValue := fpv.value.(string)
   854  		rightValue := source.GetNoProxy()
   855  		if (leftValue) == (rightValue) {
   856  			return 0, true
   857  		} else if (leftValue) < (rightValue) {
   858  			return -1, true
   859  		} else {
   860  			return 1, true
   861  		}
   862  	default:
   863  		panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fpv.selector))
   864  	}
   865  }
   866  
   867  func (fpv *OsImageProfile_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   868  	return fpv.CompareWith(source.(*OsImageProfile))
   869  }
   870  
   871  type OsImageProfile_FieldSubPathValue struct {
   872  	OsImageProfile_FieldPath
   873  	subPathValue gotenobject.FieldPathValue
   874  }
   875  
   876  var _ OsImageProfile_FieldPathValue = (*OsImageProfile_FieldSubPathValue)(nil)
   877  
   878  func (fpvs *OsImageProfile_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) {
   879  	res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue)
   880  	return res, ok
   881  }
   882  
   883  func (fpvs *OsImageProfile_FieldSubPathValue) SetTo(target **OsImageProfile) {
   884  	if *target == nil {
   885  		*target = new(OsImageProfile)
   886  	}
   887  	switch fpvs.Selector() {
   888  	case OsImageProfile_FieldPathSelectorMetadata:
   889  		fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata)
   890  	default:
   891  		panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fpvs.Selector()))
   892  	}
   893  }
   894  
   895  func (fpvs *OsImageProfile_FieldSubPathValue) SetToRaw(target proto.Message) {
   896  	typedObject := target.(*OsImageProfile)
   897  	fpvs.SetTo(&typedObject)
   898  }
   899  
   900  func (fpvs *OsImageProfile_FieldSubPathValue) GetRawValue() interface{} {
   901  	return fpvs.subPathValue.GetRawValue()
   902  }
   903  
   904  func (fpvs *OsImageProfile_FieldSubPathValue) CompareWith(source *OsImageProfile) (int, bool) {
   905  	switch fpvs.Selector() {
   906  	case OsImageProfile_FieldPathSelectorMetadata:
   907  		return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata())
   908  	default:
   909  		panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fpvs.Selector()))
   910  	}
   911  }
   912  
   913  func (fpvs *OsImageProfile_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   914  	return fpvs.CompareWith(source.(*OsImageProfile))
   915  }
   916  
   917  // OsImageProfile_FieldPathArrayItemValue allows storing single item in Path-specific values for OsImageProfile according to their type
   918  // Present only for array (repeated) types.
   919  type OsImageProfile_FieldPathArrayItemValue interface {
   920  	gotenobject.FieldPathArrayItemValue
   921  	OsImageProfile_FieldPath
   922  	ContainsValue(*OsImageProfile) bool
   923  }
   924  
   925  // ParseOsImageProfile_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
   926  func ParseOsImageProfile_FieldPathArrayItemValue(pathStr, valueStr string) (OsImageProfile_FieldPathArrayItemValue, error) {
   927  	fp, err := ParseOsImageProfile_FieldPath(pathStr)
   928  	if err != nil {
   929  		return nil, err
   930  	}
   931  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
   932  	if err != nil {
   933  		return nil, status.Errorf(codes.InvalidArgument, "error parsing OsImageProfile field path array item value from %s: %v", valueStr, err)
   934  	}
   935  	return fpaiv.(OsImageProfile_FieldPathArrayItemValue), nil
   936  }
   937  
   938  func MustParseOsImageProfile_FieldPathArrayItemValue(pathStr, valueStr string) OsImageProfile_FieldPathArrayItemValue {
   939  	fpaiv, err := ParseOsImageProfile_FieldPathArrayItemValue(pathStr, valueStr)
   940  	if err != nil {
   941  		panic(err)
   942  	}
   943  	return fpaiv
   944  }
   945  
   946  type OsImageProfile_FieldTerminalPathArrayItemValue struct {
   947  	OsImageProfile_FieldTerminalPath
   948  	value interface{}
   949  }
   950  
   951  var _ OsImageProfile_FieldPathArrayItemValue = (*OsImageProfile_FieldTerminalPathArrayItemValue)(nil)
   952  
   953  // GetRawValue returns stored element value for array in object OsImageProfile as interface{}
   954  func (fpaiv *OsImageProfile_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
   955  	return fpaiv.value
   956  }
   957  
   958  func (fpaiv *OsImageProfile_FieldTerminalPathArrayItemValue) GetSingle(source *OsImageProfile) (interface{}, bool) {
   959  	return nil, false
   960  }
   961  
   962  func (fpaiv *OsImageProfile_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
   963  	return fpaiv.GetSingle(source.(*OsImageProfile))
   964  }
   965  
   966  // Contains returns a boolean indicating if value that is being held is present in given 'OsImageProfile'
   967  func (fpaiv *OsImageProfile_FieldTerminalPathArrayItemValue) ContainsValue(source *OsImageProfile) bool {
   968  	slice := fpaiv.OsImageProfile_FieldTerminalPath.Get(source)
   969  	for _, v := range slice {
   970  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
   971  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
   972  				return true
   973  			}
   974  		} else if reflect.DeepEqual(v, fpaiv.value) {
   975  			return true
   976  		}
   977  	}
   978  	return false
   979  }
   980  
   981  type OsImageProfile_FieldSubPathArrayItemValue struct {
   982  	OsImageProfile_FieldPath
   983  	subPathItemValue gotenobject.FieldPathArrayItemValue
   984  }
   985  
   986  // GetRawValue returns stored array item value
   987  func (fpaivs *OsImageProfile_FieldSubPathArrayItemValue) GetRawItemValue() interface{} {
   988  	return fpaivs.subPathItemValue.GetRawItemValue()
   989  }
   990  func (fpaivs *OsImageProfile_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) {
   991  	res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue)
   992  	return res, ok
   993  }
   994  
   995  // Contains returns a boolean indicating if value that is being held is present in given 'OsImageProfile'
   996  func (fpaivs *OsImageProfile_FieldSubPathArrayItemValue) ContainsValue(source *OsImageProfile) bool {
   997  	switch fpaivs.Selector() {
   998  	case OsImageProfile_FieldPathSelectorMetadata:
   999  		return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata())
  1000  	default:
  1001  		panic(fmt.Sprintf("Invalid selector for OsImageProfile: %d", fpaivs.Selector()))
  1002  	}
  1003  }
  1004  
  1005  // OsImageProfile_FieldPathArrayOfValues allows storing slice of values for OsImageProfile fields according to their type
  1006  type OsImageProfile_FieldPathArrayOfValues interface {
  1007  	gotenobject.FieldPathArrayOfValues
  1008  	OsImageProfile_FieldPath
  1009  }
  1010  
  1011  func ParseOsImageProfile_FieldPathArrayOfValues(pathStr, valuesStr string) (OsImageProfile_FieldPathArrayOfValues, error) {
  1012  	fp, err := ParseOsImageProfile_FieldPath(pathStr)
  1013  	if err != nil {
  1014  		return nil, err
  1015  	}
  1016  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  1017  	if err != nil {
  1018  		return nil, status.Errorf(codes.InvalidArgument, "error parsing OsImageProfile field path array of values from %s: %v", valuesStr, err)
  1019  	}
  1020  	return fpaov.(OsImageProfile_FieldPathArrayOfValues), nil
  1021  }
  1022  
  1023  func MustParseOsImageProfile_FieldPathArrayOfValues(pathStr, valuesStr string) OsImageProfile_FieldPathArrayOfValues {
  1024  	fpaov, err := ParseOsImageProfile_FieldPathArrayOfValues(pathStr, valuesStr)
  1025  	if err != nil {
  1026  		panic(err)
  1027  	}
  1028  	return fpaov
  1029  }
  1030  
  1031  type OsImageProfile_FieldTerminalPathArrayOfValues struct {
  1032  	OsImageProfile_FieldTerminalPath
  1033  	values interface{}
  1034  }
  1035  
  1036  var _ OsImageProfile_FieldPathArrayOfValues = (*OsImageProfile_FieldTerminalPathArrayOfValues)(nil)
  1037  
  1038  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  1039  	switch fpaov.selector {
  1040  	case OsImageProfile_FieldPathSelectorName:
  1041  		for _, v := range fpaov.values.([]*Name) {
  1042  			values = append(values, v)
  1043  		}
  1044  	case OsImageProfile_FieldPathSelectorMetadata:
  1045  		for _, v := range fpaov.values.([]*meta.Meta) {
  1046  			values = append(values, v)
  1047  		}
  1048  	case OsImageProfile_FieldPathSelectorDisplayName:
  1049  		for _, v := range fpaov.values.([]string) {
  1050  			values = append(values, v)
  1051  		}
  1052  	case OsImageProfile_FieldPathSelectorDescription:
  1053  		for _, v := range fpaov.values.([]string) {
  1054  			values = append(values, v)
  1055  		}
  1056  	case OsImageProfile_FieldPathSelectorDeviceType:
  1057  		for _, v := range fpaov.values.([]*device_type.Reference) {
  1058  			values = append(values, v)
  1059  		}
  1060  	case OsImageProfile_FieldPathSelectorInstallAiAccelerator:
  1061  		for _, v := range fpaov.values.([]bool) {
  1062  			values = append(values, v)
  1063  		}
  1064  	case OsImageProfile_FieldPathSelectorEncryption:
  1065  		for _, v := range fpaov.values.([]bool) {
  1066  			values = append(values, v)
  1067  		}
  1068  	case OsImageProfile_FieldPathSelectorDiskMapping:
  1069  		for _, v := range fpaov.values.([]string) {
  1070  			values = append(values, v)
  1071  		}
  1072  	case OsImageProfile_FieldPathSelectorNetworkAgent:
  1073  		for _, v := range fpaov.values.([]string) {
  1074  			values = append(values, v)
  1075  		}
  1076  	case OsImageProfile_FieldPathSelectorNtp:
  1077  		for _, v := range fpaov.values.([]string) {
  1078  			values = append(values, v)
  1079  		}
  1080  	case OsImageProfile_FieldPathSelectorHttpProxy:
  1081  		for _, v := range fpaov.values.([]string) {
  1082  			values = append(values, v)
  1083  		}
  1084  	case OsImageProfile_FieldPathSelectorHttpsProxy:
  1085  		for _, v := range fpaov.values.([]string) {
  1086  			values = append(values, v)
  1087  		}
  1088  	case OsImageProfile_FieldPathSelectorNoProxy:
  1089  		for _, v := range fpaov.values.([]string) {
  1090  			values = append(values, v)
  1091  		}
  1092  	}
  1093  	return
  1094  }
  1095  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) {
  1096  	res, ok := fpaov.values.([]*Name)
  1097  	return res, ok
  1098  }
  1099  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) {
  1100  	res, ok := fpaov.values.([]*meta.Meta)
  1101  	return res, ok
  1102  }
  1103  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) AsDisplayNameArrayOfValues() ([]string, bool) {
  1104  	res, ok := fpaov.values.([]string)
  1105  	return res, ok
  1106  }
  1107  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) AsDescriptionArrayOfValues() ([]string, bool) {
  1108  	res, ok := fpaov.values.([]string)
  1109  	return res, ok
  1110  }
  1111  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) AsDeviceTypeArrayOfValues() ([]*device_type.Reference, bool) {
  1112  	res, ok := fpaov.values.([]*device_type.Reference)
  1113  	return res, ok
  1114  }
  1115  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) AsInstallAiAcceleratorArrayOfValues() ([]bool, bool) {
  1116  	res, ok := fpaov.values.([]bool)
  1117  	return res, ok
  1118  }
  1119  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) AsEncryptionArrayOfValues() ([]bool, bool) {
  1120  	res, ok := fpaov.values.([]bool)
  1121  	return res, ok
  1122  }
  1123  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) AsDiskMappingArrayOfValues() ([]string, bool) {
  1124  	res, ok := fpaov.values.([]string)
  1125  	return res, ok
  1126  }
  1127  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) AsNetworkAgentArrayOfValues() ([]string, bool) {
  1128  	res, ok := fpaov.values.([]string)
  1129  	return res, ok
  1130  }
  1131  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) AsNtpArrayOfValues() ([]string, bool) {
  1132  	res, ok := fpaov.values.([]string)
  1133  	return res, ok
  1134  }
  1135  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) AsHttpProxyArrayOfValues() ([]string, bool) {
  1136  	res, ok := fpaov.values.([]string)
  1137  	return res, ok
  1138  }
  1139  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) AsHttpsProxyArrayOfValues() ([]string, bool) {
  1140  	res, ok := fpaov.values.([]string)
  1141  	return res, ok
  1142  }
  1143  func (fpaov *OsImageProfile_FieldTerminalPathArrayOfValues) AsNoProxyArrayOfValues() ([]string, bool) {
  1144  	res, ok := fpaov.values.([]string)
  1145  	return res, ok
  1146  }
  1147  
  1148  type OsImageProfile_FieldSubPathArrayOfValues struct {
  1149  	OsImageProfile_FieldPath
  1150  	subPathArrayOfValues gotenobject.FieldPathArrayOfValues
  1151  }
  1152  
  1153  var _ OsImageProfile_FieldPathArrayOfValues = (*OsImageProfile_FieldSubPathArrayOfValues)(nil)
  1154  
  1155  func (fpsaov *OsImageProfile_FieldSubPathArrayOfValues) GetRawValues() []interface{} {
  1156  	return fpsaov.subPathArrayOfValues.GetRawValues()
  1157  }
  1158  func (fpsaov *OsImageProfile_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) {
  1159  	res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues)
  1160  	return res, ok
  1161  }