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

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