github.com/cloudwan/edgelq-sdk@v1.15.4/audit/resources/v1alpha2/common/common.pb.fieldmask.go (about)

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/audit/proto/v1alpha2/common.proto
     3  // DO NOT EDIT!!!
     4  
     5  package common
     6  
     7  import (
     8  	"encoding/json"
     9  	"strings"
    10  
    11  	"google.golang.org/grpc/codes"
    12  	"google.golang.org/grpc/status"
    13  	"google.golang.org/protobuf/proto"
    14  	preflect "google.golang.org/protobuf/reflect/protoreflect"
    15  	googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    16  
    17  	gotenobject "github.com/cloudwan/goten-sdk/runtime/object"
    18  )
    19  
    20  // proto imports
    21  import (
    22  	anypb "google.golang.org/protobuf/types/known/anypb"
    23  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    24  )
    25  
    26  // ensure the imports are used
    27  var (
    28  	_ = new(json.Marshaler)
    29  	_ = strings.Builder{}
    30  
    31  	_ = codes.NotFound
    32  	_ = status.Status{}
    33  	_ = new(proto.Message)
    34  	_ = new(preflect.Message)
    35  	_ = googlefieldmaskpb.FieldMask{}
    36  
    37  	_ = new(gotenobject.FieldMask)
    38  )
    39  
    40  // make sure we're using proto imports
    41  var (
    42  	_ = &anypb.Any{}
    43  	_ = &timestamppb.Timestamp{}
    44  )
    45  
    46  type Authentication_FieldMask struct {
    47  	Paths []Authentication_FieldPath
    48  }
    49  
    50  func FullAuthentication_FieldMask() *Authentication_FieldMask {
    51  	res := &Authentication_FieldMask{}
    52  	res.Paths = append(res.Paths, &Authentication_FieldTerminalPath{selector: Authentication_FieldPathSelectorPrincipal})
    53  	res.Paths = append(res.Paths, &Authentication_FieldTerminalPath{selector: Authentication_FieldPathSelectorPrincipalType})
    54  	return res
    55  }
    56  
    57  func (fieldMask *Authentication_FieldMask) String() string {
    58  	if fieldMask == nil {
    59  		return "<nil>"
    60  	}
    61  	pathsStr := make([]string, 0, len(fieldMask.Paths))
    62  	for _, path := range fieldMask.Paths {
    63  		pathsStr = append(pathsStr, path.String())
    64  	}
    65  	return strings.Join(pathsStr, ", ")
    66  }
    67  
    68  func (fieldMask *Authentication_FieldMask) IsFull() bool {
    69  	if fieldMask == nil {
    70  		return false
    71  	}
    72  	presentSelectors := make([]bool, 2)
    73  	for _, path := range fieldMask.Paths {
    74  		if asFinal, ok := path.(*Authentication_FieldTerminalPath); ok {
    75  			presentSelectors[int(asFinal.selector)] = true
    76  		}
    77  	}
    78  	for _, flag := range presentSelectors {
    79  		if !flag {
    80  			return false
    81  		}
    82  	}
    83  	return true
    84  }
    85  
    86  func (fieldMask *Authentication_FieldMask) ProtoReflect() preflect.Message {
    87  	return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) {
    88  		return ParseAuthentication_FieldPath(raw)
    89  	})
    90  }
    91  
    92  func (fieldMask *Authentication_FieldMask) ProtoMessage() {}
    93  
    94  func (fieldMask *Authentication_FieldMask) Reset() {
    95  	if fieldMask != nil {
    96  		fieldMask.Paths = nil
    97  	}
    98  }
    99  
   100  func (fieldMask *Authentication_FieldMask) Subtract(other *Authentication_FieldMask) *Authentication_FieldMask {
   101  	result := &Authentication_FieldMask{}
   102  	removedSelectors := make([]bool, 2)
   103  
   104  	for _, path := range other.GetPaths() {
   105  		switch tp := path.(type) {
   106  		case *Authentication_FieldTerminalPath:
   107  			removedSelectors[int(tp.selector)] = true
   108  		}
   109  	}
   110  	for _, path := range fieldMask.GetPaths() {
   111  		if !removedSelectors[int(path.Selector())] {
   112  			result.Paths = append(result.Paths, path)
   113  		}
   114  	}
   115  
   116  	if len(result.Paths) == 0 {
   117  		return nil
   118  	}
   119  	return result
   120  }
   121  
   122  func (fieldMask *Authentication_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask {
   123  	return fieldMask.Subtract(other.(*Authentication_FieldMask))
   124  }
   125  
   126  // FilterInputFields generates copy of field paths with output_only field paths removed
   127  func (fieldMask *Authentication_FieldMask) FilterInputFields() *Authentication_FieldMask {
   128  	result := &Authentication_FieldMask{}
   129  	result.Paths = append(result.Paths, fieldMask.Paths...)
   130  	return result
   131  }
   132  
   133  // ToFieldMask is used for proto conversions
   134  func (fieldMask *Authentication_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask {
   135  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
   136  	for _, path := range fieldMask.Paths {
   137  		protoFieldMask.Paths = append(protoFieldMask.Paths, path.String())
   138  	}
   139  	return protoFieldMask
   140  }
   141  
   142  func (fieldMask *Authentication_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error {
   143  	if fieldMask == nil {
   144  		return status.Error(codes.Internal, "target field mask is nil")
   145  	}
   146  	fieldMask.Paths = make([]Authentication_FieldPath, 0, len(protoFieldMask.Paths))
   147  	for _, strPath := range protoFieldMask.Paths {
   148  		path, err := ParseAuthentication_FieldPath(strPath)
   149  		if err != nil {
   150  			return err
   151  		}
   152  		fieldMask.Paths = append(fieldMask.Paths, path)
   153  	}
   154  	return nil
   155  }
   156  
   157  // implement methods required by customType
   158  func (fieldMask Authentication_FieldMask) Marshal() ([]byte, error) {
   159  	protoFieldMask := fieldMask.ToProtoFieldMask()
   160  	return proto.Marshal(protoFieldMask)
   161  }
   162  
   163  func (fieldMask *Authentication_FieldMask) Unmarshal(data []byte) error {
   164  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
   165  	if err := proto.Unmarshal(data, protoFieldMask); err != nil {
   166  		return err
   167  	}
   168  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
   169  		return err
   170  	}
   171  	return nil
   172  }
   173  
   174  func (fieldMask *Authentication_FieldMask) Size() int {
   175  	return proto.Size(fieldMask.ToProtoFieldMask())
   176  }
   177  
   178  func (fieldMask Authentication_FieldMask) MarshalJSON() ([]byte, error) {
   179  	return json.Marshal(fieldMask.ToProtoFieldMask())
   180  }
   181  
   182  func (fieldMask *Authentication_FieldMask) UnmarshalJSON(data []byte) error {
   183  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
   184  	if err := json.Unmarshal(data, protoFieldMask); err != nil {
   185  		return err
   186  	}
   187  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
   188  		return err
   189  	}
   190  	return nil
   191  }
   192  
   193  func (fieldMask *Authentication_FieldMask) AppendPath(path Authentication_FieldPath) {
   194  	fieldMask.Paths = append(fieldMask.Paths, path)
   195  }
   196  
   197  func (fieldMask *Authentication_FieldMask) AppendRawPath(path gotenobject.FieldPath) {
   198  	fieldMask.Paths = append(fieldMask.Paths, path.(Authentication_FieldPath))
   199  }
   200  
   201  func (fieldMask *Authentication_FieldMask) GetPaths() []Authentication_FieldPath {
   202  	if fieldMask == nil {
   203  		return nil
   204  	}
   205  	return fieldMask.Paths
   206  }
   207  
   208  func (fieldMask *Authentication_FieldMask) GetRawPaths() []gotenobject.FieldPath {
   209  	if fieldMask == nil {
   210  		return nil
   211  	}
   212  	rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths))
   213  	for _, path := range fieldMask.Paths {
   214  		rawPaths = append(rawPaths, path)
   215  	}
   216  	return rawPaths
   217  }
   218  
   219  func (fieldMask *Authentication_FieldMask) SetFromCliFlag(raw string) error {
   220  	path, err := ParseAuthentication_FieldPath(raw)
   221  	if err != nil {
   222  		return err
   223  	}
   224  	fieldMask.Paths = append(fieldMask.Paths, path)
   225  	return nil
   226  }
   227  
   228  func (fieldMask *Authentication_FieldMask) Set(target, source *Authentication) {
   229  	for _, path := range fieldMask.Paths {
   230  		val, _ := path.GetSingle(source)
   231  		// if val is nil, then field does not exist in source, skip
   232  		// otherwise, process (can still reflect.ValueOf(val).IsNil!)
   233  		if val != nil {
   234  			path.WithIValue(val).SetTo(&target)
   235  		}
   236  	}
   237  }
   238  
   239  func (fieldMask *Authentication_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) {
   240  	fieldMask.Set(target.(*Authentication), source.(*Authentication))
   241  }
   242  
   243  func (fieldMask *Authentication_FieldMask) Project(source *Authentication) *Authentication {
   244  	if source == nil {
   245  		return nil
   246  	}
   247  	if fieldMask == nil {
   248  		return source
   249  	}
   250  	result := &Authentication{}
   251  
   252  	for _, p := range fieldMask.Paths {
   253  		switch tp := p.(type) {
   254  		case *Authentication_FieldTerminalPath:
   255  			switch tp.selector {
   256  			case Authentication_FieldPathSelectorPrincipal:
   257  				result.Principal = source.Principal
   258  			case Authentication_FieldPathSelectorPrincipalType:
   259  				result.PrincipalType = source.PrincipalType
   260  			}
   261  		}
   262  	}
   263  	return result
   264  }
   265  
   266  func (fieldMask *Authentication_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt {
   267  	return fieldMask.Project(source.(*Authentication))
   268  }
   269  
   270  func (fieldMask *Authentication_FieldMask) PathsCount() int {
   271  	if fieldMask == nil {
   272  		return 0
   273  	}
   274  	return len(fieldMask.Paths)
   275  }
   276  
   277  type Authorization_FieldMask struct {
   278  	Paths []Authorization_FieldPath
   279  }
   280  
   281  func FullAuthorization_FieldMask() *Authorization_FieldMask {
   282  	res := &Authorization_FieldMask{}
   283  	res.Paths = append(res.Paths, &Authorization_FieldTerminalPath{selector: Authorization_FieldPathSelectorGrantedPermissions})
   284  	res.Paths = append(res.Paths, &Authorization_FieldTerminalPath{selector: Authorization_FieldPathSelectorDeniedPermissions})
   285  	return res
   286  }
   287  
   288  func (fieldMask *Authorization_FieldMask) String() string {
   289  	if fieldMask == nil {
   290  		return "<nil>"
   291  	}
   292  	pathsStr := make([]string, 0, len(fieldMask.Paths))
   293  	for _, path := range fieldMask.Paths {
   294  		pathsStr = append(pathsStr, path.String())
   295  	}
   296  	return strings.Join(pathsStr, ", ")
   297  }
   298  
   299  func (fieldMask *Authorization_FieldMask) IsFull() bool {
   300  	if fieldMask == nil {
   301  		return false
   302  	}
   303  	presentSelectors := make([]bool, 2)
   304  	for _, path := range fieldMask.Paths {
   305  		if asFinal, ok := path.(*Authorization_FieldTerminalPath); ok {
   306  			presentSelectors[int(asFinal.selector)] = true
   307  		}
   308  	}
   309  	for _, flag := range presentSelectors {
   310  		if !flag {
   311  			return false
   312  		}
   313  	}
   314  	return true
   315  }
   316  
   317  func (fieldMask *Authorization_FieldMask) ProtoReflect() preflect.Message {
   318  	return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) {
   319  		return ParseAuthorization_FieldPath(raw)
   320  	})
   321  }
   322  
   323  func (fieldMask *Authorization_FieldMask) ProtoMessage() {}
   324  
   325  func (fieldMask *Authorization_FieldMask) Reset() {
   326  	if fieldMask != nil {
   327  		fieldMask.Paths = nil
   328  	}
   329  }
   330  
   331  func (fieldMask *Authorization_FieldMask) Subtract(other *Authorization_FieldMask) *Authorization_FieldMask {
   332  	result := &Authorization_FieldMask{}
   333  	removedSelectors := make([]bool, 2)
   334  
   335  	for _, path := range other.GetPaths() {
   336  		switch tp := path.(type) {
   337  		case *Authorization_FieldTerminalPath:
   338  			removedSelectors[int(tp.selector)] = true
   339  		}
   340  	}
   341  	for _, path := range fieldMask.GetPaths() {
   342  		if !removedSelectors[int(path.Selector())] {
   343  			result.Paths = append(result.Paths, path)
   344  		}
   345  	}
   346  
   347  	if len(result.Paths) == 0 {
   348  		return nil
   349  	}
   350  	return result
   351  }
   352  
   353  func (fieldMask *Authorization_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask {
   354  	return fieldMask.Subtract(other.(*Authorization_FieldMask))
   355  }
   356  
   357  // FilterInputFields generates copy of field paths with output_only field paths removed
   358  func (fieldMask *Authorization_FieldMask) FilterInputFields() *Authorization_FieldMask {
   359  	result := &Authorization_FieldMask{}
   360  	result.Paths = append(result.Paths, fieldMask.Paths...)
   361  	return result
   362  }
   363  
   364  // ToFieldMask is used for proto conversions
   365  func (fieldMask *Authorization_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask {
   366  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
   367  	for _, path := range fieldMask.Paths {
   368  		protoFieldMask.Paths = append(protoFieldMask.Paths, path.String())
   369  	}
   370  	return protoFieldMask
   371  }
   372  
   373  func (fieldMask *Authorization_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error {
   374  	if fieldMask == nil {
   375  		return status.Error(codes.Internal, "target field mask is nil")
   376  	}
   377  	fieldMask.Paths = make([]Authorization_FieldPath, 0, len(protoFieldMask.Paths))
   378  	for _, strPath := range protoFieldMask.Paths {
   379  		path, err := ParseAuthorization_FieldPath(strPath)
   380  		if err != nil {
   381  			return err
   382  		}
   383  		fieldMask.Paths = append(fieldMask.Paths, path)
   384  	}
   385  	return nil
   386  }
   387  
   388  // implement methods required by customType
   389  func (fieldMask Authorization_FieldMask) Marshal() ([]byte, error) {
   390  	protoFieldMask := fieldMask.ToProtoFieldMask()
   391  	return proto.Marshal(protoFieldMask)
   392  }
   393  
   394  func (fieldMask *Authorization_FieldMask) Unmarshal(data []byte) error {
   395  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
   396  	if err := proto.Unmarshal(data, protoFieldMask); err != nil {
   397  		return err
   398  	}
   399  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
   400  		return err
   401  	}
   402  	return nil
   403  }
   404  
   405  func (fieldMask *Authorization_FieldMask) Size() int {
   406  	return proto.Size(fieldMask.ToProtoFieldMask())
   407  }
   408  
   409  func (fieldMask Authorization_FieldMask) MarshalJSON() ([]byte, error) {
   410  	return json.Marshal(fieldMask.ToProtoFieldMask())
   411  }
   412  
   413  func (fieldMask *Authorization_FieldMask) UnmarshalJSON(data []byte) error {
   414  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
   415  	if err := json.Unmarshal(data, protoFieldMask); err != nil {
   416  		return err
   417  	}
   418  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
   419  		return err
   420  	}
   421  	return nil
   422  }
   423  
   424  func (fieldMask *Authorization_FieldMask) AppendPath(path Authorization_FieldPath) {
   425  	fieldMask.Paths = append(fieldMask.Paths, path)
   426  }
   427  
   428  func (fieldMask *Authorization_FieldMask) AppendRawPath(path gotenobject.FieldPath) {
   429  	fieldMask.Paths = append(fieldMask.Paths, path.(Authorization_FieldPath))
   430  }
   431  
   432  func (fieldMask *Authorization_FieldMask) GetPaths() []Authorization_FieldPath {
   433  	if fieldMask == nil {
   434  		return nil
   435  	}
   436  	return fieldMask.Paths
   437  }
   438  
   439  func (fieldMask *Authorization_FieldMask) GetRawPaths() []gotenobject.FieldPath {
   440  	if fieldMask == nil {
   441  		return nil
   442  	}
   443  	rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths))
   444  	for _, path := range fieldMask.Paths {
   445  		rawPaths = append(rawPaths, path)
   446  	}
   447  	return rawPaths
   448  }
   449  
   450  func (fieldMask *Authorization_FieldMask) SetFromCliFlag(raw string) error {
   451  	path, err := ParseAuthorization_FieldPath(raw)
   452  	if err != nil {
   453  		return err
   454  	}
   455  	fieldMask.Paths = append(fieldMask.Paths, path)
   456  	return nil
   457  }
   458  
   459  func (fieldMask *Authorization_FieldMask) Set(target, source *Authorization) {
   460  	for _, path := range fieldMask.Paths {
   461  		val, _ := path.GetSingle(source)
   462  		// if val is nil, then field does not exist in source, skip
   463  		// otherwise, process (can still reflect.ValueOf(val).IsNil!)
   464  		if val != nil {
   465  			path.WithIValue(val).SetTo(&target)
   466  		}
   467  	}
   468  }
   469  
   470  func (fieldMask *Authorization_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) {
   471  	fieldMask.Set(target.(*Authorization), source.(*Authorization))
   472  }
   473  
   474  func (fieldMask *Authorization_FieldMask) Project(source *Authorization) *Authorization {
   475  	if source == nil {
   476  		return nil
   477  	}
   478  	if fieldMask == nil {
   479  		return source
   480  	}
   481  	result := &Authorization{}
   482  
   483  	for _, p := range fieldMask.Paths {
   484  		switch tp := p.(type) {
   485  		case *Authorization_FieldTerminalPath:
   486  			switch tp.selector {
   487  			case Authorization_FieldPathSelectorGrantedPermissions:
   488  				result.GrantedPermissions = source.GrantedPermissions
   489  			case Authorization_FieldPathSelectorDeniedPermissions:
   490  				result.DeniedPermissions = source.DeniedPermissions
   491  			}
   492  		}
   493  	}
   494  	return result
   495  }
   496  
   497  func (fieldMask *Authorization_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt {
   498  	return fieldMask.Project(source.(*Authorization))
   499  }
   500  
   501  func (fieldMask *Authorization_FieldMask) PathsCount() int {
   502  	if fieldMask == nil {
   503  		return 0
   504  	}
   505  	return len(fieldMask.Paths)
   506  }
   507  
   508  type ServiceData_FieldMask struct {
   509  	Paths []ServiceData_FieldPath
   510  }
   511  
   512  func FullServiceData_FieldMask() *ServiceData_FieldMask {
   513  	res := &ServiceData_FieldMask{}
   514  	res.Paths = append(res.Paths, &ServiceData_FieldTerminalPath{selector: ServiceData_FieldPathSelectorName})
   515  	res.Paths = append(res.Paths, &ServiceData_FieldTerminalPath{selector: ServiceData_FieldPathSelectorRegionId})
   516  	return res
   517  }
   518  
   519  func (fieldMask *ServiceData_FieldMask) String() string {
   520  	if fieldMask == nil {
   521  		return "<nil>"
   522  	}
   523  	pathsStr := make([]string, 0, len(fieldMask.Paths))
   524  	for _, path := range fieldMask.Paths {
   525  		pathsStr = append(pathsStr, path.String())
   526  	}
   527  	return strings.Join(pathsStr, ", ")
   528  }
   529  
   530  func (fieldMask *ServiceData_FieldMask) IsFull() bool {
   531  	if fieldMask == nil {
   532  		return false
   533  	}
   534  	presentSelectors := make([]bool, 2)
   535  	for _, path := range fieldMask.Paths {
   536  		if asFinal, ok := path.(*ServiceData_FieldTerminalPath); ok {
   537  			presentSelectors[int(asFinal.selector)] = true
   538  		}
   539  	}
   540  	for _, flag := range presentSelectors {
   541  		if !flag {
   542  			return false
   543  		}
   544  	}
   545  	return true
   546  }
   547  
   548  func (fieldMask *ServiceData_FieldMask) ProtoReflect() preflect.Message {
   549  	return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) {
   550  		return ParseServiceData_FieldPath(raw)
   551  	})
   552  }
   553  
   554  func (fieldMask *ServiceData_FieldMask) ProtoMessage() {}
   555  
   556  func (fieldMask *ServiceData_FieldMask) Reset() {
   557  	if fieldMask != nil {
   558  		fieldMask.Paths = nil
   559  	}
   560  }
   561  
   562  func (fieldMask *ServiceData_FieldMask) Subtract(other *ServiceData_FieldMask) *ServiceData_FieldMask {
   563  	result := &ServiceData_FieldMask{}
   564  	removedSelectors := make([]bool, 2)
   565  
   566  	for _, path := range other.GetPaths() {
   567  		switch tp := path.(type) {
   568  		case *ServiceData_FieldTerminalPath:
   569  			removedSelectors[int(tp.selector)] = true
   570  		}
   571  	}
   572  	for _, path := range fieldMask.GetPaths() {
   573  		if !removedSelectors[int(path.Selector())] {
   574  			result.Paths = append(result.Paths, path)
   575  		}
   576  	}
   577  
   578  	if len(result.Paths) == 0 {
   579  		return nil
   580  	}
   581  	return result
   582  }
   583  
   584  func (fieldMask *ServiceData_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask {
   585  	return fieldMask.Subtract(other.(*ServiceData_FieldMask))
   586  }
   587  
   588  // FilterInputFields generates copy of field paths with output_only field paths removed
   589  func (fieldMask *ServiceData_FieldMask) FilterInputFields() *ServiceData_FieldMask {
   590  	result := &ServiceData_FieldMask{}
   591  	result.Paths = append(result.Paths, fieldMask.Paths...)
   592  	return result
   593  }
   594  
   595  // ToFieldMask is used for proto conversions
   596  func (fieldMask *ServiceData_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask {
   597  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
   598  	for _, path := range fieldMask.Paths {
   599  		protoFieldMask.Paths = append(protoFieldMask.Paths, path.String())
   600  	}
   601  	return protoFieldMask
   602  }
   603  
   604  func (fieldMask *ServiceData_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error {
   605  	if fieldMask == nil {
   606  		return status.Error(codes.Internal, "target field mask is nil")
   607  	}
   608  	fieldMask.Paths = make([]ServiceData_FieldPath, 0, len(protoFieldMask.Paths))
   609  	for _, strPath := range protoFieldMask.Paths {
   610  		path, err := ParseServiceData_FieldPath(strPath)
   611  		if err != nil {
   612  			return err
   613  		}
   614  		fieldMask.Paths = append(fieldMask.Paths, path)
   615  	}
   616  	return nil
   617  }
   618  
   619  // implement methods required by customType
   620  func (fieldMask ServiceData_FieldMask) Marshal() ([]byte, error) {
   621  	protoFieldMask := fieldMask.ToProtoFieldMask()
   622  	return proto.Marshal(protoFieldMask)
   623  }
   624  
   625  func (fieldMask *ServiceData_FieldMask) Unmarshal(data []byte) error {
   626  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
   627  	if err := proto.Unmarshal(data, protoFieldMask); err != nil {
   628  		return err
   629  	}
   630  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
   631  		return err
   632  	}
   633  	return nil
   634  }
   635  
   636  func (fieldMask *ServiceData_FieldMask) Size() int {
   637  	return proto.Size(fieldMask.ToProtoFieldMask())
   638  }
   639  
   640  func (fieldMask ServiceData_FieldMask) MarshalJSON() ([]byte, error) {
   641  	return json.Marshal(fieldMask.ToProtoFieldMask())
   642  }
   643  
   644  func (fieldMask *ServiceData_FieldMask) UnmarshalJSON(data []byte) error {
   645  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
   646  	if err := json.Unmarshal(data, protoFieldMask); err != nil {
   647  		return err
   648  	}
   649  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
   650  		return err
   651  	}
   652  	return nil
   653  }
   654  
   655  func (fieldMask *ServiceData_FieldMask) AppendPath(path ServiceData_FieldPath) {
   656  	fieldMask.Paths = append(fieldMask.Paths, path)
   657  }
   658  
   659  func (fieldMask *ServiceData_FieldMask) AppendRawPath(path gotenobject.FieldPath) {
   660  	fieldMask.Paths = append(fieldMask.Paths, path.(ServiceData_FieldPath))
   661  }
   662  
   663  func (fieldMask *ServiceData_FieldMask) GetPaths() []ServiceData_FieldPath {
   664  	if fieldMask == nil {
   665  		return nil
   666  	}
   667  	return fieldMask.Paths
   668  }
   669  
   670  func (fieldMask *ServiceData_FieldMask) GetRawPaths() []gotenobject.FieldPath {
   671  	if fieldMask == nil {
   672  		return nil
   673  	}
   674  	rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths))
   675  	for _, path := range fieldMask.Paths {
   676  		rawPaths = append(rawPaths, path)
   677  	}
   678  	return rawPaths
   679  }
   680  
   681  func (fieldMask *ServiceData_FieldMask) SetFromCliFlag(raw string) error {
   682  	path, err := ParseServiceData_FieldPath(raw)
   683  	if err != nil {
   684  		return err
   685  	}
   686  	fieldMask.Paths = append(fieldMask.Paths, path)
   687  	return nil
   688  }
   689  
   690  func (fieldMask *ServiceData_FieldMask) Set(target, source *ServiceData) {
   691  	for _, path := range fieldMask.Paths {
   692  		val, _ := path.GetSingle(source)
   693  		// if val is nil, then field does not exist in source, skip
   694  		// otherwise, process (can still reflect.ValueOf(val).IsNil!)
   695  		if val != nil {
   696  			path.WithIValue(val).SetTo(&target)
   697  		}
   698  	}
   699  }
   700  
   701  func (fieldMask *ServiceData_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) {
   702  	fieldMask.Set(target.(*ServiceData), source.(*ServiceData))
   703  }
   704  
   705  func (fieldMask *ServiceData_FieldMask) Project(source *ServiceData) *ServiceData {
   706  	if source == nil {
   707  		return nil
   708  	}
   709  	if fieldMask == nil {
   710  		return source
   711  	}
   712  	result := &ServiceData{}
   713  
   714  	for _, p := range fieldMask.Paths {
   715  		switch tp := p.(type) {
   716  		case *ServiceData_FieldTerminalPath:
   717  			switch tp.selector {
   718  			case ServiceData_FieldPathSelectorName:
   719  				result.Name = source.Name
   720  			case ServiceData_FieldPathSelectorRegionId:
   721  				result.RegionId = source.RegionId
   722  			}
   723  		}
   724  	}
   725  	return result
   726  }
   727  
   728  func (fieldMask *ServiceData_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt {
   729  	return fieldMask.Project(source.(*ServiceData))
   730  }
   731  
   732  func (fieldMask *ServiceData_FieldMask) PathsCount() int {
   733  	if fieldMask == nil {
   734  		return 0
   735  	}
   736  	return len(fieldMask.Paths)
   737  }
   738  
   739  type ObjectState_FieldMask struct {
   740  	Paths []ObjectState_FieldPath
   741  }
   742  
   743  func FullObjectState_FieldMask() *ObjectState_FieldMask {
   744  	res := &ObjectState_FieldMask{}
   745  	res.Paths = append(res.Paths, &ObjectState_FieldTerminalPath{selector: ObjectState_FieldPathSelectorData})
   746  	res.Paths = append(res.Paths, &ObjectState_FieldTerminalPath{selector: ObjectState_FieldPathSelectorLabels})
   747  	return res
   748  }
   749  
   750  func (fieldMask *ObjectState_FieldMask) String() string {
   751  	if fieldMask == nil {
   752  		return "<nil>"
   753  	}
   754  	pathsStr := make([]string, 0, len(fieldMask.Paths))
   755  	for _, path := range fieldMask.Paths {
   756  		pathsStr = append(pathsStr, path.String())
   757  	}
   758  	return strings.Join(pathsStr, ", ")
   759  }
   760  
   761  func (fieldMask *ObjectState_FieldMask) IsFull() bool {
   762  	if fieldMask == nil {
   763  		return false
   764  	}
   765  	presentSelectors := make([]bool, 2)
   766  	for _, path := range fieldMask.Paths {
   767  		if asFinal, ok := path.(*ObjectState_FieldTerminalPath); ok {
   768  			presentSelectors[int(asFinal.selector)] = true
   769  		}
   770  	}
   771  	for _, flag := range presentSelectors {
   772  		if !flag {
   773  			return false
   774  		}
   775  	}
   776  	return true
   777  }
   778  
   779  func (fieldMask *ObjectState_FieldMask) ProtoReflect() preflect.Message {
   780  	return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) {
   781  		return ParseObjectState_FieldPath(raw)
   782  	})
   783  }
   784  
   785  func (fieldMask *ObjectState_FieldMask) ProtoMessage() {}
   786  
   787  func (fieldMask *ObjectState_FieldMask) Reset() {
   788  	if fieldMask != nil {
   789  		fieldMask.Paths = nil
   790  	}
   791  }
   792  
   793  func (fieldMask *ObjectState_FieldMask) Subtract(other *ObjectState_FieldMask) *ObjectState_FieldMask {
   794  	result := &ObjectState_FieldMask{}
   795  	removedSelectors := make([]bool, 2)
   796  
   797  	for _, path := range other.GetPaths() {
   798  		switch tp := path.(type) {
   799  		case *ObjectState_FieldTerminalPath:
   800  			removedSelectors[int(tp.selector)] = true
   801  		}
   802  	}
   803  	for _, path := range fieldMask.GetPaths() {
   804  		if !removedSelectors[int(path.Selector())] {
   805  			result.Paths = append(result.Paths, path)
   806  		}
   807  	}
   808  
   809  	if len(result.Paths) == 0 {
   810  		return nil
   811  	}
   812  	return result
   813  }
   814  
   815  func (fieldMask *ObjectState_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask {
   816  	return fieldMask.Subtract(other.(*ObjectState_FieldMask))
   817  }
   818  
   819  // FilterInputFields generates copy of field paths with output_only field paths removed
   820  func (fieldMask *ObjectState_FieldMask) FilterInputFields() *ObjectState_FieldMask {
   821  	result := &ObjectState_FieldMask{}
   822  	result.Paths = append(result.Paths, fieldMask.Paths...)
   823  	return result
   824  }
   825  
   826  // ToFieldMask is used for proto conversions
   827  func (fieldMask *ObjectState_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask {
   828  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
   829  	for _, path := range fieldMask.Paths {
   830  		protoFieldMask.Paths = append(protoFieldMask.Paths, path.String())
   831  	}
   832  	return protoFieldMask
   833  }
   834  
   835  func (fieldMask *ObjectState_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error {
   836  	if fieldMask == nil {
   837  		return status.Error(codes.Internal, "target field mask is nil")
   838  	}
   839  	fieldMask.Paths = make([]ObjectState_FieldPath, 0, len(protoFieldMask.Paths))
   840  	for _, strPath := range protoFieldMask.Paths {
   841  		path, err := ParseObjectState_FieldPath(strPath)
   842  		if err != nil {
   843  			return err
   844  		}
   845  		fieldMask.Paths = append(fieldMask.Paths, path)
   846  	}
   847  	return nil
   848  }
   849  
   850  // implement methods required by customType
   851  func (fieldMask ObjectState_FieldMask) Marshal() ([]byte, error) {
   852  	protoFieldMask := fieldMask.ToProtoFieldMask()
   853  	return proto.Marshal(protoFieldMask)
   854  }
   855  
   856  func (fieldMask *ObjectState_FieldMask) Unmarshal(data []byte) error {
   857  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
   858  	if err := proto.Unmarshal(data, protoFieldMask); err != nil {
   859  		return err
   860  	}
   861  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
   862  		return err
   863  	}
   864  	return nil
   865  }
   866  
   867  func (fieldMask *ObjectState_FieldMask) Size() int {
   868  	return proto.Size(fieldMask.ToProtoFieldMask())
   869  }
   870  
   871  func (fieldMask ObjectState_FieldMask) MarshalJSON() ([]byte, error) {
   872  	return json.Marshal(fieldMask.ToProtoFieldMask())
   873  }
   874  
   875  func (fieldMask *ObjectState_FieldMask) UnmarshalJSON(data []byte) error {
   876  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
   877  	if err := json.Unmarshal(data, protoFieldMask); err != nil {
   878  		return err
   879  	}
   880  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
   881  		return err
   882  	}
   883  	return nil
   884  }
   885  
   886  func (fieldMask *ObjectState_FieldMask) AppendPath(path ObjectState_FieldPath) {
   887  	fieldMask.Paths = append(fieldMask.Paths, path)
   888  }
   889  
   890  func (fieldMask *ObjectState_FieldMask) AppendRawPath(path gotenobject.FieldPath) {
   891  	fieldMask.Paths = append(fieldMask.Paths, path.(ObjectState_FieldPath))
   892  }
   893  
   894  func (fieldMask *ObjectState_FieldMask) GetPaths() []ObjectState_FieldPath {
   895  	if fieldMask == nil {
   896  		return nil
   897  	}
   898  	return fieldMask.Paths
   899  }
   900  
   901  func (fieldMask *ObjectState_FieldMask) GetRawPaths() []gotenobject.FieldPath {
   902  	if fieldMask == nil {
   903  		return nil
   904  	}
   905  	rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths))
   906  	for _, path := range fieldMask.Paths {
   907  		rawPaths = append(rawPaths, path)
   908  	}
   909  	return rawPaths
   910  }
   911  
   912  func (fieldMask *ObjectState_FieldMask) SetFromCliFlag(raw string) error {
   913  	path, err := ParseObjectState_FieldPath(raw)
   914  	if err != nil {
   915  		return err
   916  	}
   917  	fieldMask.Paths = append(fieldMask.Paths, path)
   918  	return nil
   919  }
   920  
   921  func (fieldMask *ObjectState_FieldMask) Set(target, source *ObjectState) {
   922  	for _, path := range fieldMask.Paths {
   923  		val, _ := path.GetSingle(source)
   924  		// if val is nil, then field does not exist in source, skip
   925  		// otherwise, process (can still reflect.ValueOf(val).IsNil!)
   926  		if val != nil {
   927  			path.WithIValue(val).SetTo(&target)
   928  		}
   929  	}
   930  }
   931  
   932  func (fieldMask *ObjectState_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) {
   933  	fieldMask.Set(target.(*ObjectState), source.(*ObjectState))
   934  }
   935  
   936  func (fieldMask *ObjectState_FieldMask) Project(source *ObjectState) *ObjectState {
   937  	if source == nil {
   938  		return nil
   939  	}
   940  	if fieldMask == nil {
   941  		return source
   942  	}
   943  	result := &ObjectState{}
   944  	var labelsMapKeys []string
   945  	wholeLabelsAccepted := false
   946  
   947  	for _, p := range fieldMask.Paths {
   948  		switch tp := p.(type) {
   949  		case *ObjectState_FieldTerminalPath:
   950  			switch tp.selector {
   951  			case ObjectState_FieldPathSelectorData:
   952  				result.Data = source.Data
   953  			case ObjectState_FieldPathSelectorLabels:
   954  				result.Labels = source.Labels
   955  				wholeLabelsAccepted = true
   956  			}
   957  		case *ObjectState_FieldPathMap:
   958  			switch tp.selector {
   959  			case ObjectState_FieldPathSelectorLabels:
   960  				labelsMapKeys = append(labelsMapKeys, tp.key)
   961  			}
   962  		}
   963  	}
   964  	if wholeLabelsAccepted == false && len(labelsMapKeys) > 0 && source.GetLabels() != nil {
   965  		copiedMap := map[string]string{}
   966  		sourceMap := source.GetLabels()
   967  		for _, key := range labelsMapKeys {
   968  			copiedMap[key] = sourceMap[key]
   969  		}
   970  		result.Labels = copiedMap
   971  	}
   972  	return result
   973  }
   974  
   975  func (fieldMask *ObjectState_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt {
   976  	return fieldMask.Project(source.(*ObjectState))
   977  }
   978  
   979  func (fieldMask *ObjectState_FieldMask) PathsCount() int {
   980  	if fieldMask == nil {
   981  		return 0
   982  	}
   983  	return len(fieldMask.Paths)
   984  }
   985  
   986  type LabelDescriptor_FieldMask struct {
   987  	Paths []LabelDescriptor_FieldPath
   988  }
   989  
   990  func FullLabelDescriptor_FieldMask() *LabelDescriptor_FieldMask {
   991  	res := &LabelDescriptor_FieldMask{}
   992  	res.Paths = append(res.Paths, &LabelDescriptor_FieldTerminalPath{selector: LabelDescriptor_FieldPathSelectorKey})
   993  	res.Paths = append(res.Paths, &LabelDescriptor_FieldTerminalPath{selector: LabelDescriptor_FieldPathSelectorVersions})
   994  	return res
   995  }
   996  
   997  func (fieldMask *LabelDescriptor_FieldMask) String() string {
   998  	if fieldMask == nil {
   999  		return "<nil>"
  1000  	}
  1001  	pathsStr := make([]string, 0, len(fieldMask.Paths))
  1002  	for _, path := range fieldMask.Paths {
  1003  		pathsStr = append(pathsStr, path.String())
  1004  	}
  1005  	return strings.Join(pathsStr, ", ")
  1006  }
  1007  
  1008  func (fieldMask *LabelDescriptor_FieldMask) IsFull() bool {
  1009  	if fieldMask == nil {
  1010  		return false
  1011  	}
  1012  	presentSelectors := make([]bool, 2)
  1013  	for _, path := range fieldMask.Paths {
  1014  		if asFinal, ok := path.(*LabelDescriptor_FieldTerminalPath); ok {
  1015  			presentSelectors[int(asFinal.selector)] = true
  1016  		}
  1017  	}
  1018  	for _, flag := range presentSelectors {
  1019  		if !flag {
  1020  			return false
  1021  		}
  1022  	}
  1023  	return true
  1024  }
  1025  
  1026  func (fieldMask *LabelDescriptor_FieldMask) ProtoReflect() preflect.Message {
  1027  	return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) {
  1028  		return ParseLabelDescriptor_FieldPath(raw)
  1029  	})
  1030  }
  1031  
  1032  func (fieldMask *LabelDescriptor_FieldMask) ProtoMessage() {}
  1033  
  1034  func (fieldMask *LabelDescriptor_FieldMask) Reset() {
  1035  	if fieldMask != nil {
  1036  		fieldMask.Paths = nil
  1037  	}
  1038  }
  1039  
  1040  func (fieldMask *LabelDescriptor_FieldMask) Subtract(other *LabelDescriptor_FieldMask) *LabelDescriptor_FieldMask {
  1041  	result := &LabelDescriptor_FieldMask{}
  1042  	removedSelectors := make([]bool, 2)
  1043  
  1044  	for _, path := range other.GetPaths() {
  1045  		switch tp := path.(type) {
  1046  		case *LabelDescriptor_FieldTerminalPath:
  1047  			removedSelectors[int(tp.selector)] = true
  1048  		}
  1049  	}
  1050  	for _, path := range fieldMask.GetPaths() {
  1051  		if !removedSelectors[int(path.Selector())] {
  1052  			result.Paths = append(result.Paths, path)
  1053  		}
  1054  	}
  1055  
  1056  	if len(result.Paths) == 0 {
  1057  		return nil
  1058  	}
  1059  	return result
  1060  }
  1061  
  1062  func (fieldMask *LabelDescriptor_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask {
  1063  	return fieldMask.Subtract(other.(*LabelDescriptor_FieldMask))
  1064  }
  1065  
  1066  // FilterInputFields generates copy of field paths with output_only field paths removed
  1067  func (fieldMask *LabelDescriptor_FieldMask) FilterInputFields() *LabelDescriptor_FieldMask {
  1068  	result := &LabelDescriptor_FieldMask{}
  1069  	result.Paths = append(result.Paths, fieldMask.Paths...)
  1070  	return result
  1071  }
  1072  
  1073  // ToFieldMask is used for proto conversions
  1074  func (fieldMask *LabelDescriptor_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask {
  1075  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
  1076  	for _, path := range fieldMask.Paths {
  1077  		protoFieldMask.Paths = append(protoFieldMask.Paths, path.String())
  1078  	}
  1079  	return protoFieldMask
  1080  }
  1081  
  1082  func (fieldMask *LabelDescriptor_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error {
  1083  	if fieldMask == nil {
  1084  		return status.Error(codes.Internal, "target field mask is nil")
  1085  	}
  1086  	fieldMask.Paths = make([]LabelDescriptor_FieldPath, 0, len(protoFieldMask.Paths))
  1087  	for _, strPath := range protoFieldMask.Paths {
  1088  		path, err := ParseLabelDescriptor_FieldPath(strPath)
  1089  		if err != nil {
  1090  			return err
  1091  		}
  1092  		fieldMask.Paths = append(fieldMask.Paths, path)
  1093  	}
  1094  	return nil
  1095  }
  1096  
  1097  // implement methods required by customType
  1098  func (fieldMask LabelDescriptor_FieldMask) Marshal() ([]byte, error) {
  1099  	protoFieldMask := fieldMask.ToProtoFieldMask()
  1100  	return proto.Marshal(protoFieldMask)
  1101  }
  1102  
  1103  func (fieldMask *LabelDescriptor_FieldMask) Unmarshal(data []byte) error {
  1104  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
  1105  	if err := proto.Unmarshal(data, protoFieldMask); err != nil {
  1106  		return err
  1107  	}
  1108  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
  1109  		return err
  1110  	}
  1111  	return nil
  1112  }
  1113  
  1114  func (fieldMask *LabelDescriptor_FieldMask) Size() int {
  1115  	return proto.Size(fieldMask.ToProtoFieldMask())
  1116  }
  1117  
  1118  func (fieldMask LabelDescriptor_FieldMask) MarshalJSON() ([]byte, error) {
  1119  	return json.Marshal(fieldMask.ToProtoFieldMask())
  1120  }
  1121  
  1122  func (fieldMask *LabelDescriptor_FieldMask) UnmarshalJSON(data []byte) error {
  1123  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
  1124  	if err := json.Unmarshal(data, protoFieldMask); err != nil {
  1125  		return err
  1126  	}
  1127  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
  1128  		return err
  1129  	}
  1130  	return nil
  1131  }
  1132  
  1133  func (fieldMask *LabelDescriptor_FieldMask) AppendPath(path LabelDescriptor_FieldPath) {
  1134  	fieldMask.Paths = append(fieldMask.Paths, path)
  1135  }
  1136  
  1137  func (fieldMask *LabelDescriptor_FieldMask) AppendRawPath(path gotenobject.FieldPath) {
  1138  	fieldMask.Paths = append(fieldMask.Paths, path.(LabelDescriptor_FieldPath))
  1139  }
  1140  
  1141  func (fieldMask *LabelDescriptor_FieldMask) GetPaths() []LabelDescriptor_FieldPath {
  1142  	if fieldMask == nil {
  1143  		return nil
  1144  	}
  1145  	return fieldMask.Paths
  1146  }
  1147  
  1148  func (fieldMask *LabelDescriptor_FieldMask) GetRawPaths() []gotenobject.FieldPath {
  1149  	if fieldMask == nil {
  1150  		return nil
  1151  	}
  1152  	rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths))
  1153  	for _, path := range fieldMask.Paths {
  1154  		rawPaths = append(rawPaths, path)
  1155  	}
  1156  	return rawPaths
  1157  }
  1158  
  1159  func (fieldMask *LabelDescriptor_FieldMask) SetFromCliFlag(raw string) error {
  1160  	path, err := ParseLabelDescriptor_FieldPath(raw)
  1161  	if err != nil {
  1162  		return err
  1163  	}
  1164  	fieldMask.Paths = append(fieldMask.Paths, path)
  1165  	return nil
  1166  }
  1167  
  1168  func (fieldMask *LabelDescriptor_FieldMask) Set(target, source *LabelDescriptor) {
  1169  	for _, path := range fieldMask.Paths {
  1170  		val, _ := path.GetSingle(source)
  1171  		// if val is nil, then field does not exist in source, skip
  1172  		// otherwise, process (can still reflect.ValueOf(val).IsNil!)
  1173  		if val != nil {
  1174  			path.WithIValue(val).SetTo(&target)
  1175  		}
  1176  	}
  1177  }
  1178  
  1179  func (fieldMask *LabelDescriptor_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) {
  1180  	fieldMask.Set(target.(*LabelDescriptor), source.(*LabelDescriptor))
  1181  }
  1182  
  1183  func (fieldMask *LabelDescriptor_FieldMask) Project(source *LabelDescriptor) *LabelDescriptor {
  1184  	if source == nil {
  1185  		return nil
  1186  	}
  1187  	if fieldMask == nil {
  1188  		return source
  1189  	}
  1190  	result := &LabelDescriptor{}
  1191  
  1192  	for _, p := range fieldMask.Paths {
  1193  		switch tp := p.(type) {
  1194  		case *LabelDescriptor_FieldTerminalPath:
  1195  			switch tp.selector {
  1196  			case LabelDescriptor_FieldPathSelectorKey:
  1197  				result.Key = source.Key
  1198  			case LabelDescriptor_FieldPathSelectorVersions:
  1199  				result.Versions = source.Versions
  1200  			}
  1201  		}
  1202  	}
  1203  	return result
  1204  }
  1205  
  1206  func (fieldMask *LabelDescriptor_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt {
  1207  	return fieldMask.Project(source.(*LabelDescriptor))
  1208  }
  1209  
  1210  func (fieldMask *LabelDescriptor_FieldMask) PathsCount() int {
  1211  	if fieldMask == nil {
  1212  		return 0
  1213  	}
  1214  	return len(fieldMask.Paths)
  1215  }
  1216  
  1217  type LabelKeySet_FieldMask struct {
  1218  	Paths []LabelKeySet_FieldPath
  1219  }
  1220  
  1221  func FullLabelKeySet_FieldMask() *LabelKeySet_FieldMask {
  1222  	res := &LabelKeySet_FieldMask{}
  1223  	res.Paths = append(res.Paths, &LabelKeySet_FieldTerminalPath{selector: LabelKeySet_FieldPathSelectorLabelKeys})
  1224  	res.Paths = append(res.Paths, &LabelKeySet_FieldTerminalPath{selector: LabelKeySet_FieldPathSelectorVersions})
  1225  	return res
  1226  }
  1227  
  1228  func (fieldMask *LabelKeySet_FieldMask) String() string {
  1229  	if fieldMask == nil {
  1230  		return "<nil>"
  1231  	}
  1232  	pathsStr := make([]string, 0, len(fieldMask.Paths))
  1233  	for _, path := range fieldMask.Paths {
  1234  		pathsStr = append(pathsStr, path.String())
  1235  	}
  1236  	return strings.Join(pathsStr, ", ")
  1237  }
  1238  
  1239  func (fieldMask *LabelKeySet_FieldMask) IsFull() bool {
  1240  	if fieldMask == nil {
  1241  		return false
  1242  	}
  1243  	presentSelectors := make([]bool, 2)
  1244  	for _, path := range fieldMask.Paths {
  1245  		if asFinal, ok := path.(*LabelKeySet_FieldTerminalPath); ok {
  1246  			presentSelectors[int(asFinal.selector)] = true
  1247  		}
  1248  	}
  1249  	for _, flag := range presentSelectors {
  1250  		if !flag {
  1251  			return false
  1252  		}
  1253  	}
  1254  	return true
  1255  }
  1256  
  1257  func (fieldMask *LabelKeySet_FieldMask) ProtoReflect() preflect.Message {
  1258  	return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) {
  1259  		return ParseLabelKeySet_FieldPath(raw)
  1260  	})
  1261  }
  1262  
  1263  func (fieldMask *LabelKeySet_FieldMask) ProtoMessage() {}
  1264  
  1265  func (fieldMask *LabelKeySet_FieldMask) Reset() {
  1266  	if fieldMask != nil {
  1267  		fieldMask.Paths = nil
  1268  	}
  1269  }
  1270  
  1271  func (fieldMask *LabelKeySet_FieldMask) Subtract(other *LabelKeySet_FieldMask) *LabelKeySet_FieldMask {
  1272  	result := &LabelKeySet_FieldMask{}
  1273  	removedSelectors := make([]bool, 2)
  1274  
  1275  	for _, path := range other.GetPaths() {
  1276  		switch tp := path.(type) {
  1277  		case *LabelKeySet_FieldTerminalPath:
  1278  			removedSelectors[int(tp.selector)] = true
  1279  		}
  1280  	}
  1281  	for _, path := range fieldMask.GetPaths() {
  1282  		if !removedSelectors[int(path.Selector())] {
  1283  			result.Paths = append(result.Paths, path)
  1284  		}
  1285  	}
  1286  
  1287  	if len(result.Paths) == 0 {
  1288  		return nil
  1289  	}
  1290  	return result
  1291  }
  1292  
  1293  func (fieldMask *LabelKeySet_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask {
  1294  	return fieldMask.Subtract(other.(*LabelKeySet_FieldMask))
  1295  }
  1296  
  1297  // FilterInputFields generates copy of field paths with output_only field paths removed
  1298  func (fieldMask *LabelKeySet_FieldMask) FilterInputFields() *LabelKeySet_FieldMask {
  1299  	result := &LabelKeySet_FieldMask{}
  1300  	result.Paths = append(result.Paths, fieldMask.Paths...)
  1301  	return result
  1302  }
  1303  
  1304  // ToFieldMask is used for proto conversions
  1305  func (fieldMask *LabelKeySet_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask {
  1306  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
  1307  	for _, path := range fieldMask.Paths {
  1308  		protoFieldMask.Paths = append(protoFieldMask.Paths, path.String())
  1309  	}
  1310  	return protoFieldMask
  1311  }
  1312  
  1313  func (fieldMask *LabelKeySet_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error {
  1314  	if fieldMask == nil {
  1315  		return status.Error(codes.Internal, "target field mask is nil")
  1316  	}
  1317  	fieldMask.Paths = make([]LabelKeySet_FieldPath, 0, len(protoFieldMask.Paths))
  1318  	for _, strPath := range protoFieldMask.Paths {
  1319  		path, err := ParseLabelKeySet_FieldPath(strPath)
  1320  		if err != nil {
  1321  			return err
  1322  		}
  1323  		fieldMask.Paths = append(fieldMask.Paths, path)
  1324  	}
  1325  	return nil
  1326  }
  1327  
  1328  // implement methods required by customType
  1329  func (fieldMask LabelKeySet_FieldMask) Marshal() ([]byte, error) {
  1330  	protoFieldMask := fieldMask.ToProtoFieldMask()
  1331  	return proto.Marshal(protoFieldMask)
  1332  }
  1333  
  1334  func (fieldMask *LabelKeySet_FieldMask) Unmarshal(data []byte) error {
  1335  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
  1336  	if err := proto.Unmarshal(data, protoFieldMask); err != nil {
  1337  		return err
  1338  	}
  1339  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
  1340  		return err
  1341  	}
  1342  	return nil
  1343  }
  1344  
  1345  func (fieldMask *LabelKeySet_FieldMask) Size() int {
  1346  	return proto.Size(fieldMask.ToProtoFieldMask())
  1347  }
  1348  
  1349  func (fieldMask LabelKeySet_FieldMask) MarshalJSON() ([]byte, error) {
  1350  	return json.Marshal(fieldMask.ToProtoFieldMask())
  1351  }
  1352  
  1353  func (fieldMask *LabelKeySet_FieldMask) UnmarshalJSON(data []byte) error {
  1354  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
  1355  	if err := json.Unmarshal(data, protoFieldMask); err != nil {
  1356  		return err
  1357  	}
  1358  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
  1359  		return err
  1360  	}
  1361  	return nil
  1362  }
  1363  
  1364  func (fieldMask *LabelKeySet_FieldMask) AppendPath(path LabelKeySet_FieldPath) {
  1365  	fieldMask.Paths = append(fieldMask.Paths, path)
  1366  }
  1367  
  1368  func (fieldMask *LabelKeySet_FieldMask) AppendRawPath(path gotenobject.FieldPath) {
  1369  	fieldMask.Paths = append(fieldMask.Paths, path.(LabelKeySet_FieldPath))
  1370  }
  1371  
  1372  func (fieldMask *LabelKeySet_FieldMask) GetPaths() []LabelKeySet_FieldPath {
  1373  	if fieldMask == nil {
  1374  		return nil
  1375  	}
  1376  	return fieldMask.Paths
  1377  }
  1378  
  1379  func (fieldMask *LabelKeySet_FieldMask) GetRawPaths() []gotenobject.FieldPath {
  1380  	if fieldMask == nil {
  1381  		return nil
  1382  	}
  1383  	rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths))
  1384  	for _, path := range fieldMask.Paths {
  1385  		rawPaths = append(rawPaths, path)
  1386  	}
  1387  	return rawPaths
  1388  }
  1389  
  1390  func (fieldMask *LabelKeySet_FieldMask) SetFromCliFlag(raw string) error {
  1391  	path, err := ParseLabelKeySet_FieldPath(raw)
  1392  	if err != nil {
  1393  		return err
  1394  	}
  1395  	fieldMask.Paths = append(fieldMask.Paths, path)
  1396  	return nil
  1397  }
  1398  
  1399  func (fieldMask *LabelKeySet_FieldMask) Set(target, source *LabelKeySet) {
  1400  	for _, path := range fieldMask.Paths {
  1401  		val, _ := path.GetSingle(source)
  1402  		// if val is nil, then field does not exist in source, skip
  1403  		// otherwise, process (can still reflect.ValueOf(val).IsNil!)
  1404  		if val != nil {
  1405  			path.WithIValue(val).SetTo(&target)
  1406  		}
  1407  	}
  1408  }
  1409  
  1410  func (fieldMask *LabelKeySet_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) {
  1411  	fieldMask.Set(target.(*LabelKeySet), source.(*LabelKeySet))
  1412  }
  1413  
  1414  func (fieldMask *LabelKeySet_FieldMask) Project(source *LabelKeySet) *LabelKeySet {
  1415  	if source == nil {
  1416  		return nil
  1417  	}
  1418  	if fieldMask == nil {
  1419  		return source
  1420  	}
  1421  	result := &LabelKeySet{}
  1422  
  1423  	for _, p := range fieldMask.Paths {
  1424  		switch tp := p.(type) {
  1425  		case *LabelKeySet_FieldTerminalPath:
  1426  			switch tp.selector {
  1427  			case LabelKeySet_FieldPathSelectorLabelKeys:
  1428  				result.LabelKeys = source.LabelKeys
  1429  			case LabelKeySet_FieldPathSelectorVersions:
  1430  				result.Versions = source.Versions
  1431  			}
  1432  		}
  1433  	}
  1434  	return result
  1435  }
  1436  
  1437  func (fieldMask *LabelKeySet_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt {
  1438  	return fieldMask.Project(source.(*LabelKeySet))
  1439  }
  1440  
  1441  func (fieldMask *LabelKeySet_FieldMask) PathsCount() int {
  1442  	if fieldMask == nil {
  1443  		return 0
  1444  	}
  1445  	return len(fieldMask.Paths)
  1446  }
  1447  
  1448  type TimeInterval_FieldMask struct {
  1449  	Paths []TimeInterval_FieldPath
  1450  }
  1451  
  1452  func FullTimeInterval_FieldMask() *TimeInterval_FieldMask {
  1453  	res := &TimeInterval_FieldMask{}
  1454  	res.Paths = append(res.Paths, &TimeInterval_FieldTerminalPath{selector: TimeInterval_FieldPathSelectorEndTime})
  1455  	res.Paths = append(res.Paths, &TimeInterval_FieldTerminalPath{selector: TimeInterval_FieldPathSelectorStartTime})
  1456  	return res
  1457  }
  1458  
  1459  func (fieldMask *TimeInterval_FieldMask) String() string {
  1460  	if fieldMask == nil {
  1461  		return "<nil>"
  1462  	}
  1463  	pathsStr := make([]string, 0, len(fieldMask.Paths))
  1464  	for _, path := range fieldMask.Paths {
  1465  		pathsStr = append(pathsStr, path.String())
  1466  	}
  1467  	return strings.Join(pathsStr, ", ")
  1468  }
  1469  
  1470  func (fieldMask *TimeInterval_FieldMask) IsFull() bool {
  1471  	if fieldMask == nil {
  1472  		return false
  1473  	}
  1474  	presentSelectors := make([]bool, 2)
  1475  	for _, path := range fieldMask.Paths {
  1476  		if asFinal, ok := path.(*TimeInterval_FieldTerminalPath); ok {
  1477  			presentSelectors[int(asFinal.selector)] = true
  1478  		}
  1479  	}
  1480  	for _, flag := range presentSelectors {
  1481  		if !flag {
  1482  			return false
  1483  		}
  1484  	}
  1485  	return true
  1486  }
  1487  
  1488  func (fieldMask *TimeInterval_FieldMask) ProtoReflect() preflect.Message {
  1489  	return gotenobject.MakeFieldMaskReflection(fieldMask, func(raw string) (gotenobject.FieldPath, error) {
  1490  		return ParseTimeInterval_FieldPath(raw)
  1491  	})
  1492  }
  1493  
  1494  func (fieldMask *TimeInterval_FieldMask) ProtoMessage() {}
  1495  
  1496  func (fieldMask *TimeInterval_FieldMask) Reset() {
  1497  	if fieldMask != nil {
  1498  		fieldMask.Paths = nil
  1499  	}
  1500  }
  1501  
  1502  func (fieldMask *TimeInterval_FieldMask) Subtract(other *TimeInterval_FieldMask) *TimeInterval_FieldMask {
  1503  	result := &TimeInterval_FieldMask{}
  1504  	removedSelectors := make([]bool, 2)
  1505  
  1506  	for _, path := range other.GetPaths() {
  1507  		switch tp := path.(type) {
  1508  		case *TimeInterval_FieldTerminalPath:
  1509  			removedSelectors[int(tp.selector)] = true
  1510  		}
  1511  	}
  1512  	for _, path := range fieldMask.GetPaths() {
  1513  		if !removedSelectors[int(path.Selector())] {
  1514  			result.Paths = append(result.Paths, path)
  1515  		}
  1516  	}
  1517  
  1518  	if len(result.Paths) == 0 {
  1519  		return nil
  1520  	}
  1521  	return result
  1522  }
  1523  
  1524  func (fieldMask *TimeInterval_FieldMask) SubtractRaw(other gotenobject.FieldMask) gotenobject.FieldMask {
  1525  	return fieldMask.Subtract(other.(*TimeInterval_FieldMask))
  1526  }
  1527  
  1528  // FilterInputFields generates copy of field paths with output_only field paths removed
  1529  func (fieldMask *TimeInterval_FieldMask) FilterInputFields() *TimeInterval_FieldMask {
  1530  	result := &TimeInterval_FieldMask{}
  1531  	result.Paths = append(result.Paths, fieldMask.Paths...)
  1532  	return result
  1533  }
  1534  
  1535  // ToFieldMask is used for proto conversions
  1536  func (fieldMask *TimeInterval_FieldMask) ToProtoFieldMask() *googlefieldmaskpb.FieldMask {
  1537  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
  1538  	for _, path := range fieldMask.Paths {
  1539  		protoFieldMask.Paths = append(protoFieldMask.Paths, path.String())
  1540  	}
  1541  	return protoFieldMask
  1542  }
  1543  
  1544  func (fieldMask *TimeInterval_FieldMask) FromProtoFieldMask(protoFieldMask *googlefieldmaskpb.FieldMask) error {
  1545  	if fieldMask == nil {
  1546  		return status.Error(codes.Internal, "target field mask is nil")
  1547  	}
  1548  	fieldMask.Paths = make([]TimeInterval_FieldPath, 0, len(protoFieldMask.Paths))
  1549  	for _, strPath := range protoFieldMask.Paths {
  1550  		path, err := ParseTimeInterval_FieldPath(strPath)
  1551  		if err != nil {
  1552  			return err
  1553  		}
  1554  		fieldMask.Paths = append(fieldMask.Paths, path)
  1555  	}
  1556  	return nil
  1557  }
  1558  
  1559  // implement methods required by customType
  1560  func (fieldMask TimeInterval_FieldMask) Marshal() ([]byte, error) {
  1561  	protoFieldMask := fieldMask.ToProtoFieldMask()
  1562  	return proto.Marshal(protoFieldMask)
  1563  }
  1564  
  1565  func (fieldMask *TimeInterval_FieldMask) Unmarshal(data []byte) error {
  1566  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
  1567  	if err := proto.Unmarshal(data, protoFieldMask); err != nil {
  1568  		return err
  1569  	}
  1570  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
  1571  		return err
  1572  	}
  1573  	return nil
  1574  }
  1575  
  1576  func (fieldMask *TimeInterval_FieldMask) Size() int {
  1577  	return proto.Size(fieldMask.ToProtoFieldMask())
  1578  }
  1579  
  1580  func (fieldMask TimeInterval_FieldMask) MarshalJSON() ([]byte, error) {
  1581  	return json.Marshal(fieldMask.ToProtoFieldMask())
  1582  }
  1583  
  1584  func (fieldMask *TimeInterval_FieldMask) UnmarshalJSON(data []byte) error {
  1585  	protoFieldMask := &googlefieldmaskpb.FieldMask{}
  1586  	if err := json.Unmarshal(data, protoFieldMask); err != nil {
  1587  		return err
  1588  	}
  1589  	if err := fieldMask.FromProtoFieldMask(protoFieldMask); err != nil {
  1590  		return err
  1591  	}
  1592  	return nil
  1593  }
  1594  
  1595  func (fieldMask *TimeInterval_FieldMask) AppendPath(path TimeInterval_FieldPath) {
  1596  	fieldMask.Paths = append(fieldMask.Paths, path)
  1597  }
  1598  
  1599  func (fieldMask *TimeInterval_FieldMask) AppendRawPath(path gotenobject.FieldPath) {
  1600  	fieldMask.Paths = append(fieldMask.Paths, path.(TimeInterval_FieldPath))
  1601  }
  1602  
  1603  func (fieldMask *TimeInterval_FieldMask) GetPaths() []TimeInterval_FieldPath {
  1604  	if fieldMask == nil {
  1605  		return nil
  1606  	}
  1607  	return fieldMask.Paths
  1608  }
  1609  
  1610  func (fieldMask *TimeInterval_FieldMask) GetRawPaths() []gotenobject.FieldPath {
  1611  	if fieldMask == nil {
  1612  		return nil
  1613  	}
  1614  	rawPaths := make([]gotenobject.FieldPath, 0, len(fieldMask.Paths))
  1615  	for _, path := range fieldMask.Paths {
  1616  		rawPaths = append(rawPaths, path)
  1617  	}
  1618  	return rawPaths
  1619  }
  1620  
  1621  func (fieldMask *TimeInterval_FieldMask) SetFromCliFlag(raw string) error {
  1622  	path, err := ParseTimeInterval_FieldPath(raw)
  1623  	if err != nil {
  1624  		return err
  1625  	}
  1626  	fieldMask.Paths = append(fieldMask.Paths, path)
  1627  	return nil
  1628  }
  1629  
  1630  func (fieldMask *TimeInterval_FieldMask) Set(target, source *TimeInterval) {
  1631  	for _, path := range fieldMask.Paths {
  1632  		val, _ := path.GetSingle(source)
  1633  		// if val is nil, then field does not exist in source, skip
  1634  		// otherwise, process (can still reflect.ValueOf(val).IsNil!)
  1635  		if val != nil {
  1636  			path.WithIValue(val).SetTo(&target)
  1637  		}
  1638  	}
  1639  }
  1640  
  1641  func (fieldMask *TimeInterval_FieldMask) SetRaw(target, source gotenobject.GotenObjectExt) {
  1642  	fieldMask.Set(target.(*TimeInterval), source.(*TimeInterval))
  1643  }
  1644  
  1645  func (fieldMask *TimeInterval_FieldMask) Project(source *TimeInterval) *TimeInterval {
  1646  	if source == nil {
  1647  		return nil
  1648  	}
  1649  	if fieldMask == nil {
  1650  		return source
  1651  	}
  1652  	result := &TimeInterval{}
  1653  
  1654  	for _, p := range fieldMask.Paths {
  1655  		switch tp := p.(type) {
  1656  		case *TimeInterval_FieldTerminalPath:
  1657  			switch tp.selector {
  1658  			case TimeInterval_FieldPathSelectorEndTime:
  1659  				result.EndTime = source.EndTime
  1660  			case TimeInterval_FieldPathSelectorStartTime:
  1661  				result.StartTime = source.StartTime
  1662  			}
  1663  		}
  1664  	}
  1665  	return result
  1666  }
  1667  
  1668  func (fieldMask *TimeInterval_FieldMask) ProjectRaw(source gotenobject.GotenObjectExt) gotenobject.GotenObjectExt {
  1669  	return fieldMask.Project(source.(*TimeInterval))
  1670  }
  1671  
  1672  func (fieldMask *TimeInterval_FieldMask) PathsCount() int {
  1673  	if fieldMask == nil {
  1674  		return 0
  1675  	}
  1676  	return len(fieldMask.Paths)
  1677  }