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

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/limits/proto/v1/accepted_plan.proto
     3  // DO NOT EDIT!!!
     4  
     5  package accepted_plan
     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  	iam_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization"
    27  	iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project"
    28  	common "github.com/cloudwan/edgelq-sdk/limits/resources/v1/common"
    29  	plan "github.com/cloudwan/edgelq-sdk/limits/resources/v1/plan"
    30  	meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service"
    31  	meta "github.com/cloudwan/goten-sdk/types/meta"
    32  )
    33  
    34  // ensure the imports are used
    35  var (
    36  	_ = new(json.Marshaler)
    37  	_ = new(fmt.Stringer)
    38  	_ = reflect.DeepEqual
    39  	_ = strings.Builder{}
    40  	_ = time.Second
    41  
    42  	_ = strcase.ToLowerCamel
    43  	_ = codes.NotFound
    44  	_ = status.Status{}
    45  	_ = protojson.UnmarshalOptions{}
    46  	_ = new(proto.Message)
    47  	_ = protoregistry.GlobalTypes
    48  
    49  	_ = new(gotenobject.FieldPath)
    50  )
    51  
    52  // make sure we're using proto imports
    53  var (
    54  	_ = &iam_organization.Organization{}
    55  	_ = &iam_project.Project{}
    56  	_ = &common.RegionalPlanAssignment{}
    57  	_ = &plan.Plan{}
    58  	_ = &meta_service.Service{}
    59  	_ = &meta.Meta{}
    60  )
    61  
    62  // FieldPath provides implementation to handle
    63  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
    64  type AcceptedPlan_FieldPath interface {
    65  	gotenobject.FieldPath
    66  	Selector() AcceptedPlan_FieldPathSelector
    67  	Get(source *AcceptedPlan) []interface{}
    68  	GetSingle(source *AcceptedPlan) (interface{}, bool)
    69  	ClearValue(item *AcceptedPlan)
    70  
    71  	// Those methods build corresponding AcceptedPlan_FieldPathValue
    72  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
    73  	WithIValue(value interface{}) AcceptedPlan_FieldPathValue
    74  	WithIArrayOfValues(values interface{}) AcceptedPlan_FieldPathArrayOfValues
    75  	WithIArrayItemValue(value interface{}) AcceptedPlan_FieldPathArrayItemValue
    76  }
    77  
    78  type AcceptedPlan_FieldPathSelector int32
    79  
    80  const (
    81  	AcceptedPlan_FieldPathSelectorName                      AcceptedPlan_FieldPathSelector = 0
    82  	AcceptedPlan_FieldPathSelectorMetadata                  AcceptedPlan_FieldPathSelector = 1
    83  	AcceptedPlan_FieldPathSelectorDefaultRegionalPlan       AcceptedPlan_FieldPathSelector = 2
    84  	AcceptedPlan_FieldPathSelectorService                   AcceptedPlan_FieldPathSelector = 3
    85  	AcceptedPlan_FieldPathSelectorRegionalPlanOverrides     AcceptedPlan_FieldPathSelector = 4
    86  	AcceptedPlan_FieldPathSelectorExtensions                AcceptedPlan_FieldPathSelector = 5
    87  	AcceptedPlan_FieldPathSelectorAllowances                AcceptedPlan_FieldPathSelector = 6
    88  	AcceptedPlan_FieldPathSelectorAppliedRegions            AcceptedPlan_FieldPathSelector = 7
    89  	AcceptedPlan_FieldPathSelectorAppliedPlanSpecGeneration AcceptedPlan_FieldPathSelector = 8
    90  	AcceptedPlan_FieldPathSelectorAssignee                  AcceptedPlan_FieldPathSelector = 9
    91  )
    92  
    93  func (s AcceptedPlan_FieldPathSelector) String() string {
    94  	switch s {
    95  	case AcceptedPlan_FieldPathSelectorName:
    96  		return "name"
    97  	case AcceptedPlan_FieldPathSelectorMetadata:
    98  		return "metadata"
    99  	case AcceptedPlan_FieldPathSelectorDefaultRegionalPlan:
   100  		return "default_regional_plan"
   101  	case AcceptedPlan_FieldPathSelectorService:
   102  		return "service"
   103  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   104  		return "regional_plan_overrides"
   105  	case AcceptedPlan_FieldPathSelectorExtensions:
   106  		return "extensions"
   107  	case AcceptedPlan_FieldPathSelectorAllowances:
   108  		return "allowances"
   109  	case AcceptedPlan_FieldPathSelectorAppliedRegions:
   110  		return "applied_regions"
   111  	case AcceptedPlan_FieldPathSelectorAppliedPlanSpecGeneration:
   112  		return "applied_plan_spec_generation"
   113  	case AcceptedPlan_FieldPathSelectorAssignee:
   114  		return "assignee"
   115  	default:
   116  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", s))
   117  	}
   118  }
   119  
   120  func BuildAcceptedPlan_FieldPath(fp gotenobject.RawFieldPath) (AcceptedPlan_FieldPath, error) {
   121  	if len(fp) == 0 {
   122  		return nil, status.Error(codes.InvalidArgument, "empty field path for object AcceptedPlan")
   123  	}
   124  	if len(fp) == 1 {
   125  		switch fp[0] {
   126  		case "name":
   127  			return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorName}, nil
   128  		case "metadata":
   129  			return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorMetadata}, nil
   130  		case "default_regional_plan", "defaultRegionalPlan", "default-regional-plan":
   131  			return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorDefaultRegionalPlan}, nil
   132  		case "service":
   133  			return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorService}, nil
   134  		case "regional_plan_overrides", "regionalPlanOverrides", "regional-plan-overrides":
   135  			return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorRegionalPlanOverrides}, nil
   136  		case "extensions":
   137  			return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorExtensions}, nil
   138  		case "allowances":
   139  			return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorAllowances}, nil
   140  		case "applied_regions", "appliedRegions", "applied-regions":
   141  			return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorAppliedRegions}, nil
   142  		case "applied_plan_spec_generation", "appliedPlanSpecGeneration", "applied-plan-spec-generation":
   143  			return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorAppliedPlanSpecGeneration}, nil
   144  		case "assignee":
   145  			return &AcceptedPlan_FieldTerminalPath{selector: AcceptedPlan_FieldPathSelectorAssignee}, nil
   146  		}
   147  	} else {
   148  		switch fp[0] {
   149  		case "metadata":
   150  			if subpath, err := meta.BuildMeta_FieldPath(fp[1:]); err != nil {
   151  				return nil, err
   152  			} else {
   153  				return &AcceptedPlan_FieldSubPath{selector: AcceptedPlan_FieldPathSelectorMetadata, subPath: subpath}, nil
   154  			}
   155  		case "regional_plan_overrides", "regionalPlanOverrides", "regional-plan-overrides":
   156  			if subpath, err := common.BuildRegionalPlanAssignment_FieldPath(fp[1:]); err != nil {
   157  				return nil, err
   158  			} else {
   159  				return &AcceptedPlan_FieldSubPath{selector: AcceptedPlan_FieldPathSelectorRegionalPlanOverrides, subPath: subpath}, nil
   160  			}
   161  		case "extensions":
   162  			if subpath, err := common.BuildAllowance_FieldPath(fp[1:]); err != nil {
   163  				return nil, err
   164  			} else {
   165  				return &AcceptedPlan_FieldSubPath{selector: AcceptedPlan_FieldPathSelectorExtensions, subPath: subpath}, nil
   166  			}
   167  		case "allowances":
   168  			if subpath, err := common.BuildAllowance_FieldPath(fp[1:]); err != nil {
   169  				return nil, err
   170  			} else {
   171  				return &AcceptedPlan_FieldSubPath{selector: AcceptedPlan_FieldPathSelectorAllowances, subPath: subpath}, nil
   172  			}
   173  		case "assignee":
   174  			if subpath, err := BuildAcceptedPlanAssignee_FieldPath(fp[1:]); err != nil {
   175  				return nil, err
   176  			} else {
   177  				return &AcceptedPlan_FieldSubPath{selector: AcceptedPlan_FieldPathSelectorAssignee, subPath: subpath}, nil
   178  			}
   179  		}
   180  	}
   181  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object AcceptedPlan", fp)
   182  }
   183  
   184  func ParseAcceptedPlan_FieldPath(rawField string) (AcceptedPlan_FieldPath, error) {
   185  	fp, err := gotenobject.ParseRawFieldPath(rawField)
   186  	if err != nil {
   187  		return nil, err
   188  	}
   189  	return BuildAcceptedPlan_FieldPath(fp)
   190  }
   191  
   192  func MustParseAcceptedPlan_FieldPath(rawField string) AcceptedPlan_FieldPath {
   193  	fp, err := ParseAcceptedPlan_FieldPath(rawField)
   194  	if err != nil {
   195  		panic(err)
   196  	}
   197  	return fp
   198  }
   199  
   200  type AcceptedPlan_FieldTerminalPath struct {
   201  	selector AcceptedPlan_FieldPathSelector
   202  }
   203  
   204  var _ AcceptedPlan_FieldPath = (*AcceptedPlan_FieldTerminalPath)(nil)
   205  
   206  func (fp *AcceptedPlan_FieldTerminalPath) Selector() AcceptedPlan_FieldPathSelector {
   207  	return fp.selector
   208  }
   209  
   210  // String returns path representation in proto convention
   211  func (fp *AcceptedPlan_FieldTerminalPath) String() string {
   212  	return fp.selector.String()
   213  }
   214  
   215  // JSONString returns path representation is JSON convention
   216  func (fp *AcceptedPlan_FieldTerminalPath) JSONString() string {
   217  	return strcase.ToLowerCamel(fp.String())
   218  }
   219  
   220  // Get returns all values pointed by specific field from source AcceptedPlan
   221  func (fp *AcceptedPlan_FieldTerminalPath) Get(source *AcceptedPlan) (values []interface{}) {
   222  	if source != nil {
   223  		switch fp.selector {
   224  		case AcceptedPlan_FieldPathSelectorName:
   225  			if source.Name != nil {
   226  				values = append(values, source.Name)
   227  			}
   228  		case AcceptedPlan_FieldPathSelectorMetadata:
   229  			if source.Metadata != nil {
   230  				values = append(values, source.Metadata)
   231  			}
   232  		case AcceptedPlan_FieldPathSelectorDefaultRegionalPlan:
   233  			if source.DefaultRegionalPlan != nil {
   234  				values = append(values, source.DefaultRegionalPlan)
   235  			}
   236  		case AcceptedPlan_FieldPathSelectorService:
   237  			if source.Service != nil {
   238  				values = append(values, source.Service)
   239  			}
   240  		case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   241  			for _, value := range source.GetRegionalPlanOverrides() {
   242  				values = append(values, value)
   243  			}
   244  		case AcceptedPlan_FieldPathSelectorExtensions:
   245  			for _, value := range source.GetExtensions() {
   246  				values = append(values, value)
   247  			}
   248  		case AcceptedPlan_FieldPathSelectorAllowances:
   249  			for _, value := range source.GetAllowances() {
   250  				values = append(values, value)
   251  			}
   252  		case AcceptedPlan_FieldPathSelectorAppliedRegions:
   253  			for _, value := range source.GetAppliedRegions() {
   254  				values = append(values, value)
   255  			}
   256  		case AcceptedPlan_FieldPathSelectorAppliedPlanSpecGeneration:
   257  			values = append(values, source.AppliedPlanSpecGeneration)
   258  		case AcceptedPlan_FieldPathSelectorAssignee:
   259  			if source.Assignee != nil {
   260  				values = append(values, source.Assignee)
   261  			}
   262  		default:
   263  			panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector))
   264  		}
   265  	}
   266  	return
   267  }
   268  
   269  func (fp *AcceptedPlan_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
   270  	return fp.Get(source.(*AcceptedPlan))
   271  }
   272  
   273  // GetSingle returns value pointed by specific field of from source AcceptedPlan
   274  func (fp *AcceptedPlan_FieldTerminalPath) GetSingle(source *AcceptedPlan) (interface{}, bool) {
   275  	switch fp.selector {
   276  	case AcceptedPlan_FieldPathSelectorName:
   277  		res := source.GetName()
   278  		return res, res != nil
   279  	case AcceptedPlan_FieldPathSelectorMetadata:
   280  		res := source.GetMetadata()
   281  		return res, res != nil
   282  	case AcceptedPlan_FieldPathSelectorDefaultRegionalPlan:
   283  		res := source.GetDefaultRegionalPlan()
   284  		return res, res != nil
   285  	case AcceptedPlan_FieldPathSelectorService:
   286  		res := source.GetService()
   287  		return res, res != nil
   288  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   289  		res := source.GetRegionalPlanOverrides()
   290  		return res, res != nil
   291  	case AcceptedPlan_FieldPathSelectorExtensions:
   292  		res := source.GetExtensions()
   293  		return res, res != nil
   294  	case AcceptedPlan_FieldPathSelectorAllowances:
   295  		res := source.GetAllowances()
   296  		return res, res != nil
   297  	case AcceptedPlan_FieldPathSelectorAppliedRegions:
   298  		res := source.GetAppliedRegions()
   299  		return res, res != nil
   300  	case AcceptedPlan_FieldPathSelectorAppliedPlanSpecGeneration:
   301  		return source.GetAppliedPlanSpecGeneration(), source != nil
   302  	case AcceptedPlan_FieldPathSelectorAssignee:
   303  		res := source.GetAssignee()
   304  		return res, res != nil
   305  	default:
   306  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector))
   307  	}
   308  }
   309  
   310  func (fp *AcceptedPlan_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   311  	return fp.GetSingle(source.(*AcceptedPlan))
   312  }
   313  
   314  // GetDefault returns a default value of the field type
   315  func (fp *AcceptedPlan_FieldTerminalPath) GetDefault() interface{} {
   316  	switch fp.selector {
   317  	case AcceptedPlan_FieldPathSelectorName:
   318  		return (*Name)(nil)
   319  	case AcceptedPlan_FieldPathSelectorMetadata:
   320  		return (*meta.Meta)(nil)
   321  	case AcceptedPlan_FieldPathSelectorDefaultRegionalPlan:
   322  		return (*plan.Reference)(nil)
   323  	case AcceptedPlan_FieldPathSelectorService:
   324  		return (*meta_service.Reference)(nil)
   325  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   326  		return ([]*common.RegionalPlanAssignment)(nil)
   327  	case AcceptedPlan_FieldPathSelectorExtensions:
   328  		return ([]*common.Allowance)(nil)
   329  	case AcceptedPlan_FieldPathSelectorAllowances:
   330  		return ([]*common.Allowance)(nil)
   331  	case AcceptedPlan_FieldPathSelectorAppliedRegions:
   332  		return ([]string)(nil)
   333  	case AcceptedPlan_FieldPathSelectorAppliedPlanSpecGeneration:
   334  		return int64(0)
   335  	case AcceptedPlan_FieldPathSelectorAssignee:
   336  		return (*AcceptedPlan_Assignee)(nil)
   337  	default:
   338  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector))
   339  	}
   340  }
   341  
   342  func (fp *AcceptedPlan_FieldTerminalPath) ClearValue(item *AcceptedPlan) {
   343  	if item != nil {
   344  		switch fp.selector {
   345  		case AcceptedPlan_FieldPathSelectorName:
   346  			item.Name = nil
   347  		case AcceptedPlan_FieldPathSelectorMetadata:
   348  			item.Metadata = nil
   349  		case AcceptedPlan_FieldPathSelectorDefaultRegionalPlan:
   350  			item.DefaultRegionalPlan = nil
   351  		case AcceptedPlan_FieldPathSelectorService:
   352  			item.Service = nil
   353  		case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   354  			item.RegionalPlanOverrides = nil
   355  		case AcceptedPlan_FieldPathSelectorExtensions:
   356  			item.Extensions = nil
   357  		case AcceptedPlan_FieldPathSelectorAllowances:
   358  			item.Allowances = nil
   359  		case AcceptedPlan_FieldPathSelectorAppliedRegions:
   360  			item.AppliedRegions = nil
   361  		case AcceptedPlan_FieldPathSelectorAppliedPlanSpecGeneration:
   362  			item.AppliedPlanSpecGeneration = int64(0)
   363  		case AcceptedPlan_FieldPathSelectorAssignee:
   364  			item.Assignee = nil
   365  		default:
   366  			panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector))
   367  		}
   368  	}
   369  }
   370  
   371  func (fp *AcceptedPlan_FieldTerminalPath) ClearValueRaw(item proto.Message) {
   372  	fp.ClearValue(item.(*AcceptedPlan))
   373  }
   374  
   375  // IsLeaf - whether field path is holds simple value
   376  func (fp *AcceptedPlan_FieldTerminalPath) IsLeaf() bool {
   377  	return fp.selector == AcceptedPlan_FieldPathSelectorName ||
   378  		fp.selector == AcceptedPlan_FieldPathSelectorDefaultRegionalPlan ||
   379  		fp.selector == AcceptedPlan_FieldPathSelectorService ||
   380  		fp.selector == AcceptedPlan_FieldPathSelectorAppliedRegions ||
   381  		fp.selector == AcceptedPlan_FieldPathSelectorAppliedPlanSpecGeneration
   382  }
   383  
   384  func (fp *AcceptedPlan_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   385  	return []gotenobject.FieldPath{fp}
   386  }
   387  
   388  func (fp *AcceptedPlan_FieldTerminalPath) WithIValue(value interface{}) AcceptedPlan_FieldPathValue {
   389  	switch fp.selector {
   390  	case AcceptedPlan_FieldPathSelectorName:
   391  		return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*Name)}
   392  	case AcceptedPlan_FieldPathSelectorMetadata:
   393  		return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*meta.Meta)}
   394  	case AcceptedPlan_FieldPathSelectorDefaultRegionalPlan:
   395  		return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*plan.Reference)}
   396  	case AcceptedPlan_FieldPathSelectorService:
   397  		return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*meta_service.Reference)}
   398  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   399  		return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.([]*common.RegionalPlanAssignment)}
   400  	case AcceptedPlan_FieldPathSelectorExtensions:
   401  		return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.([]*common.Allowance)}
   402  	case AcceptedPlan_FieldPathSelectorAllowances:
   403  		return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.([]*common.Allowance)}
   404  	case AcceptedPlan_FieldPathSelectorAppliedRegions:
   405  		return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.([]string)}
   406  	case AcceptedPlan_FieldPathSelectorAppliedPlanSpecGeneration:
   407  		return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(int64)}
   408  	case AcceptedPlan_FieldPathSelectorAssignee:
   409  		return &AcceptedPlan_FieldTerminalPathValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*AcceptedPlan_Assignee)}
   410  	default:
   411  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector))
   412  	}
   413  }
   414  
   415  func (fp *AcceptedPlan_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   416  	return fp.WithIValue(value)
   417  }
   418  
   419  func (fp *AcceptedPlan_FieldTerminalPath) WithIArrayOfValues(values interface{}) AcceptedPlan_FieldPathArrayOfValues {
   420  	fpaov := &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp}
   421  	switch fp.selector {
   422  	case AcceptedPlan_FieldPathSelectorName:
   423  		return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([]*Name)}
   424  	case AcceptedPlan_FieldPathSelectorMetadata:
   425  		return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([]*meta.Meta)}
   426  	case AcceptedPlan_FieldPathSelectorDefaultRegionalPlan:
   427  		return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([]*plan.Reference)}
   428  	case AcceptedPlan_FieldPathSelectorService:
   429  		return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([]*meta_service.Reference)}
   430  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   431  		return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([][]*common.RegionalPlanAssignment)}
   432  	case AcceptedPlan_FieldPathSelectorExtensions:
   433  		return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([][]*common.Allowance)}
   434  	case AcceptedPlan_FieldPathSelectorAllowances:
   435  		return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([][]*common.Allowance)}
   436  	case AcceptedPlan_FieldPathSelectorAppliedRegions:
   437  		return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([][]string)}
   438  	case AcceptedPlan_FieldPathSelectorAppliedPlanSpecGeneration:
   439  		return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([]int64)}
   440  	case AcceptedPlan_FieldPathSelectorAssignee:
   441  		return &AcceptedPlan_FieldTerminalPathArrayOfValues{AcceptedPlan_FieldTerminalPath: *fp, values: values.([]*AcceptedPlan_Assignee)}
   442  	default:
   443  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector))
   444  	}
   445  	return fpaov
   446  }
   447  
   448  func (fp *AcceptedPlan_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   449  	return fp.WithIArrayOfValues(values)
   450  }
   451  
   452  func (fp *AcceptedPlan_FieldTerminalPath) WithIArrayItemValue(value interface{}) AcceptedPlan_FieldPathArrayItemValue {
   453  	switch fp.selector {
   454  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   455  		return &AcceptedPlan_FieldTerminalPathArrayItemValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*common.RegionalPlanAssignment)}
   456  	case AcceptedPlan_FieldPathSelectorExtensions:
   457  		return &AcceptedPlan_FieldTerminalPathArrayItemValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*common.Allowance)}
   458  	case AcceptedPlan_FieldPathSelectorAllowances:
   459  		return &AcceptedPlan_FieldTerminalPathArrayItemValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(*common.Allowance)}
   460  	case AcceptedPlan_FieldPathSelectorAppliedRegions:
   461  		return &AcceptedPlan_FieldTerminalPathArrayItemValue{AcceptedPlan_FieldTerminalPath: *fp, value: value.(string)}
   462  	default:
   463  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fp.selector))
   464  	}
   465  }
   466  
   467  func (fp *AcceptedPlan_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   468  	return fp.WithIArrayItemValue(value)
   469  }
   470  
   471  type AcceptedPlan_FieldSubPath struct {
   472  	selector AcceptedPlan_FieldPathSelector
   473  	subPath  gotenobject.FieldPath
   474  }
   475  
   476  var _ AcceptedPlan_FieldPath = (*AcceptedPlan_FieldSubPath)(nil)
   477  
   478  func (fps *AcceptedPlan_FieldSubPath) Selector() AcceptedPlan_FieldPathSelector {
   479  	return fps.selector
   480  }
   481  func (fps *AcceptedPlan_FieldSubPath) AsMetadataSubPath() (meta.Meta_FieldPath, bool) {
   482  	res, ok := fps.subPath.(meta.Meta_FieldPath)
   483  	return res, ok
   484  }
   485  func (fps *AcceptedPlan_FieldSubPath) AsRegionalPlanOverridesSubPath() (common.RegionalPlanAssignment_FieldPath, bool) {
   486  	res, ok := fps.subPath.(common.RegionalPlanAssignment_FieldPath)
   487  	return res, ok
   488  }
   489  func (fps *AcceptedPlan_FieldSubPath) AsExtensionsSubPath() (common.Allowance_FieldPath, bool) {
   490  	res, ok := fps.subPath.(common.Allowance_FieldPath)
   491  	return res, ok
   492  }
   493  func (fps *AcceptedPlan_FieldSubPath) AsAllowancesSubPath() (common.Allowance_FieldPath, bool) {
   494  	res, ok := fps.subPath.(common.Allowance_FieldPath)
   495  	return res, ok
   496  }
   497  func (fps *AcceptedPlan_FieldSubPath) AsAssigneeSubPath() (AcceptedPlanAssignee_FieldPath, bool) {
   498  	res, ok := fps.subPath.(AcceptedPlanAssignee_FieldPath)
   499  	return res, ok
   500  }
   501  
   502  // String returns path representation in proto convention
   503  func (fps *AcceptedPlan_FieldSubPath) String() string {
   504  	return fps.selector.String() + "." + fps.subPath.String()
   505  }
   506  
   507  // JSONString returns path representation is JSON convention
   508  func (fps *AcceptedPlan_FieldSubPath) JSONString() string {
   509  	return strcase.ToLowerCamel(fps.selector.String()) + "." + fps.subPath.JSONString()
   510  }
   511  
   512  // Get returns all values pointed by selected field from source AcceptedPlan
   513  func (fps *AcceptedPlan_FieldSubPath) Get(source *AcceptedPlan) (values []interface{}) {
   514  	switch fps.selector {
   515  	case AcceptedPlan_FieldPathSelectorMetadata:
   516  		values = append(values, fps.subPath.GetRaw(source.GetMetadata())...)
   517  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   518  		for _, item := range source.GetRegionalPlanOverrides() {
   519  			values = append(values, fps.subPath.GetRaw(item)...)
   520  		}
   521  	case AcceptedPlan_FieldPathSelectorExtensions:
   522  		for _, item := range source.GetExtensions() {
   523  			values = append(values, fps.subPath.GetRaw(item)...)
   524  		}
   525  	case AcceptedPlan_FieldPathSelectorAllowances:
   526  		for _, item := range source.GetAllowances() {
   527  			values = append(values, fps.subPath.GetRaw(item)...)
   528  		}
   529  	case AcceptedPlan_FieldPathSelectorAssignee:
   530  		values = append(values, fps.subPath.GetRaw(source.GetAssignee())...)
   531  	default:
   532  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fps.selector))
   533  	}
   534  	return
   535  }
   536  
   537  func (fps *AcceptedPlan_FieldSubPath) GetRaw(source proto.Message) []interface{} {
   538  	return fps.Get(source.(*AcceptedPlan))
   539  }
   540  
   541  // GetSingle returns value of selected field from source AcceptedPlan
   542  func (fps *AcceptedPlan_FieldSubPath) GetSingle(source *AcceptedPlan) (interface{}, bool) {
   543  	switch fps.selector {
   544  	case AcceptedPlan_FieldPathSelectorMetadata:
   545  		if source.GetMetadata() == nil {
   546  			return nil, false
   547  		}
   548  		return fps.subPath.GetSingleRaw(source.GetMetadata())
   549  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   550  		if len(source.GetRegionalPlanOverrides()) == 0 {
   551  			return nil, false
   552  		}
   553  		return fps.subPath.GetSingleRaw(source.GetRegionalPlanOverrides()[0])
   554  	case AcceptedPlan_FieldPathSelectorExtensions:
   555  		if len(source.GetExtensions()) == 0 {
   556  			return nil, false
   557  		}
   558  		return fps.subPath.GetSingleRaw(source.GetExtensions()[0])
   559  	case AcceptedPlan_FieldPathSelectorAllowances:
   560  		if len(source.GetAllowances()) == 0 {
   561  			return nil, false
   562  		}
   563  		return fps.subPath.GetSingleRaw(source.GetAllowances()[0])
   564  	case AcceptedPlan_FieldPathSelectorAssignee:
   565  		if source.GetAssignee() == nil {
   566  			return nil, false
   567  		}
   568  		return fps.subPath.GetSingleRaw(source.GetAssignee())
   569  	default:
   570  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fps.selector))
   571  	}
   572  }
   573  
   574  func (fps *AcceptedPlan_FieldSubPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
   575  	return fps.GetSingle(source.(*AcceptedPlan))
   576  }
   577  
   578  // GetDefault returns a default value of the field type
   579  func (fps *AcceptedPlan_FieldSubPath) GetDefault() interface{} {
   580  	return fps.subPath.GetDefault()
   581  }
   582  
   583  func (fps *AcceptedPlan_FieldSubPath) ClearValue(item *AcceptedPlan) {
   584  	if item != nil {
   585  		switch fps.selector {
   586  		case AcceptedPlan_FieldPathSelectorMetadata:
   587  			fps.subPath.ClearValueRaw(item.Metadata)
   588  		case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   589  			for _, subItem := range item.RegionalPlanOverrides {
   590  				fps.subPath.ClearValueRaw(subItem)
   591  			}
   592  		case AcceptedPlan_FieldPathSelectorExtensions:
   593  			for _, subItem := range item.Extensions {
   594  				fps.subPath.ClearValueRaw(subItem)
   595  			}
   596  		case AcceptedPlan_FieldPathSelectorAllowances:
   597  			for _, subItem := range item.Allowances {
   598  				fps.subPath.ClearValueRaw(subItem)
   599  			}
   600  		case AcceptedPlan_FieldPathSelectorAssignee:
   601  			fps.subPath.ClearValueRaw(item.Assignee)
   602  		default:
   603  			panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fps.selector))
   604  		}
   605  	}
   606  }
   607  
   608  func (fps *AcceptedPlan_FieldSubPath) ClearValueRaw(item proto.Message) {
   609  	fps.ClearValue(item.(*AcceptedPlan))
   610  }
   611  
   612  // IsLeaf - whether field path is holds simple value
   613  func (fps *AcceptedPlan_FieldSubPath) IsLeaf() bool {
   614  	return fps.subPath.IsLeaf()
   615  }
   616  
   617  func (fps *AcceptedPlan_FieldSubPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
   618  	iPaths := []gotenobject.FieldPath{&AcceptedPlan_FieldTerminalPath{selector: fps.selector}}
   619  	iPaths = append(iPaths, fps.subPath.SplitIntoTerminalIPaths()...)
   620  	return iPaths
   621  }
   622  
   623  func (fps *AcceptedPlan_FieldSubPath) WithIValue(value interface{}) AcceptedPlan_FieldPathValue {
   624  	return &AcceptedPlan_FieldSubPathValue{fps, fps.subPath.WithRawIValue(value)}
   625  }
   626  
   627  func (fps *AcceptedPlan_FieldSubPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
   628  	return fps.WithIValue(value)
   629  }
   630  
   631  func (fps *AcceptedPlan_FieldSubPath) WithIArrayOfValues(values interface{}) AcceptedPlan_FieldPathArrayOfValues {
   632  	return &AcceptedPlan_FieldSubPathArrayOfValues{fps, fps.subPath.WithRawIArrayOfValues(values)}
   633  }
   634  
   635  func (fps *AcceptedPlan_FieldSubPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
   636  	return fps.WithIArrayOfValues(values)
   637  }
   638  
   639  func (fps *AcceptedPlan_FieldSubPath) WithIArrayItemValue(value interface{}) AcceptedPlan_FieldPathArrayItemValue {
   640  	return &AcceptedPlan_FieldSubPathArrayItemValue{fps, fps.subPath.WithRawIArrayItemValue(value)}
   641  }
   642  
   643  func (fps *AcceptedPlan_FieldSubPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
   644  	return fps.WithIArrayItemValue(value)
   645  }
   646  
   647  // AcceptedPlan_FieldPathValue allows storing values for AcceptedPlan fields according to their type
   648  type AcceptedPlan_FieldPathValue interface {
   649  	AcceptedPlan_FieldPath
   650  	gotenobject.FieldPathValue
   651  	SetTo(target **AcceptedPlan)
   652  	CompareWith(*AcceptedPlan) (cmp int, comparable bool)
   653  }
   654  
   655  func ParseAcceptedPlan_FieldPathValue(pathStr, valueStr string) (AcceptedPlan_FieldPathValue, error) {
   656  	fp, err := ParseAcceptedPlan_FieldPath(pathStr)
   657  	if err != nil {
   658  		return nil, err
   659  	}
   660  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
   661  	if err != nil {
   662  		return nil, status.Errorf(codes.InvalidArgument, "error parsing AcceptedPlan field path value from %s: %v", valueStr, err)
   663  	}
   664  	return fpv.(AcceptedPlan_FieldPathValue), nil
   665  }
   666  
   667  func MustParseAcceptedPlan_FieldPathValue(pathStr, valueStr string) AcceptedPlan_FieldPathValue {
   668  	fpv, err := ParseAcceptedPlan_FieldPathValue(pathStr, valueStr)
   669  	if err != nil {
   670  		panic(err)
   671  	}
   672  	return fpv
   673  }
   674  
   675  type AcceptedPlan_FieldTerminalPathValue struct {
   676  	AcceptedPlan_FieldTerminalPath
   677  	value interface{}
   678  }
   679  
   680  var _ AcceptedPlan_FieldPathValue = (*AcceptedPlan_FieldTerminalPathValue)(nil)
   681  
   682  // GetRawValue returns raw value stored under selected path for 'AcceptedPlan' as interface{}
   683  func (fpv *AcceptedPlan_FieldTerminalPathValue) GetRawValue() interface{} {
   684  	return fpv.value
   685  }
   686  func (fpv *AcceptedPlan_FieldTerminalPathValue) AsNameValue() (*Name, bool) {
   687  	res, ok := fpv.value.(*Name)
   688  	return res, ok
   689  }
   690  func (fpv *AcceptedPlan_FieldTerminalPathValue) AsMetadataValue() (*meta.Meta, bool) {
   691  	res, ok := fpv.value.(*meta.Meta)
   692  	return res, ok
   693  }
   694  func (fpv *AcceptedPlan_FieldTerminalPathValue) AsDefaultRegionalPlanValue() (*plan.Reference, bool) {
   695  	res, ok := fpv.value.(*plan.Reference)
   696  	return res, ok
   697  }
   698  func (fpv *AcceptedPlan_FieldTerminalPathValue) AsServiceValue() (*meta_service.Reference, bool) {
   699  	res, ok := fpv.value.(*meta_service.Reference)
   700  	return res, ok
   701  }
   702  func (fpv *AcceptedPlan_FieldTerminalPathValue) AsRegionalPlanOverridesValue() ([]*common.RegionalPlanAssignment, bool) {
   703  	res, ok := fpv.value.([]*common.RegionalPlanAssignment)
   704  	return res, ok
   705  }
   706  func (fpv *AcceptedPlan_FieldTerminalPathValue) AsExtensionsValue() ([]*common.Allowance, bool) {
   707  	res, ok := fpv.value.([]*common.Allowance)
   708  	return res, ok
   709  }
   710  func (fpv *AcceptedPlan_FieldTerminalPathValue) AsAllowancesValue() ([]*common.Allowance, bool) {
   711  	res, ok := fpv.value.([]*common.Allowance)
   712  	return res, ok
   713  }
   714  func (fpv *AcceptedPlan_FieldTerminalPathValue) AsAppliedRegionsValue() ([]string, bool) {
   715  	res, ok := fpv.value.([]string)
   716  	return res, ok
   717  }
   718  func (fpv *AcceptedPlan_FieldTerminalPathValue) AsAppliedPlanSpecGenerationValue() (int64, bool) {
   719  	res, ok := fpv.value.(int64)
   720  	return res, ok
   721  }
   722  func (fpv *AcceptedPlan_FieldTerminalPathValue) AsAssigneeValue() (*AcceptedPlan_Assignee, bool) {
   723  	res, ok := fpv.value.(*AcceptedPlan_Assignee)
   724  	return res, ok
   725  }
   726  
   727  // SetTo stores value for selected field for object AcceptedPlan
   728  func (fpv *AcceptedPlan_FieldTerminalPathValue) SetTo(target **AcceptedPlan) {
   729  	if *target == nil {
   730  		*target = new(AcceptedPlan)
   731  	}
   732  	switch fpv.selector {
   733  	case AcceptedPlan_FieldPathSelectorName:
   734  		(*target).Name = fpv.value.(*Name)
   735  	case AcceptedPlan_FieldPathSelectorMetadata:
   736  		(*target).Metadata = fpv.value.(*meta.Meta)
   737  	case AcceptedPlan_FieldPathSelectorDefaultRegionalPlan:
   738  		(*target).DefaultRegionalPlan = fpv.value.(*plan.Reference)
   739  	case AcceptedPlan_FieldPathSelectorService:
   740  		(*target).Service = fpv.value.(*meta_service.Reference)
   741  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   742  		(*target).RegionalPlanOverrides = fpv.value.([]*common.RegionalPlanAssignment)
   743  	case AcceptedPlan_FieldPathSelectorExtensions:
   744  		(*target).Extensions = fpv.value.([]*common.Allowance)
   745  	case AcceptedPlan_FieldPathSelectorAllowances:
   746  		(*target).Allowances = fpv.value.([]*common.Allowance)
   747  	case AcceptedPlan_FieldPathSelectorAppliedRegions:
   748  		(*target).AppliedRegions = fpv.value.([]string)
   749  	case AcceptedPlan_FieldPathSelectorAppliedPlanSpecGeneration:
   750  		(*target).AppliedPlanSpecGeneration = fpv.value.(int64)
   751  	case AcceptedPlan_FieldPathSelectorAssignee:
   752  		(*target).Assignee = fpv.value.(*AcceptedPlan_Assignee)
   753  	default:
   754  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fpv.selector))
   755  	}
   756  }
   757  
   758  func (fpv *AcceptedPlan_FieldTerminalPathValue) SetToRaw(target proto.Message) {
   759  	typedObject := target.(*AcceptedPlan)
   760  	fpv.SetTo(&typedObject)
   761  }
   762  
   763  // CompareWith compares value in the 'AcceptedPlan_FieldTerminalPathValue' with the value under path in 'AcceptedPlan'.
   764  func (fpv *AcceptedPlan_FieldTerminalPathValue) CompareWith(source *AcceptedPlan) (int, bool) {
   765  	switch fpv.selector {
   766  	case AcceptedPlan_FieldPathSelectorName:
   767  		leftValue := fpv.value.(*Name)
   768  		rightValue := source.GetName()
   769  		if leftValue == nil {
   770  			if rightValue != nil {
   771  				return -1, true
   772  			}
   773  			return 0, true
   774  		}
   775  		if rightValue == nil {
   776  			return 1, true
   777  		}
   778  		if leftValue.String() == rightValue.String() {
   779  			return 0, true
   780  		} else if leftValue.String() < rightValue.String() {
   781  			return -1, true
   782  		} else {
   783  			return 1, true
   784  		}
   785  	case AcceptedPlan_FieldPathSelectorMetadata:
   786  		return 0, false
   787  	case AcceptedPlan_FieldPathSelectorDefaultRegionalPlan:
   788  		leftValue := fpv.value.(*plan.Reference)
   789  		rightValue := source.GetDefaultRegionalPlan()
   790  		if leftValue == nil {
   791  			if rightValue != nil {
   792  				return -1, true
   793  			}
   794  			return 0, true
   795  		}
   796  		if rightValue == nil {
   797  			return 1, true
   798  		}
   799  		if leftValue.String() == rightValue.String() {
   800  			return 0, true
   801  		} else if leftValue.String() < rightValue.String() {
   802  			return -1, true
   803  		} else {
   804  			return 1, true
   805  		}
   806  	case AcceptedPlan_FieldPathSelectorService:
   807  		leftValue := fpv.value.(*meta_service.Reference)
   808  		rightValue := source.GetService()
   809  		if leftValue == nil {
   810  			if rightValue != nil {
   811  				return -1, true
   812  			}
   813  			return 0, true
   814  		}
   815  		if rightValue == nil {
   816  			return 1, true
   817  		}
   818  		if leftValue.String() == rightValue.String() {
   819  			return 0, true
   820  		} else if leftValue.String() < rightValue.String() {
   821  			return -1, true
   822  		} else {
   823  			return 1, true
   824  		}
   825  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   826  		return 0, false
   827  	case AcceptedPlan_FieldPathSelectorExtensions:
   828  		return 0, false
   829  	case AcceptedPlan_FieldPathSelectorAllowances:
   830  		return 0, false
   831  	case AcceptedPlan_FieldPathSelectorAppliedRegions:
   832  		return 0, false
   833  	case AcceptedPlan_FieldPathSelectorAppliedPlanSpecGeneration:
   834  		leftValue := fpv.value.(int64)
   835  		rightValue := source.GetAppliedPlanSpecGeneration()
   836  		if (leftValue) == (rightValue) {
   837  			return 0, true
   838  		} else if (leftValue) < (rightValue) {
   839  			return -1, true
   840  		} else {
   841  			return 1, true
   842  		}
   843  	case AcceptedPlan_FieldPathSelectorAssignee:
   844  		return 0, false
   845  	default:
   846  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fpv.selector))
   847  	}
   848  }
   849  
   850  func (fpv *AcceptedPlan_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   851  	return fpv.CompareWith(source.(*AcceptedPlan))
   852  }
   853  
   854  type AcceptedPlan_FieldSubPathValue struct {
   855  	AcceptedPlan_FieldPath
   856  	subPathValue gotenobject.FieldPathValue
   857  }
   858  
   859  var _ AcceptedPlan_FieldPathValue = (*AcceptedPlan_FieldSubPathValue)(nil)
   860  
   861  func (fpvs *AcceptedPlan_FieldSubPathValue) AsMetadataPathValue() (meta.Meta_FieldPathValue, bool) {
   862  	res, ok := fpvs.subPathValue.(meta.Meta_FieldPathValue)
   863  	return res, ok
   864  }
   865  func (fpvs *AcceptedPlan_FieldSubPathValue) AsRegionalPlanOverridesPathValue() (common.RegionalPlanAssignment_FieldPathValue, bool) {
   866  	res, ok := fpvs.subPathValue.(common.RegionalPlanAssignment_FieldPathValue)
   867  	return res, ok
   868  }
   869  func (fpvs *AcceptedPlan_FieldSubPathValue) AsExtensionsPathValue() (common.Allowance_FieldPathValue, bool) {
   870  	res, ok := fpvs.subPathValue.(common.Allowance_FieldPathValue)
   871  	return res, ok
   872  }
   873  func (fpvs *AcceptedPlan_FieldSubPathValue) AsAllowancesPathValue() (common.Allowance_FieldPathValue, bool) {
   874  	res, ok := fpvs.subPathValue.(common.Allowance_FieldPathValue)
   875  	return res, ok
   876  }
   877  func (fpvs *AcceptedPlan_FieldSubPathValue) AsAssigneePathValue() (AcceptedPlanAssignee_FieldPathValue, bool) {
   878  	res, ok := fpvs.subPathValue.(AcceptedPlanAssignee_FieldPathValue)
   879  	return res, ok
   880  }
   881  
   882  func (fpvs *AcceptedPlan_FieldSubPathValue) SetTo(target **AcceptedPlan) {
   883  	if *target == nil {
   884  		*target = new(AcceptedPlan)
   885  	}
   886  	switch fpvs.Selector() {
   887  	case AcceptedPlan_FieldPathSelectorMetadata:
   888  		fpvs.subPathValue.(meta.Meta_FieldPathValue).SetTo(&(*target).Metadata)
   889  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   890  		panic("FieldPath setter is unsupported for array subpaths")
   891  	case AcceptedPlan_FieldPathSelectorExtensions:
   892  		panic("FieldPath setter is unsupported for array subpaths")
   893  	case AcceptedPlan_FieldPathSelectorAllowances:
   894  		panic("FieldPath setter is unsupported for array subpaths")
   895  	case AcceptedPlan_FieldPathSelectorAssignee:
   896  		fpvs.subPathValue.(AcceptedPlanAssignee_FieldPathValue).SetTo(&(*target).Assignee)
   897  	default:
   898  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fpvs.Selector()))
   899  	}
   900  }
   901  
   902  func (fpvs *AcceptedPlan_FieldSubPathValue) SetToRaw(target proto.Message) {
   903  	typedObject := target.(*AcceptedPlan)
   904  	fpvs.SetTo(&typedObject)
   905  }
   906  
   907  func (fpvs *AcceptedPlan_FieldSubPathValue) GetRawValue() interface{} {
   908  	return fpvs.subPathValue.GetRawValue()
   909  }
   910  
   911  func (fpvs *AcceptedPlan_FieldSubPathValue) CompareWith(source *AcceptedPlan) (int, bool) {
   912  	switch fpvs.Selector() {
   913  	case AcceptedPlan_FieldPathSelectorMetadata:
   914  		return fpvs.subPathValue.(meta.Meta_FieldPathValue).CompareWith(source.GetMetadata())
   915  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
   916  		return 0, false // repeated field
   917  	case AcceptedPlan_FieldPathSelectorExtensions:
   918  		return 0, false // repeated field
   919  	case AcceptedPlan_FieldPathSelectorAllowances:
   920  		return 0, false // repeated field
   921  	case AcceptedPlan_FieldPathSelectorAssignee:
   922  		return fpvs.subPathValue.(AcceptedPlanAssignee_FieldPathValue).CompareWith(source.GetAssignee())
   923  	default:
   924  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fpvs.Selector()))
   925  	}
   926  }
   927  
   928  func (fpvs *AcceptedPlan_FieldSubPathValue) CompareWithRaw(source proto.Message) (int, bool) {
   929  	return fpvs.CompareWith(source.(*AcceptedPlan))
   930  }
   931  
   932  // AcceptedPlan_FieldPathArrayItemValue allows storing single item in Path-specific values for AcceptedPlan according to their type
   933  // Present only for array (repeated) types.
   934  type AcceptedPlan_FieldPathArrayItemValue interface {
   935  	gotenobject.FieldPathArrayItemValue
   936  	AcceptedPlan_FieldPath
   937  	ContainsValue(*AcceptedPlan) bool
   938  }
   939  
   940  // ParseAcceptedPlan_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
   941  func ParseAcceptedPlan_FieldPathArrayItemValue(pathStr, valueStr string) (AcceptedPlan_FieldPathArrayItemValue, error) {
   942  	fp, err := ParseAcceptedPlan_FieldPath(pathStr)
   943  	if err != nil {
   944  		return nil, err
   945  	}
   946  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
   947  	if err != nil {
   948  		return nil, status.Errorf(codes.InvalidArgument, "error parsing AcceptedPlan field path array item value from %s: %v", valueStr, err)
   949  	}
   950  	return fpaiv.(AcceptedPlan_FieldPathArrayItemValue), nil
   951  }
   952  
   953  func MustParseAcceptedPlan_FieldPathArrayItemValue(pathStr, valueStr string) AcceptedPlan_FieldPathArrayItemValue {
   954  	fpaiv, err := ParseAcceptedPlan_FieldPathArrayItemValue(pathStr, valueStr)
   955  	if err != nil {
   956  		panic(err)
   957  	}
   958  	return fpaiv
   959  }
   960  
   961  type AcceptedPlan_FieldTerminalPathArrayItemValue struct {
   962  	AcceptedPlan_FieldTerminalPath
   963  	value interface{}
   964  }
   965  
   966  var _ AcceptedPlan_FieldPathArrayItemValue = (*AcceptedPlan_FieldTerminalPathArrayItemValue)(nil)
   967  
   968  // GetRawValue returns stored element value for array in object AcceptedPlan as interface{}
   969  func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
   970  	return fpaiv.value
   971  }
   972  func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) AsRegionalPlanOverridesItemValue() (*common.RegionalPlanAssignment, bool) {
   973  	res, ok := fpaiv.value.(*common.RegionalPlanAssignment)
   974  	return res, ok
   975  }
   976  func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) AsExtensionsItemValue() (*common.Allowance, bool) {
   977  	res, ok := fpaiv.value.(*common.Allowance)
   978  	return res, ok
   979  }
   980  func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) AsAllowancesItemValue() (*common.Allowance, bool) {
   981  	res, ok := fpaiv.value.(*common.Allowance)
   982  	return res, ok
   983  }
   984  func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) AsAppliedRegionsItemValue() (string, bool) {
   985  	res, ok := fpaiv.value.(string)
   986  	return res, ok
   987  }
   988  
   989  func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) GetSingle(source *AcceptedPlan) (interface{}, bool) {
   990  	return nil, false
   991  }
   992  
   993  func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
   994  	return fpaiv.GetSingle(source.(*AcceptedPlan))
   995  }
   996  
   997  // Contains returns a boolean indicating if value that is being held is present in given 'AcceptedPlan'
   998  func (fpaiv *AcceptedPlan_FieldTerminalPathArrayItemValue) ContainsValue(source *AcceptedPlan) bool {
   999  	slice := fpaiv.AcceptedPlan_FieldTerminalPath.Get(source)
  1000  	for _, v := range slice {
  1001  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  1002  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  1003  				return true
  1004  			}
  1005  		} else if reflect.DeepEqual(v, fpaiv.value) {
  1006  			return true
  1007  		}
  1008  	}
  1009  	return false
  1010  }
  1011  
  1012  type AcceptedPlan_FieldSubPathArrayItemValue struct {
  1013  	AcceptedPlan_FieldPath
  1014  	subPathItemValue gotenobject.FieldPathArrayItemValue
  1015  }
  1016  
  1017  // GetRawValue returns stored array item value
  1018  func (fpaivs *AcceptedPlan_FieldSubPathArrayItemValue) GetRawItemValue() interface{} {
  1019  	return fpaivs.subPathItemValue.GetRawItemValue()
  1020  }
  1021  func (fpaivs *AcceptedPlan_FieldSubPathArrayItemValue) AsMetadataPathItemValue() (meta.Meta_FieldPathArrayItemValue, bool) {
  1022  	res, ok := fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue)
  1023  	return res, ok
  1024  }
  1025  func (fpaivs *AcceptedPlan_FieldSubPathArrayItemValue) AsRegionalPlanOverridesPathItemValue() (common.RegionalPlanAssignment_FieldPathArrayItemValue, bool) {
  1026  	res, ok := fpaivs.subPathItemValue.(common.RegionalPlanAssignment_FieldPathArrayItemValue)
  1027  	return res, ok
  1028  }
  1029  func (fpaivs *AcceptedPlan_FieldSubPathArrayItemValue) AsExtensionsPathItemValue() (common.Allowance_FieldPathArrayItemValue, bool) {
  1030  	res, ok := fpaivs.subPathItemValue.(common.Allowance_FieldPathArrayItemValue)
  1031  	return res, ok
  1032  }
  1033  func (fpaivs *AcceptedPlan_FieldSubPathArrayItemValue) AsAllowancesPathItemValue() (common.Allowance_FieldPathArrayItemValue, bool) {
  1034  	res, ok := fpaivs.subPathItemValue.(common.Allowance_FieldPathArrayItemValue)
  1035  	return res, ok
  1036  }
  1037  func (fpaivs *AcceptedPlan_FieldSubPathArrayItemValue) AsAssigneePathItemValue() (AcceptedPlanAssignee_FieldPathArrayItemValue, bool) {
  1038  	res, ok := fpaivs.subPathItemValue.(AcceptedPlanAssignee_FieldPathArrayItemValue)
  1039  	return res, ok
  1040  }
  1041  
  1042  // Contains returns a boolean indicating if value that is being held is present in given 'AcceptedPlan'
  1043  func (fpaivs *AcceptedPlan_FieldSubPathArrayItemValue) ContainsValue(source *AcceptedPlan) bool {
  1044  	switch fpaivs.Selector() {
  1045  	case AcceptedPlan_FieldPathSelectorMetadata:
  1046  		return fpaivs.subPathItemValue.(meta.Meta_FieldPathArrayItemValue).ContainsValue(source.GetMetadata())
  1047  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
  1048  		return false // repeated/map field
  1049  	case AcceptedPlan_FieldPathSelectorExtensions:
  1050  		return false // repeated/map field
  1051  	case AcceptedPlan_FieldPathSelectorAllowances:
  1052  		return false // repeated/map field
  1053  	case AcceptedPlan_FieldPathSelectorAssignee:
  1054  		return fpaivs.subPathItemValue.(AcceptedPlanAssignee_FieldPathArrayItemValue).ContainsValue(source.GetAssignee())
  1055  	default:
  1056  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan: %d", fpaivs.Selector()))
  1057  	}
  1058  }
  1059  
  1060  // AcceptedPlan_FieldPathArrayOfValues allows storing slice of values for AcceptedPlan fields according to their type
  1061  type AcceptedPlan_FieldPathArrayOfValues interface {
  1062  	gotenobject.FieldPathArrayOfValues
  1063  	AcceptedPlan_FieldPath
  1064  }
  1065  
  1066  func ParseAcceptedPlan_FieldPathArrayOfValues(pathStr, valuesStr string) (AcceptedPlan_FieldPathArrayOfValues, error) {
  1067  	fp, err := ParseAcceptedPlan_FieldPath(pathStr)
  1068  	if err != nil {
  1069  		return nil, err
  1070  	}
  1071  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  1072  	if err != nil {
  1073  		return nil, status.Errorf(codes.InvalidArgument, "error parsing AcceptedPlan field path array of values from %s: %v", valuesStr, err)
  1074  	}
  1075  	return fpaov.(AcceptedPlan_FieldPathArrayOfValues), nil
  1076  }
  1077  
  1078  func MustParseAcceptedPlan_FieldPathArrayOfValues(pathStr, valuesStr string) AcceptedPlan_FieldPathArrayOfValues {
  1079  	fpaov, err := ParseAcceptedPlan_FieldPathArrayOfValues(pathStr, valuesStr)
  1080  	if err != nil {
  1081  		panic(err)
  1082  	}
  1083  	return fpaov
  1084  }
  1085  
  1086  type AcceptedPlan_FieldTerminalPathArrayOfValues struct {
  1087  	AcceptedPlan_FieldTerminalPath
  1088  	values interface{}
  1089  }
  1090  
  1091  var _ AcceptedPlan_FieldPathArrayOfValues = (*AcceptedPlan_FieldTerminalPathArrayOfValues)(nil)
  1092  
  1093  func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  1094  	switch fpaov.selector {
  1095  	case AcceptedPlan_FieldPathSelectorName:
  1096  		for _, v := range fpaov.values.([]*Name) {
  1097  			values = append(values, v)
  1098  		}
  1099  	case AcceptedPlan_FieldPathSelectorMetadata:
  1100  		for _, v := range fpaov.values.([]*meta.Meta) {
  1101  			values = append(values, v)
  1102  		}
  1103  	case AcceptedPlan_FieldPathSelectorDefaultRegionalPlan:
  1104  		for _, v := range fpaov.values.([]*plan.Reference) {
  1105  			values = append(values, v)
  1106  		}
  1107  	case AcceptedPlan_FieldPathSelectorService:
  1108  		for _, v := range fpaov.values.([]*meta_service.Reference) {
  1109  			values = append(values, v)
  1110  		}
  1111  	case AcceptedPlan_FieldPathSelectorRegionalPlanOverrides:
  1112  		for _, v := range fpaov.values.([][]*common.RegionalPlanAssignment) {
  1113  			values = append(values, v)
  1114  		}
  1115  	case AcceptedPlan_FieldPathSelectorExtensions:
  1116  		for _, v := range fpaov.values.([][]*common.Allowance) {
  1117  			values = append(values, v)
  1118  		}
  1119  	case AcceptedPlan_FieldPathSelectorAllowances:
  1120  		for _, v := range fpaov.values.([][]*common.Allowance) {
  1121  			values = append(values, v)
  1122  		}
  1123  	case AcceptedPlan_FieldPathSelectorAppliedRegions:
  1124  		for _, v := range fpaov.values.([][]string) {
  1125  			values = append(values, v)
  1126  		}
  1127  	case AcceptedPlan_FieldPathSelectorAppliedPlanSpecGeneration:
  1128  		for _, v := range fpaov.values.([]int64) {
  1129  			values = append(values, v)
  1130  		}
  1131  	case AcceptedPlan_FieldPathSelectorAssignee:
  1132  		for _, v := range fpaov.values.([]*AcceptedPlan_Assignee) {
  1133  			values = append(values, v)
  1134  		}
  1135  	}
  1136  	return
  1137  }
  1138  func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsNameArrayOfValues() ([]*Name, bool) {
  1139  	res, ok := fpaov.values.([]*Name)
  1140  	return res, ok
  1141  }
  1142  func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsMetadataArrayOfValues() ([]*meta.Meta, bool) {
  1143  	res, ok := fpaov.values.([]*meta.Meta)
  1144  	return res, ok
  1145  }
  1146  func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsDefaultRegionalPlanArrayOfValues() ([]*plan.Reference, bool) {
  1147  	res, ok := fpaov.values.([]*plan.Reference)
  1148  	return res, ok
  1149  }
  1150  func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsServiceArrayOfValues() ([]*meta_service.Reference, bool) {
  1151  	res, ok := fpaov.values.([]*meta_service.Reference)
  1152  	return res, ok
  1153  }
  1154  func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsRegionalPlanOverridesArrayOfValues() ([][]*common.RegionalPlanAssignment, bool) {
  1155  	res, ok := fpaov.values.([][]*common.RegionalPlanAssignment)
  1156  	return res, ok
  1157  }
  1158  func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsExtensionsArrayOfValues() ([][]*common.Allowance, bool) {
  1159  	res, ok := fpaov.values.([][]*common.Allowance)
  1160  	return res, ok
  1161  }
  1162  func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsAllowancesArrayOfValues() ([][]*common.Allowance, bool) {
  1163  	res, ok := fpaov.values.([][]*common.Allowance)
  1164  	return res, ok
  1165  }
  1166  func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsAppliedRegionsArrayOfValues() ([][]string, bool) {
  1167  	res, ok := fpaov.values.([][]string)
  1168  	return res, ok
  1169  }
  1170  func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsAppliedPlanSpecGenerationArrayOfValues() ([]int64, bool) {
  1171  	res, ok := fpaov.values.([]int64)
  1172  	return res, ok
  1173  }
  1174  func (fpaov *AcceptedPlan_FieldTerminalPathArrayOfValues) AsAssigneeArrayOfValues() ([]*AcceptedPlan_Assignee, bool) {
  1175  	res, ok := fpaov.values.([]*AcceptedPlan_Assignee)
  1176  	return res, ok
  1177  }
  1178  
  1179  type AcceptedPlan_FieldSubPathArrayOfValues struct {
  1180  	AcceptedPlan_FieldPath
  1181  	subPathArrayOfValues gotenobject.FieldPathArrayOfValues
  1182  }
  1183  
  1184  var _ AcceptedPlan_FieldPathArrayOfValues = (*AcceptedPlan_FieldSubPathArrayOfValues)(nil)
  1185  
  1186  func (fpsaov *AcceptedPlan_FieldSubPathArrayOfValues) GetRawValues() []interface{} {
  1187  	return fpsaov.subPathArrayOfValues.GetRawValues()
  1188  }
  1189  func (fpsaov *AcceptedPlan_FieldSubPathArrayOfValues) AsMetadataPathArrayOfValues() (meta.Meta_FieldPathArrayOfValues, bool) {
  1190  	res, ok := fpsaov.subPathArrayOfValues.(meta.Meta_FieldPathArrayOfValues)
  1191  	return res, ok
  1192  }
  1193  func (fpsaov *AcceptedPlan_FieldSubPathArrayOfValues) AsRegionalPlanOverridesPathArrayOfValues() (common.RegionalPlanAssignment_FieldPathArrayOfValues, bool) {
  1194  	res, ok := fpsaov.subPathArrayOfValues.(common.RegionalPlanAssignment_FieldPathArrayOfValues)
  1195  	return res, ok
  1196  }
  1197  func (fpsaov *AcceptedPlan_FieldSubPathArrayOfValues) AsExtensionsPathArrayOfValues() (common.Allowance_FieldPathArrayOfValues, bool) {
  1198  	res, ok := fpsaov.subPathArrayOfValues.(common.Allowance_FieldPathArrayOfValues)
  1199  	return res, ok
  1200  }
  1201  func (fpsaov *AcceptedPlan_FieldSubPathArrayOfValues) AsAllowancesPathArrayOfValues() (common.Allowance_FieldPathArrayOfValues, bool) {
  1202  	res, ok := fpsaov.subPathArrayOfValues.(common.Allowance_FieldPathArrayOfValues)
  1203  	return res, ok
  1204  }
  1205  func (fpsaov *AcceptedPlan_FieldSubPathArrayOfValues) AsAssigneePathArrayOfValues() (AcceptedPlanAssignee_FieldPathArrayOfValues, bool) {
  1206  	res, ok := fpsaov.subPathArrayOfValues.(AcceptedPlanAssignee_FieldPathArrayOfValues)
  1207  	return res, ok
  1208  }
  1209  
  1210  // FieldPath provides implementation to handle
  1211  // https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto
  1212  type AcceptedPlanAssignee_FieldPath interface {
  1213  	gotenobject.FieldPath
  1214  	Selector() AcceptedPlanAssignee_FieldPathSelector
  1215  	Get(source *AcceptedPlan_Assignee) []interface{}
  1216  	GetSingle(source *AcceptedPlan_Assignee) (interface{}, bool)
  1217  	ClearValue(item *AcceptedPlan_Assignee)
  1218  
  1219  	// Those methods build corresponding AcceptedPlanAssignee_FieldPathValue
  1220  	// (or array of values) and holds passed value. Panics if injected type is incorrect.
  1221  	WithIValue(value interface{}) AcceptedPlanAssignee_FieldPathValue
  1222  	WithIArrayOfValues(values interface{}) AcceptedPlanAssignee_FieldPathArrayOfValues
  1223  	WithIArrayItemValue(value interface{}) AcceptedPlanAssignee_FieldPathArrayItemValue
  1224  }
  1225  
  1226  type AcceptedPlanAssignee_FieldPathSelector int32
  1227  
  1228  const (
  1229  	AcceptedPlanAssignee_FieldPathSelectorProjectAssignee      AcceptedPlanAssignee_FieldPathSelector = 0
  1230  	AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee AcceptedPlanAssignee_FieldPathSelector = 1
  1231  	AcceptedPlanAssignee_FieldPathSelectorServiceAssignee      AcceptedPlanAssignee_FieldPathSelector = 2
  1232  )
  1233  
  1234  func (s AcceptedPlanAssignee_FieldPathSelector) String() string {
  1235  	switch s {
  1236  	case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee:
  1237  		return "project_assignee"
  1238  	case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee:
  1239  		return "organization_assignee"
  1240  	case AcceptedPlanAssignee_FieldPathSelectorServiceAssignee:
  1241  		return "service_assignee"
  1242  	default:
  1243  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", s))
  1244  	}
  1245  }
  1246  
  1247  func BuildAcceptedPlanAssignee_FieldPath(fp gotenobject.RawFieldPath) (AcceptedPlanAssignee_FieldPath, error) {
  1248  	if len(fp) == 0 {
  1249  		return nil, status.Error(codes.InvalidArgument, "empty field path for object AcceptedPlan_Assignee")
  1250  	}
  1251  	if len(fp) == 1 {
  1252  		switch fp[0] {
  1253  		case "project_assignee", "projectAssignee", "project-assignee":
  1254  			return &AcceptedPlanAssignee_FieldTerminalPath{selector: AcceptedPlanAssignee_FieldPathSelectorProjectAssignee}, nil
  1255  		case "organization_assignee", "organizationAssignee", "organization-assignee":
  1256  			return &AcceptedPlanAssignee_FieldTerminalPath{selector: AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee}, nil
  1257  		case "service_assignee", "serviceAssignee", "service-assignee":
  1258  			return &AcceptedPlanAssignee_FieldTerminalPath{selector: AcceptedPlanAssignee_FieldPathSelectorServiceAssignee}, nil
  1259  		}
  1260  	}
  1261  	return nil, status.Errorf(codes.InvalidArgument, "unknown field path '%s' for object AcceptedPlan_Assignee", fp)
  1262  }
  1263  
  1264  func ParseAcceptedPlanAssignee_FieldPath(rawField string) (AcceptedPlanAssignee_FieldPath, error) {
  1265  	fp, err := gotenobject.ParseRawFieldPath(rawField)
  1266  	if err != nil {
  1267  		return nil, err
  1268  	}
  1269  	return BuildAcceptedPlanAssignee_FieldPath(fp)
  1270  }
  1271  
  1272  func MustParseAcceptedPlanAssignee_FieldPath(rawField string) AcceptedPlanAssignee_FieldPath {
  1273  	fp, err := ParseAcceptedPlanAssignee_FieldPath(rawField)
  1274  	if err != nil {
  1275  		panic(err)
  1276  	}
  1277  	return fp
  1278  }
  1279  
  1280  type AcceptedPlanAssignee_FieldTerminalPath struct {
  1281  	selector AcceptedPlanAssignee_FieldPathSelector
  1282  }
  1283  
  1284  var _ AcceptedPlanAssignee_FieldPath = (*AcceptedPlanAssignee_FieldTerminalPath)(nil)
  1285  
  1286  func (fp *AcceptedPlanAssignee_FieldTerminalPath) Selector() AcceptedPlanAssignee_FieldPathSelector {
  1287  	return fp.selector
  1288  }
  1289  
  1290  // String returns path representation in proto convention
  1291  func (fp *AcceptedPlanAssignee_FieldTerminalPath) String() string {
  1292  	return fp.selector.String()
  1293  }
  1294  
  1295  // JSONString returns path representation is JSON convention
  1296  func (fp *AcceptedPlanAssignee_FieldTerminalPath) JSONString() string {
  1297  	return strcase.ToLowerCamel(fp.String())
  1298  }
  1299  
  1300  // Get returns all values pointed by specific field from source AcceptedPlan_Assignee
  1301  func (fp *AcceptedPlanAssignee_FieldTerminalPath) Get(source *AcceptedPlan_Assignee) (values []interface{}) {
  1302  	if source != nil {
  1303  		switch fp.selector {
  1304  		case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee:
  1305  			if source, ok := source.Assignee.(*AcceptedPlan_Assignee_ProjectAssignee); ok && source != nil {
  1306  				if source.ProjectAssignee != nil {
  1307  					values = append(values, source.ProjectAssignee)
  1308  				}
  1309  			}
  1310  		case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee:
  1311  			if source, ok := source.Assignee.(*AcceptedPlan_Assignee_OrganizationAssignee); ok && source != nil {
  1312  				if source.OrganizationAssignee != nil {
  1313  					values = append(values, source.OrganizationAssignee)
  1314  				}
  1315  			}
  1316  		case AcceptedPlanAssignee_FieldPathSelectorServiceAssignee:
  1317  			if source, ok := source.Assignee.(*AcceptedPlan_Assignee_ServiceAssignee); ok && source != nil {
  1318  				if source.ServiceAssignee != nil {
  1319  					values = append(values, source.ServiceAssignee)
  1320  				}
  1321  			}
  1322  		default:
  1323  			panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector))
  1324  		}
  1325  	}
  1326  	return
  1327  }
  1328  
  1329  func (fp *AcceptedPlanAssignee_FieldTerminalPath) GetRaw(source proto.Message) []interface{} {
  1330  	return fp.Get(source.(*AcceptedPlan_Assignee))
  1331  }
  1332  
  1333  // GetSingle returns value pointed by specific field of from source AcceptedPlan_Assignee
  1334  func (fp *AcceptedPlanAssignee_FieldTerminalPath) GetSingle(source *AcceptedPlan_Assignee) (interface{}, bool) {
  1335  	switch fp.selector {
  1336  	case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee:
  1337  		// if object nil or oneof not active, return "default" type with false flag.
  1338  		if source == nil {
  1339  			return source.GetProjectAssignee(), false
  1340  		}
  1341  		_, oneOfSelected := source.Assignee.(*AcceptedPlan_Assignee_ProjectAssignee)
  1342  		if !oneOfSelected {
  1343  			return source.GetProjectAssignee(), false // to return "type" information
  1344  		}
  1345  		res := source.GetProjectAssignee()
  1346  		return res, res != nil
  1347  	case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee:
  1348  		// if object nil or oneof not active, return "default" type with false flag.
  1349  		if source == nil {
  1350  			return source.GetOrganizationAssignee(), false
  1351  		}
  1352  		_, oneOfSelected := source.Assignee.(*AcceptedPlan_Assignee_OrganizationAssignee)
  1353  		if !oneOfSelected {
  1354  			return source.GetOrganizationAssignee(), false // to return "type" information
  1355  		}
  1356  		res := source.GetOrganizationAssignee()
  1357  		return res, res != nil
  1358  	case AcceptedPlanAssignee_FieldPathSelectorServiceAssignee:
  1359  		// if object nil or oneof not active, return "default" type with false flag.
  1360  		if source == nil {
  1361  			return source.GetServiceAssignee(), false
  1362  		}
  1363  		_, oneOfSelected := source.Assignee.(*AcceptedPlan_Assignee_ServiceAssignee)
  1364  		if !oneOfSelected {
  1365  			return source.GetServiceAssignee(), false // to return "type" information
  1366  		}
  1367  		res := source.GetServiceAssignee()
  1368  		return res, res != nil
  1369  	default:
  1370  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector))
  1371  	}
  1372  }
  1373  
  1374  func (fp *AcceptedPlanAssignee_FieldTerminalPath) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1375  	return fp.GetSingle(source.(*AcceptedPlan_Assignee))
  1376  }
  1377  
  1378  // GetDefault returns a default value of the field type
  1379  func (fp *AcceptedPlanAssignee_FieldTerminalPath) GetDefault() interface{} {
  1380  	switch fp.selector {
  1381  	case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee:
  1382  		return (*iam_project.Reference)(nil)
  1383  	case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee:
  1384  		return (*iam_organization.Reference)(nil)
  1385  	case AcceptedPlanAssignee_FieldPathSelectorServiceAssignee:
  1386  		return (*meta_service.Reference)(nil)
  1387  	default:
  1388  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector))
  1389  	}
  1390  }
  1391  
  1392  func (fp *AcceptedPlanAssignee_FieldTerminalPath) ClearValue(item *AcceptedPlan_Assignee) {
  1393  	if item != nil {
  1394  		switch fp.selector {
  1395  		case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee:
  1396  			if item, ok := item.Assignee.(*AcceptedPlan_Assignee_ProjectAssignee); ok {
  1397  				item.ProjectAssignee = nil
  1398  			}
  1399  		case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee:
  1400  			if item, ok := item.Assignee.(*AcceptedPlan_Assignee_OrganizationAssignee); ok {
  1401  				item.OrganizationAssignee = nil
  1402  			}
  1403  		case AcceptedPlanAssignee_FieldPathSelectorServiceAssignee:
  1404  			if item, ok := item.Assignee.(*AcceptedPlan_Assignee_ServiceAssignee); ok {
  1405  				item.ServiceAssignee = nil
  1406  			}
  1407  		default:
  1408  			panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector))
  1409  		}
  1410  	}
  1411  }
  1412  
  1413  func (fp *AcceptedPlanAssignee_FieldTerminalPath) ClearValueRaw(item proto.Message) {
  1414  	fp.ClearValue(item.(*AcceptedPlan_Assignee))
  1415  }
  1416  
  1417  // IsLeaf - whether field path is holds simple value
  1418  func (fp *AcceptedPlanAssignee_FieldTerminalPath) IsLeaf() bool {
  1419  	return fp.selector == AcceptedPlanAssignee_FieldPathSelectorProjectAssignee ||
  1420  		fp.selector == AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee ||
  1421  		fp.selector == AcceptedPlanAssignee_FieldPathSelectorServiceAssignee
  1422  }
  1423  
  1424  func (fp *AcceptedPlanAssignee_FieldTerminalPath) SplitIntoTerminalIPaths() []gotenobject.FieldPath {
  1425  	return []gotenobject.FieldPath{fp}
  1426  }
  1427  
  1428  func (fp *AcceptedPlanAssignee_FieldTerminalPath) WithIValue(value interface{}) AcceptedPlanAssignee_FieldPathValue {
  1429  	switch fp.selector {
  1430  	case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee:
  1431  		return &AcceptedPlanAssignee_FieldTerminalPathValue{AcceptedPlanAssignee_FieldTerminalPath: *fp, value: value.(*iam_project.Reference)}
  1432  	case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee:
  1433  		return &AcceptedPlanAssignee_FieldTerminalPathValue{AcceptedPlanAssignee_FieldTerminalPath: *fp, value: value.(*iam_organization.Reference)}
  1434  	case AcceptedPlanAssignee_FieldPathSelectorServiceAssignee:
  1435  		return &AcceptedPlanAssignee_FieldTerminalPathValue{AcceptedPlanAssignee_FieldTerminalPath: *fp, value: value.(*meta_service.Reference)}
  1436  	default:
  1437  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector))
  1438  	}
  1439  }
  1440  
  1441  func (fp *AcceptedPlanAssignee_FieldTerminalPath) WithRawIValue(value interface{}) gotenobject.FieldPathValue {
  1442  	return fp.WithIValue(value)
  1443  }
  1444  
  1445  func (fp *AcceptedPlanAssignee_FieldTerminalPath) WithIArrayOfValues(values interface{}) AcceptedPlanAssignee_FieldPathArrayOfValues {
  1446  	fpaov := &AcceptedPlanAssignee_FieldTerminalPathArrayOfValues{AcceptedPlanAssignee_FieldTerminalPath: *fp}
  1447  	switch fp.selector {
  1448  	case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee:
  1449  		return &AcceptedPlanAssignee_FieldTerminalPathArrayOfValues{AcceptedPlanAssignee_FieldTerminalPath: *fp, values: values.([]*iam_project.Reference)}
  1450  	case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee:
  1451  		return &AcceptedPlanAssignee_FieldTerminalPathArrayOfValues{AcceptedPlanAssignee_FieldTerminalPath: *fp, values: values.([]*iam_organization.Reference)}
  1452  	case AcceptedPlanAssignee_FieldPathSelectorServiceAssignee:
  1453  		return &AcceptedPlanAssignee_FieldTerminalPathArrayOfValues{AcceptedPlanAssignee_FieldTerminalPath: *fp, values: values.([]*meta_service.Reference)}
  1454  	default:
  1455  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector))
  1456  	}
  1457  	return fpaov
  1458  }
  1459  
  1460  func (fp *AcceptedPlanAssignee_FieldTerminalPath) WithRawIArrayOfValues(values interface{}) gotenobject.FieldPathArrayOfValues {
  1461  	return fp.WithIArrayOfValues(values)
  1462  }
  1463  
  1464  func (fp *AcceptedPlanAssignee_FieldTerminalPath) WithIArrayItemValue(value interface{}) AcceptedPlanAssignee_FieldPathArrayItemValue {
  1465  	switch fp.selector {
  1466  	default:
  1467  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fp.selector))
  1468  	}
  1469  }
  1470  
  1471  func (fp *AcceptedPlanAssignee_FieldTerminalPath) WithRawIArrayItemValue(value interface{}) gotenobject.FieldPathArrayItemValue {
  1472  	return fp.WithIArrayItemValue(value)
  1473  }
  1474  
  1475  // AcceptedPlanAssignee_FieldPathValue allows storing values for Assignee fields according to their type
  1476  type AcceptedPlanAssignee_FieldPathValue interface {
  1477  	AcceptedPlanAssignee_FieldPath
  1478  	gotenobject.FieldPathValue
  1479  	SetTo(target **AcceptedPlan_Assignee)
  1480  	CompareWith(*AcceptedPlan_Assignee) (cmp int, comparable bool)
  1481  }
  1482  
  1483  func ParseAcceptedPlanAssignee_FieldPathValue(pathStr, valueStr string) (AcceptedPlanAssignee_FieldPathValue, error) {
  1484  	fp, err := ParseAcceptedPlanAssignee_FieldPath(pathStr)
  1485  	if err != nil {
  1486  		return nil, err
  1487  	}
  1488  	fpv, err := gotenobject.ParseFieldPathValue(fp, valueStr)
  1489  	if err != nil {
  1490  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Assignee field path value from %s: %v", valueStr, err)
  1491  	}
  1492  	return fpv.(AcceptedPlanAssignee_FieldPathValue), nil
  1493  }
  1494  
  1495  func MustParseAcceptedPlanAssignee_FieldPathValue(pathStr, valueStr string) AcceptedPlanAssignee_FieldPathValue {
  1496  	fpv, err := ParseAcceptedPlanAssignee_FieldPathValue(pathStr, valueStr)
  1497  	if err != nil {
  1498  		panic(err)
  1499  	}
  1500  	return fpv
  1501  }
  1502  
  1503  type AcceptedPlanAssignee_FieldTerminalPathValue struct {
  1504  	AcceptedPlanAssignee_FieldTerminalPath
  1505  	value interface{}
  1506  }
  1507  
  1508  var _ AcceptedPlanAssignee_FieldPathValue = (*AcceptedPlanAssignee_FieldTerminalPathValue)(nil)
  1509  
  1510  // GetRawValue returns raw value stored under selected path for 'Assignee' as interface{}
  1511  func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) GetRawValue() interface{} {
  1512  	return fpv.value
  1513  }
  1514  func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) AsProjectAssigneeValue() (*iam_project.Reference, bool) {
  1515  	res, ok := fpv.value.(*iam_project.Reference)
  1516  	return res, ok
  1517  }
  1518  func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) AsOrganizationAssigneeValue() (*iam_organization.Reference, bool) {
  1519  	res, ok := fpv.value.(*iam_organization.Reference)
  1520  	return res, ok
  1521  }
  1522  func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) AsServiceAssigneeValue() (*meta_service.Reference, bool) {
  1523  	res, ok := fpv.value.(*meta_service.Reference)
  1524  	return res, ok
  1525  }
  1526  
  1527  // SetTo stores value for selected field for object Assignee
  1528  func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) SetTo(target **AcceptedPlan_Assignee) {
  1529  	if *target == nil {
  1530  		*target = new(AcceptedPlan_Assignee)
  1531  	}
  1532  	switch fpv.selector {
  1533  	case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee:
  1534  		if _, ok := (*target).Assignee.(*AcceptedPlan_Assignee_ProjectAssignee); !ok {
  1535  			(*target).Assignee = &AcceptedPlan_Assignee_ProjectAssignee{}
  1536  		}
  1537  		(*target).Assignee.(*AcceptedPlan_Assignee_ProjectAssignee).ProjectAssignee = fpv.value.(*iam_project.Reference)
  1538  	case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee:
  1539  		if _, ok := (*target).Assignee.(*AcceptedPlan_Assignee_OrganizationAssignee); !ok {
  1540  			(*target).Assignee = &AcceptedPlan_Assignee_OrganizationAssignee{}
  1541  		}
  1542  		(*target).Assignee.(*AcceptedPlan_Assignee_OrganizationAssignee).OrganizationAssignee = fpv.value.(*iam_organization.Reference)
  1543  	case AcceptedPlanAssignee_FieldPathSelectorServiceAssignee:
  1544  		if _, ok := (*target).Assignee.(*AcceptedPlan_Assignee_ServiceAssignee); !ok {
  1545  			(*target).Assignee = &AcceptedPlan_Assignee_ServiceAssignee{}
  1546  		}
  1547  		(*target).Assignee.(*AcceptedPlan_Assignee_ServiceAssignee).ServiceAssignee = fpv.value.(*meta_service.Reference)
  1548  	default:
  1549  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fpv.selector))
  1550  	}
  1551  }
  1552  
  1553  func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) SetToRaw(target proto.Message) {
  1554  	typedObject := target.(*AcceptedPlan_Assignee)
  1555  	fpv.SetTo(&typedObject)
  1556  }
  1557  
  1558  // CompareWith compares value in the 'AcceptedPlanAssignee_FieldTerminalPathValue' with the value under path in 'AcceptedPlan_Assignee'.
  1559  func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) CompareWith(source *AcceptedPlan_Assignee) (int, bool) {
  1560  	switch fpv.selector {
  1561  	case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee:
  1562  		leftValue := fpv.value.(*iam_project.Reference)
  1563  		rightValue := source.GetProjectAssignee()
  1564  		if leftValue == nil {
  1565  			if rightValue != nil {
  1566  				return -1, true
  1567  			}
  1568  			return 0, true
  1569  		}
  1570  		if rightValue == nil {
  1571  			return 1, true
  1572  		}
  1573  		if leftValue.String() == rightValue.String() {
  1574  			return 0, true
  1575  		} else if leftValue.String() < rightValue.String() {
  1576  			return -1, true
  1577  		} else {
  1578  			return 1, true
  1579  		}
  1580  	case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee:
  1581  		leftValue := fpv.value.(*iam_organization.Reference)
  1582  		rightValue := source.GetOrganizationAssignee()
  1583  		if leftValue == nil {
  1584  			if rightValue != nil {
  1585  				return -1, true
  1586  			}
  1587  			return 0, true
  1588  		}
  1589  		if rightValue == nil {
  1590  			return 1, true
  1591  		}
  1592  		if leftValue.String() == rightValue.String() {
  1593  			return 0, true
  1594  		} else if leftValue.String() < rightValue.String() {
  1595  			return -1, true
  1596  		} else {
  1597  			return 1, true
  1598  		}
  1599  	case AcceptedPlanAssignee_FieldPathSelectorServiceAssignee:
  1600  		leftValue := fpv.value.(*meta_service.Reference)
  1601  		rightValue := source.GetServiceAssignee()
  1602  		if leftValue == nil {
  1603  			if rightValue != nil {
  1604  				return -1, true
  1605  			}
  1606  			return 0, true
  1607  		}
  1608  		if rightValue == nil {
  1609  			return 1, true
  1610  		}
  1611  		if leftValue.String() == rightValue.String() {
  1612  			return 0, true
  1613  		} else if leftValue.String() < rightValue.String() {
  1614  			return -1, true
  1615  		} else {
  1616  			return 1, true
  1617  		}
  1618  	default:
  1619  		panic(fmt.Sprintf("Invalid selector for AcceptedPlan_Assignee: %d", fpv.selector))
  1620  	}
  1621  }
  1622  
  1623  func (fpv *AcceptedPlanAssignee_FieldTerminalPathValue) CompareWithRaw(source proto.Message) (int, bool) {
  1624  	return fpv.CompareWith(source.(*AcceptedPlan_Assignee))
  1625  }
  1626  
  1627  // AcceptedPlanAssignee_FieldPathArrayItemValue allows storing single item in Path-specific values for Assignee according to their type
  1628  // Present only for array (repeated) types.
  1629  type AcceptedPlanAssignee_FieldPathArrayItemValue interface {
  1630  	gotenobject.FieldPathArrayItemValue
  1631  	AcceptedPlanAssignee_FieldPath
  1632  	ContainsValue(*AcceptedPlan_Assignee) bool
  1633  }
  1634  
  1635  // ParseAcceptedPlanAssignee_FieldPathArrayItemValue parses string and JSON-encoded value to its Value
  1636  func ParseAcceptedPlanAssignee_FieldPathArrayItemValue(pathStr, valueStr string) (AcceptedPlanAssignee_FieldPathArrayItemValue, error) {
  1637  	fp, err := ParseAcceptedPlanAssignee_FieldPath(pathStr)
  1638  	if err != nil {
  1639  		return nil, err
  1640  	}
  1641  	fpaiv, err := gotenobject.ParseFieldPathArrayItemValue(fp, valueStr)
  1642  	if err != nil {
  1643  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Assignee field path array item value from %s: %v", valueStr, err)
  1644  	}
  1645  	return fpaiv.(AcceptedPlanAssignee_FieldPathArrayItemValue), nil
  1646  }
  1647  
  1648  func MustParseAcceptedPlanAssignee_FieldPathArrayItemValue(pathStr, valueStr string) AcceptedPlanAssignee_FieldPathArrayItemValue {
  1649  	fpaiv, err := ParseAcceptedPlanAssignee_FieldPathArrayItemValue(pathStr, valueStr)
  1650  	if err != nil {
  1651  		panic(err)
  1652  	}
  1653  	return fpaiv
  1654  }
  1655  
  1656  type AcceptedPlanAssignee_FieldTerminalPathArrayItemValue struct {
  1657  	AcceptedPlanAssignee_FieldTerminalPath
  1658  	value interface{}
  1659  }
  1660  
  1661  var _ AcceptedPlanAssignee_FieldPathArrayItemValue = (*AcceptedPlanAssignee_FieldTerminalPathArrayItemValue)(nil)
  1662  
  1663  // GetRawValue returns stored element value for array in object AcceptedPlan_Assignee as interface{}
  1664  func (fpaiv *AcceptedPlanAssignee_FieldTerminalPathArrayItemValue) GetRawItemValue() interface{} {
  1665  	return fpaiv.value
  1666  }
  1667  
  1668  func (fpaiv *AcceptedPlanAssignee_FieldTerminalPathArrayItemValue) GetSingle(source *AcceptedPlan_Assignee) (interface{}, bool) {
  1669  	return nil, false
  1670  }
  1671  
  1672  func (fpaiv *AcceptedPlanAssignee_FieldTerminalPathArrayItemValue) GetSingleRaw(source proto.Message) (interface{}, bool) {
  1673  	return fpaiv.GetSingle(source.(*AcceptedPlan_Assignee))
  1674  }
  1675  
  1676  // Contains returns a boolean indicating if value that is being held is present in given 'Assignee'
  1677  func (fpaiv *AcceptedPlanAssignee_FieldTerminalPathArrayItemValue) ContainsValue(source *AcceptedPlan_Assignee) bool {
  1678  	slice := fpaiv.AcceptedPlanAssignee_FieldTerminalPath.Get(source)
  1679  	for _, v := range slice {
  1680  		if asProtoMsg, ok := fpaiv.value.(proto.Message); ok {
  1681  			if proto.Equal(asProtoMsg, v.(proto.Message)) {
  1682  				return true
  1683  			}
  1684  		} else if reflect.DeepEqual(v, fpaiv.value) {
  1685  			return true
  1686  		}
  1687  	}
  1688  	return false
  1689  }
  1690  
  1691  // AcceptedPlanAssignee_FieldPathArrayOfValues allows storing slice of values for Assignee fields according to their type
  1692  type AcceptedPlanAssignee_FieldPathArrayOfValues interface {
  1693  	gotenobject.FieldPathArrayOfValues
  1694  	AcceptedPlanAssignee_FieldPath
  1695  }
  1696  
  1697  func ParseAcceptedPlanAssignee_FieldPathArrayOfValues(pathStr, valuesStr string) (AcceptedPlanAssignee_FieldPathArrayOfValues, error) {
  1698  	fp, err := ParseAcceptedPlanAssignee_FieldPath(pathStr)
  1699  	if err != nil {
  1700  		return nil, err
  1701  	}
  1702  	fpaov, err := gotenobject.ParseFieldPathArrayOfValues(fp, valuesStr)
  1703  	if err != nil {
  1704  		return nil, status.Errorf(codes.InvalidArgument, "error parsing Assignee field path array of values from %s: %v", valuesStr, err)
  1705  	}
  1706  	return fpaov.(AcceptedPlanAssignee_FieldPathArrayOfValues), nil
  1707  }
  1708  
  1709  func MustParseAcceptedPlanAssignee_FieldPathArrayOfValues(pathStr, valuesStr string) AcceptedPlanAssignee_FieldPathArrayOfValues {
  1710  	fpaov, err := ParseAcceptedPlanAssignee_FieldPathArrayOfValues(pathStr, valuesStr)
  1711  	if err != nil {
  1712  		panic(err)
  1713  	}
  1714  	return fpaov
  1715  }
  1716  
  1717  type AcceptedPlanAssignee_FieldTerminalPathArrayOfValues struct {
  1718  	AcceptedPlanAssignee_FieldTerminalPath
  1719  	values interface{}
  1720  }
  1721  
  1722  var _ AcceptedPlanAssignee_FieldPathArrayOfValues = (*AcceptedPlanAssignee_FieldTerminalPathArrayOfValues)(nil)
  1723  
  1724  func (fpaov *AcceptedPlanAssignee_FieldTerminalPathArrayOfValues) GetRawValues() (values []interface{}) {
  1725  	switch fpaov.selector {
  1726  	case AcceptedPlanAssignee_FieldPathSelectorProjectAssignee:
  1727  		for _, v := range fpaov.values.([]*iam_project.Reference) {
  1728  			values = append(values, v)
  1729  		}
  1730  	case AcceptedPlanAssignee_FieldPathSelectorOrganizationAssignee:
  1731  		for _, v := range fpaov.values.([]*iam_organization.Reference) {
  1732  			values = append(values, v)
  1733  		}
  1734  	case AcceptedPlanAssignee_FieldPathSelectorServiceAssignee:
  1735  		for _, v := range fpaov.values.([]*meta_service.Reference) {
  1736  			values = append(values, v)
  1737  		}
  1738  	}
  1739  	return
  1740  }
  1741  func (fpaov *AcceptedPlanAssignee_FieldTerminalPathArrayOfValues) AsProjectAssigneeArrayOfValues() ([]*iam_project.Reference, bool) {
  1742  	res, ok := fpaov.values.([]*iam_project.Reference)
  1743  	return res, ok
  1744  }
  1745  func (fpaov *AcceptedPlanAssignee_FieldTerminalPathArrayOfValues) AsOrganizationAssigneeArrayOfValues() ([]*iam_organization.Reference, bool) {
  1746  	res, ok := fpaov.values.([]*iam_organization.Reference)
  1747  	return res, ok
  1748  }
  1749  func (fpaov *AcceptedPlanAssignee_FieldTerminalPathArrayOfValues) AsServiceAssigneeArrayOfValues() ([]*meta_service.Reference, bool) {
  1750  	res, ok := fpaov.values.([]*meta_service.Reference)
  1751  	return res, ok
  1752  }