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

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