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

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/iam/proto/v1/project.proto
     3  // DO NOT EDIT!!!
     4  
     5  package project
     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  	iam_common "github.com/cloudwan/edgelq-sdk/iam/resources/v1/common"
    20  	organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization"
    21  	meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service"
    22  	meta "github.com/cloudwan/goten-sdk/types/meta"
    23  	multi_region_policy "github.com/cloudwan/goten-sdk/types/multi_region_policy"
    24  )
    25  
    26  // ensure the imports are used
    27  var (
    28  	_ = new(fmt.Stringer)
    29  	_ = new(sort.Interface)
    30  
    31  	_ = new(proto.Message)
    32  	_ = googlefieldmaskpb.FieldMask{}
    33  
    34  	_ = new(gotenobject.FieldPath)
    35  )
    36  
    37  // make sure we're using proto imports
    38  var (
    39  	_ = &iam_common.PCR{}
    40  	_ = &organization.Organization{}
    41  	_ = &meta_service.Service{}
    42  	_ = &meta.Meta{}
    43  	_ = &multi_region_policy.MultiRegionPolicy{}
    44  )
    45  
    46  func (o *Project) GotenObjectExt() {}
    47  
    48  func (o *Project) MakeFullFieldMask() *Project_FieldMask {
    49  	return FullProject_FieldMask()
    50  }
    51  
    52  func (o *Project) MakeRawFullFieldMask() gotenobject.FieldMask {
    53  	return FullProject_FieldMask()
    54  }
    55  
    56  func (o *Project) MakeDiffFieldMask(other *Project) *Project_FieldMask {
    57  	if o == nil && other == nil {
    58  		return &Project_FieldMask{}
    59  	}
    60  	if o == nil || other == nil {
    61  		return FullProject_FieldMask()
    62  	}
    63  
    64  	res := &Project_FieldMask{}
    65  	if o.GetName().String() != other.GetName().String() {
    66  		res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorName})
    67  	}
    68  	{
    69  		subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata())
    70  		if subMask.IsFull() {
    71  			res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorMetadata})
    72  		} else {
    73  			for _, subpath := range subMask.Paths {
    74  				res.Paths = append(res.Paths, &Project_FieldSubPath{selector: Project_FieldPathSelectorMetadata, subPath: subpath})
    75  			}
    76  		}
    77  	}
    78  	if o.GetTitle() != other.GetTitle() {
    79  		res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorTitle})
    80  	}
    81  	if o.GetDescription() != other.GetDescription() {
    82  		res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorDescription})
    83  	}
    84  	if o.GetParentOrganization().String() != other.GetParentOrganization().String() {
    85  		res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorParentOrganization})
    86  	}
    87  	{
    88  		subMask := o.GetMultiRegionPolicy().MakeDiffFieldMask(other.GetMultiRegionPolicy())
    89  		if subMask.IsFull() {
    90  			res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorMultiRegionPolicy})
    91  		} else {
    92  			for _, subpath := range subMask.Paths {
    93  				res.Paths = append(res.Paths, &Project_FieldSubPath{selector: Project_FieldPathSelectorMultiRegionPolicy, subPath: subpath})
    94  			}
    95  		}
    96  	}
    97  
    98  	if len(o.GetEnabledServices()) == len(other.GetEnabledServices()) {
    99  		for i, lValue := range o.GetEnabledServices() {
   100  			rValue := other.GetEnabledServices()[i]
   101  			if lValue.String() != rValue.String() {
   102  				res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorEnabledServices})
   103  				break
   104  			}
   105  		}
   106  	} else {
   107  		res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorEnabledServices})
   108  	}
   109  	if o.GetBusinessTier() != other.GetBusinessTier() {
   110  		res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorBusinessTier})
   111  	}
   112  
   113  	if len(o.GetServiceTiers()) == len(other.GetServiceTiers()) {
   114  		for i, lValue := range o.GetServiceTiers() {
   115  			rValue := other.GetServiceTiers()[i]
   116  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   117  				res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorServiceTiers})
   118  				break
   119  			}
   120  		}
   121  	} else {
   122  		res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorServiceTiers})
   123  	}
   124  	if o.GetRootOrganization().String() != other.GetRootOrganization().String() {
   125  		res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorRootOrganization})
   126  	}
   127  
   128  	if len(o.GetAncestryPath()) == len(other.GetAncestryPath()) {
   129  		for i, lValue := range o.GetAncestryPath() {
   130  			rValue := other.GetAncestryPath()[i]
   131  			if lValue.String() != rValue.String() {
   132  				res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorAncestryPath})
   133  				break
   134  			}
   135  		}
   136  	} else {
   137  		res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorAncestryPath})
   138  	}
   139  
   140  	if len(o.GetServiceErrors()) == len(other.GetServiceErrors()) {
   141  		for i, lValue := range o.GetServiceErrors() {
   142  			rValue := other.GetServiceErrors()[i]
   143  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   144  				res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorServiceErrors})
   145  				break
   146  			}
   147  		}
   148  	} else {
   149  		res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorServiceErrors})
   150  	}
   151  	if o.GetServicesGeneration() != other.GetServicesGeneration() {
   152  		res.Paths = append(res.Paths, &Project_FieldTerminalPath{selector: Project_FieldPathSelectorServicesGeneration})
   153  	}
   154  	return res
   155  }
   156  
   157  func (o *Project) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   158  	return o.MakeDiffFieldMask(other.(*Project))
   159  }
   160  
   161  func (o *Project) Clone() *Project {
   162  	if o == nil {
   163  		return nil
   164  	}
   165  	result := &Project{}
   166  	if o.Name == nil {
   167  		result.Name = nil
   168  	} else if data, err := o.Name.ProtoString(); err != nil {
   169  		panic(err)
   170  	} else {
   171  		result.Name = &Name{}
   172  		if err := result.Name.ParseProtoString(data); err != nil {
   173  			panic(err)
   174  		}
   175  	}
   176  	result.Metadata = o.Metadata.Clone()
   177  	result.Title = o.Title
   178  	result.Description = o.Description
   179  	if o.ParentOrganization == nil {
   180  		result.ParentOrganization = nil
   181  	} else if data, err := o.ParentOrganization.ProtoString(); err != nil {
   182  		panic(err)
   183  	} else {
   184  		result.ParentOrganization = &organization.Reference{}
   185  		if err := result.ParentOrganization.ParseProtoString(data); err != nil {
   186  			panic(err)
   187  		}
   188  	}
   189  	result.MultiRegionPolicy = o.MultiRegionPolicy.Clone()
   190  	result.EnabledServices = make([]*meta_service.Reference, len(o.EnabledServices))
   191  	for i, sourceValue := range o.EnabledServices {
   192  		if sourceValue == nil {
   193  			result.EnabledServices[i] = nil
   194  		} else if data, err := sourceValue.ProtoString(); err != nil {
   195  			panic(err)
   196  		} else {
   197  			result.EnabledServices[i] = &meta_service.Reference{}
   198  			if err := result.EnabledServices[i].ParseProtoString(data); err != nil {
   199  				panic(err)
   200  			}
   201  		}
   202  	}
   203  	result.BusinessTier = o.BusinessTier
   204  	result.ServiceTiers = make([]*iam_common.ServiceBusinessTier, len(o.ServiceTiers))
   205  	for i, sourceValue := range o.ServiceTiers {
   206  		result.ServiceTiers[i] = sourceValue.Clone()
   207  	}
   208  	if o.RootOrganization == nil {
   209  		result.RootOrganization = nil
   210  	} else if data, err := o.RootOrganization.ProtoString(); err != nil {
   211  		panic(err)
   212  	} else {
   213  		result.RootOrganization = &organization.Name{}
   214  		if err := result.RootOrganization.ParseProtoString(data); err != nil {
   215  			panic(err)
   216  		}
   217  	}
   218  	result.AncestryPath = make([]*organization.Name, len(o.AncestryPath))
   219  	for i, sourceValue := range o.AncestryPath {
   220  		if sourceValue == nil {
   221  			result.AncestryPath[i] = nil
   222  		} else if data, err := sourceValue.ProtoString(); err != nil {
   223  			panic(err)
   224  		} else {
   225  			result.AncestryPath[i] = &organization.Name{}
   226  			if err := result.AncestryPath[i].ParseProtoString(data); err != nil {
   227  				panic(err)
   228  			}
   229  		}
   230  	}
   231  	result.ServiceErrors = map[string]*iam_common.ServiceErrors{}
   232  	for key, sourceValue := range o.ServiceErrors {
   233  		result.ServiceErrors[key] = sourceValue.Clone()
   234  	}
   235  	result.ServicesGeneration = o.ServicesGeneration
   236  	return result
   237  }
   238  
   239  func (o *Project) CloneRaw() gotenobject.GotenObjectExt {
   240  	return o.Clone()
   241  }
   242  
   243  func (o *Project) Merge(source *Project) {
   244  	if source.GetName() != nil {
   245  		if data, err := source.GetName().ProtoString(); err != nil {
   246  			panic(err)
   247  		} else {
   248  			o.Name = &Name{}
   249  			if err := o.Name.ParseProtoString(data); err != nil {
   250  				panic(err)
   251  			}
   252  		}
   253  	} else {
   254  		o.Name = nil
   255  	}
   256  	if source.GetMetadata() != nil {
   257  		if o.Metadata == nil {
   258  			o.Metadata = new(meta.Meta)
   259  		}
   260  		o.Metadata.Merge(source.GetMetadata())
   261  	}
   262  	o.Title = source.GetTitle()
   263  	o.Description = source.GetDescription()
   264  	if source.GetParentOrganization() != nil {
   265  		if data, err := source.GetParentOrganization().ProtoString(); err != nil {
   266  			panic(err)
   267  		} else {
   268  			o.ParentOrganization = &organization.Reference{}
   269  			if err := o.ParentOrganization.ParseProtoString(data); err != nil {
   270  				panic(err)
   271  			}
   272  		}
   273  	} else {
   274  		o.ParentOrganization = nil
   275  	}
   276  	if source.GetMultiRegionPolicy() != nil {
   277  		if o.MultiRegionPolicy == nil {
   278  			o.MultiRegionPolicy = new(multi_region_policy.MultiRegionPolicy)
   279  		}
   280  		o.MultiRegionPolicy.Merge(source.GetMultiRegionPolicy())
   281  	}
   282  	for _, sourceValue := range source.GetEnabledServices() {
   283  		exists := false
   284  		for _, currentValue := range o.EnabledServices {
   285  			leftProtoStr, _ := currentValue.ProtoString()
   286  			rightProtoStr, _ := sourceValue.ProtoString()
   287  			if leftProtoStr == rightProtoStr {
   288  				exists = true
   289  				break
   290  			}
   291  		}
   292  		if !exists {
   293  			var newDstElement *meta_service.Reference
   294  			if sourceValue != nil {
   295  				if data, err := sourceValue.ProtoString(); err != nil {
   296  					panic(err)
   297  				} else {
   298  					newDstElement = &meta_service.Reference{}
   299  					if err := newDstElement.ParseProtoString(data); err != nil {
   300  						panic(err)
   301  					}
   302  				}
   303  			}
   304  			o.EnabledServices = append(o.EnabledServices, newDstElement)
   305  		}
   306  	}
   307  
   308  	o.BusinessTier = source.GetBusinessTier()
   309  	for _, sourceValue := range source.GetServiceTiers() {
   310  		exists := false
   311  		for _, currentValue := range o.ServiceTiers {
   312  			if proto.Equal(sourceValue, currentValue) {
   313  				exists = true
   314  				break
   315  			}
   316  		}
   317  		if !exists {
   318  			var newDstElement *iam_common.ServiceBusinessTier
   319  			if sourceValue != nil {
   320  				newDstElement = new(iam_common.ServiceBusinessTier)
   321  				newDstElement.Merge(sourceValue)
   322  			}
   323  			o.ServiceTiers = append(o.ServiceTiers, newDstElement)
   324  		}
   325  	}
   326  
   327  	if source.GetRootOrganization() != nil {
   328  		if data, err := source.GetRootOrganization().ProtoString(); err != nil {
   329  			panic(err)
   330  		} else {
   331  			o.RootOrganization = &organization.Name{}
   332  			if err := o.RootOrganization.ParseProtoString(data); err != nil {
   333  				panic(err)
   334  			}
   335  		}
   336  	} else {
   337  		o.RootOrganization = nil
   338  	}
   339  	for _, sourceValue := range source.GetAncestryPath() {
   340  		exists := false
   341  		for _, currentValue := range o.AncestryPath {
   342  			leftProtoStr, _ := currentValue.ProtoString()
   343  			rightProtoStr, _ := sourceValue.ProtoString()
   344  			if leftProtoStr == rightProtoStr {
   345  				exists = true
   346  				break
   347  			}
   348  		}
   349  		if !exists {
   350  			var newDstElement *organization.Name
   351  			if sourceValue != nil {
   352  				if data, err := sourceValue.ProtoString(); err != nil {
   353  					panic(err)
   354  				} else {
   355  					newDstElement = &organization.Name{}
   356  					if err := newDstElement.ParseProtoString(data); err != nil {
   357  						panic(err)
   358  					}
   359  				}
   360  			}
   361  			o.AncestryPath = append(o.AncestryPath, newDstElement)
   362  		}
   363  	}
   364  
   365  	if source.GetServiceErrors() != nil {
   366  		if o.ServiceErrors == nil {
   367  			o.ServiceErrors = make(map[string]*iam_common.ServiceErrors, len(source.GetServiceErrors()))
   368  		}
   369  		for key, sourceValue := range source.GetServiceErrors() {
   370  			if sourceValue != nil {
   371  				if o.ServiceErrors[key] == nil {
   372  					o.ServiceErrors[key] = new(iam_common.ServiceErrors)
   373  				}
   374  				o.ServiceErrors[key].Merge(sourceValue)
   375  			}
   376  		}
   377  	}
   378  	o.ServicesGeneration = source.GetServicesGeneration()
   379  }
   380  
   381  func (o *Project) MergeRaw(source gotenobject.GotenObjectExt) {
   382  	o.Merge(source.(*Project))
   383  }