github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1alpha2/service_account/service_account.pb.object_ext.go (about)

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/iam/proto/v1alpha2/service_account.proto
     3  // DO NOT EDIT!!!
     4  
     5  package service_account
     6  
     7  import (
     8  	"fmt"
     9  	"sort"
    10  
    11  	"google.golang.org/protobuf/proto"
    12  	googlefieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
    13  
    14  	gotenobject "github.com/cloudwan/goten-sdk/runtime/object"
    15  )
    16  
    17  // proto imports
    18  import (
    19  	project "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/project"
    20  	meta "github.com/cloudwan/goten-sdk/types/meta"
    21  )
    22  
    23  // ensure the imports are used
    24  var (
    25  	_ = new(fmt.Stringer)
    26  	_ = new(sort.Interface)
    27  
    28  	_ = new(proto.Message)
    29  	_ = googlefieldmaskpb.FieldMask{}
    30  
    31  	_ = new(gotenobject.FieldPath)
    32  )
    33  
    34  // make sure we're using proto imports
    35  var (
    36  	_ = &project.Project{}
    37  	_ = &meta.Meta{}
    38  )
    39  
    40  func (o *ServiceAccount) GotenObjectExt() {}
    41  
    42  func (o *ServiceAccount) MakeFullFieldMask() *ServiceAccount_FieldMask {
    43  	return FullServiceAccount_FieldMask()
    44  }
    45  
    46  func (o *ServiceAccount) MakeRawFullFieldMask() gotenobject.FieldMask {
    47  	return FullServiceAccount_FieldMask()
    48  }
    49  
    50  func (o *ServiceAccount) MakeDiffFieldMask(other *ServiceAccount) *ServiceAccount_FieldMask {
    51  	if o == nil && other == nil {
    52  		return &ServiceAccount_FieldMask{}
    53  	}
    54  	if o == nil || other == nil {
    55  		return FullServiceAccount_FieldMask()
    56  	}
    57  
    58  	res := &ServiceAccount_FieldMask{}
    59  	if o.GetName().String() != other.GetName().String() {
    60  		res.Paths = append(res.Paths, &ServiceAccount_FieldTerminalPath{selector: ServiceAccount_FieldPathSelectorName})
    61  	}
    62  	if o.GetDisplayName() != other.GetDisplayName() {
    63  		res.Paths = append(res.Paths, &ServiceAccount_FieldTerminalPath{selector: ServiceAccount_FieldPathSelectorDisplayName})
    64  	}
    65  	if o.GetEmail() != other.GetEmail() {
    66  		res.Paths = append(res.Paths, &ServiceAccount_FieldTerminalPath{selector: ServiceAccount_FieldPathSelectorEmail})
    67  	}
    68  	{
    69  		subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata())
    70  		if subMask.IsFull() {
    71  			res.Paths = append(res.Paths, &ServiceAccount_FieldTerminalPath{selector: ServiceAccount_FieldPathSelectorMetadata})
    72  		} else {
    73  			for _, subpath := range subMask.Paths {
    74  				res.Paths = append(res.Paths, &ServiceAccount_FieldSubPath{selector: ServiceAccount_FieldPathSelectorMetadata, subPath: subpath})
    75  			}
    76  		}
    77  	}
    78  	return res
    79  }
    80  
    81  func (o *ServiceAccount) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
    82  	return o.MakeDiffFieldMask(other.(*ServiceAccount))
    83  }
    84  
    85  func (o *ServiceAccount) Clone() *ServiceAccount {
    86  	if o == nil {
    87  		return nil
    88  	}
    89  	result := &ServiceAccount{}
    90  	if o.Name == nil {
    91  		result.Name = nil
    92  	} else if data, err := o.Name.ProtoString(); err != nil {
    93  		panic(err)
    94  	} else {
    95  		result.Name = &Name{}
    96  		if err := result.Name.ParseProtoString(data); err != nil {
    97  			panic(err)
    98  		}
    99  	}
   100  	result.DisplayName = o.DisplayName
   101  	result.Email = o.Email
   102  	result.Metadata = o.Metadata.Clone()
   103  	return result
   104  }
   105  
   106  func (o *ServiceAccount) CloneRaw() gotenobject.GotenObjectExt {
   107  	return o.Clone()
   108  }
   109  
   110  func (o *ServiceAccount) Merge(source *ServiceAccount) {
   111  	if source.GetName() != nil {
   112  		if data, err := source.GetName().ProtoString(); err != nil {
   113  			panic(err)
   114  		} else {
   115  			o.Name = &Name{}
   116  			if err := o.Name.ParseProtoString(data); err != nil {
   117  				panic(err)
   118  			}
   119  		}
   120  	} else {
   121  		o.Name = nil
   122  	}
   123  	o.DisplayName = source.GetDisplayName()
   124  	o.Email = source.GetEmail()
   125  	if source.GetMetadata() != nil {
   126  		if o.Metadata == nil {
   127  			o.Metadata = new(meta.Meta)
   128  		}
   129  		o.Metadata.Merge(source.GetMetadata())
   130  	}
   131  }
   132  
   133  func (o *ServiceAccount) MergeRaw(source gotenobject.GotenObjectExt) {
   134  	o.Merge(source.(*ServiceAccount))
   135  }