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

     1  // Code generated by protoc-gen-goten-object
     2  // File: edgelq/limits/proto/v1/plan_assignment.proto
     3  // DO NOT EDIT!!!
     4  
     5  package plan_assignment
     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_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization"
    20  	iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project"
    21  	accepted_plan "github.com/cloudwan/edgelq-sdk/limits/resources/v1/accepted_plan"
    22  	common "github.com/cloudwan/edgelq-sdk/limits/resources/v1/common"
    23  	plan "github.com/cloudwan/edgelq-sdk/limits/resources/v1/plan"
    24  	meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service"
    25  	meta "github.com/cloudwan/goten-sdk/types/meta"
    26  )
    27  
    28  // ensure the imports are used
    29  var (
    30  	_ = new(fmt.Stringer)
    31  	_ = new(sort.Interface)
    32  
    33  	_ = new(proto.Message)
    34  	_ = googlefieldmaskpb.FieldMask{}
    35  
    36  	_ = new(gotenobject.FieldPath)
    37  )
    38  
    39  // make sure we're using proto imports
    40  var (
    41  	_ = &iam_organization.Organization{}
    42  	_ = &iam_project.Project{}
    43  	_ = &accepted_plan.AcceptedPlan{}
    44  	_ = &common.RegionalPlanAssignment{}
    45  	_ = &plan.Plan{}
    46  	_ = &meta_service.Service{}
    47  	_ = &meta.Meta{}
    48  )
    49  
    50  func (o *PlanAssignment) GotenObjectExt() {}
    51  
    52  func (o *PlanAssignment) MakeFullFieldMask() *PlanAssignment_FieldMask {
    53  	return FullPlanAssignment_FieldMask()
    54  }
    55  
    56  func (o *PlanAssignment) MakeRawFullFieldMask() gotenobject.FieldMask {
    57  	return FullPlanAssignment_FieldMask()
    58  }
    59  
    60  func (o *PlanAssignment) MakeDiffFieldMask(other *PlanAssignment) *PlanAssignment_FieldMask {
    61  	if o == nil && other == nil {
    62  		return &PlanAssignment_FieldMask{}
    63  	}
    64  	if o == nil || other == nil {
    65  		return FullPlanAssignment_FieldMask()
    66  	}
    67  
    68  	res := &PlanAssignment_FieldMask{}
    69  	if o.GetName().String() != other.GetName().String() {
    70  		res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorName})
    71  	}
    72  	{
    73  		subMask := o.GetMetadata().MakeDiffFieldMask(other.GetMetadata())
    74  		if subMask.IsFull() {
    75  			res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorMetadata})
    76  		} else {
    77  			for _, subpath := range subMask.Paths {
    78  				res.Paths = append(res.Paths, &PlanAssignment_FieldSubPath{selector: PlanAssignment_FieldPathSelectorMetadata, subPath: subpath})
    79  			}
    80  		}
    81  	}
    82  	if o.GetDefaultRegionalPlan().String() != other.GetDefaultRegionalPlan().String() {
    83  		res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorDefaultRegionalPlan})
    84  	}
    85  	if o.GetService().String() != other.GetService().String() {
    86  		res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorService})
    87  	}
    88  
    89  	if len(o.GetRegionalPlanOverrides()) == len(other.GetRegionalPlanOverrides()) {
    90  		for i, lValue := range o.GetRegionalPlanOverrides() {
    91  			rValue := other.GetRegionalPlanOverrides()[i]
    92  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
    93  				res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorRegionalPlanOverrides})
    94  				break
    95  			}
    96  		}
    97  	} else {
    98  		res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorRegionalPlanOverrides})
    99  	}
   100  
   101  	if len(o.GetExtensions()) == len(other.GetExtensions()) {
   102  		for i, lValue := range o.GetExtensions() {
   103  			rValue := other.GetExtensions()[i]
   104  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   105  				res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorExtensions})
   106  				break
   107  			}
   108  		}
   109  	} else {
   110  		res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorExtensions})
   111  	}
   112  
   113  	if len(o.GetAllowances()) == len(other.GetAllowances()) {
   114  		for i, lValue := range o.GetAllowances() {
   115  			rValue := other.GetAllowances()[i]
   116  			if len(lValue.MakeDiffFieldMask(rValue).Paths) > 0 {
   117  				res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorAllowances})
   118  				break
   119  			}
   120  		}
   121  	} else {
   122  		res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorAllowances})
   123  	}
   124  
   125  	if len(o.GetAppliedRegions()) == len(other.GetAppliedRegions()) {
   126  		for i, lValue := range o.GetAppliedRegions() {
   127  			rValue := other.GetAppliedRegions()[i]
   128  			if lValue != rValue {
   129  				res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorAppliedRegions})
   130  				break
   131  			}
   132  		}
   133  	} else {
   134  		res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorAppliedRegions})
   135  	}
   136  	if o.GetAppliedPlanSpecGeneration() != other.GetAppliedPlanSpecGeneration() {
   137  		res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorAppliedPlanSpecGeneration})
   138  	}
   139  	if o.GetSource().String() != other.GetSource().String() {
   140  		res.Paths = append(res.Paths, &PlanAssignment_FieldTerminalPath{selector: PlanAssignment_FieldPathSelectorSource})
   141  	}
   142  	return res
   143  }
   144  
   145  func (o *PlanAssignment) MakeRawDiffFieldMask(other gotenobject.GotenObjectExt) gotenobject.FieldMask {
   146  	return o.MakeDiffFieldMask(other.(*PlanAssignment))
   147  }
   148  
   149  func (o *PlanAssignment) Clone() *PlanAssignment {
   150  	if o == nil {
   151  		return nil
   152  	}
   153  	result := &PlanAssignment{}
   154  	if o.Name == nil {
   155  		result.Name = nil
   156  	} else if data, err := o.Name.ProtoString(); err != nil {
   157  		panic(err)
   158  	} else {
   159  		result.Name = &Name{}
   160  		if err := result.Name.ParseProtoString(data); err != nil {
   161  			panic(err)
   162  		}
   163  	}
   164  	result.Metadata = o.Metadata.Clone()
   165  	if o.DefaultRegionalPlan == nil {
   166  		result.DefaultRegionalPlan = nil
   167  	} else if data, err := o.DefaultRegionalPlan.ProtoString(); err != nil {
   168  		panic(err)
   169  	} else {
   170  		result.DefaultRegionalPlan = &plan.Reference{}
   171  		if err := result.DefaultRegionalPlan.ParseProtoString(data); err != nil {
   172  			panic(err)
   173  		}
   174  	}
   175  	if o.Service == nil {
   176  		result.Service = nil
   177  	} else if data, err := o.Service.ProtoString(); err != nil {
   178  		panic(err)
   179  	} else {
   180  		result.Service = &meta_service.Reference{}
   181  		if err := result.Service.ParseProtoString(data); err != nil {
   182  			panic(err)
   183  		}
   184  	}
   185  	result.RegionalPlanOverrides = make([]*common.RegionalPlanAssignment, len(o.RegionalPlanOverrides))
   186  	for i, sourceValue := range o.RegionalPlanOverrides {
   187  		result.RegionalPlanOverrides[i] = sourceValue.Clone()
   188  	}
   189  	result.Extensions = make([]*common.Allowance, len(o.Extensions))
   190  	for i, sourceValue := range o.Extensions {
   191  		result.Extensions[i] = sourceValue.Clone()
   192  	}
   193  	result.Allowances = make([]*common.Allowance, len(o.Allowances))
   194  	for i, sourceValue := range o.Allowances {
   195  		result.Allowances[i] = sourceValue.Clone()
   196  	}
   197  	result.AppliedRegions = make([]string, len(o.AppliedRegions))
   198  	for i, sourceValue := range o.AppliedRegions {
   199  		result.AppliedRegions[i] = sourceValue
   200  	}
   201  	result.AppliedPlanSpecGeneration = o.AppliedPlanSpecGeneration
   202  	if o.Source == nil {
   203  		result.Source = nil
   204  	} else if data, err := o.Source.ProtoString(); err != nil {
   205  		panic(err)
   206  	} else {
   207  		result.Source = &accepted_plan.Reference{}
   208  		if err := result.Source.ParseProtoString(data); err != nil {
   209  			panic(err)
   210  		}
   211  	}
   212  	return result
   213  }
   214  
   215  func (o *PlanAssignment) CloneRaw() gotenobject.GotenObjectExt {
   216  	return o.Clone()
   217  }
   218  
   219  func (o *PlanAssignment) Merge(source *PlanAssignment) {
   220  	if source.GetName() != nil {
   221  		if data, err := source.GetName().ProtoString(); err != nil {
   222  			panic(err)
   223  		} else {
   224  			o.Name = &Name{}
   225  			if err := o.Name.ParseProtoString(data); err != nil {
   226  				panic(err)
   227  			}
   228  		}
   229  	} else {
   230  		o.Name = nil
   231  	}
   232  	if source.GetMetadata() != nil {
   233  		if o.Metadata == nil {
   234  			o.Metadata = new(meta.Meta)
   235  		}
   236  		o.Metadata.Merge(source.GetMetadata())
   237  	}
   238  	if source.GetDefaultRegionalPlan() != nil {
   239  		if data, err := source.GetDefaultRegionalPlan().ProtoString(); err != nil {
   240  			panic(err)
   241  		} else {
   242  			o.DefaultRegionalPlan = &plan.Reference{}
   243  			if err := o.DefaultRegionalPlan.ParseProtoString(data); err != nil {
   244  				panic(err)
   245  			}
   246  		}
   247  	} else {
   248  		o.DefaultRegionalPlan = nil
   249  	}
   250  	if source.GetService() != nil {
   251  		if data, err := source.GetService().ProtoString(); err != nil {
   252  			panic(err)
   253  		} else {
   254  			o.Service = &meta_service.Reference{}
   255  			if err := o.Service.ParseProtoString(data); err != nil {
   256  				panic(err)
   257  			}
   258  		}
   259  	} else {
   260  		o.Service = nil
   261  	}
   262  	for _, sourceValue := range source.GetRegionalPlanOverrides() {
   263  		exists := false
   264  		for _, currentValue := range o.RegionalPlanOverrides {
   265  			if proto.Equal(sourceValue, currentValue) {
   266  				exists = true
   267  				break
   268  			}
   269  		}
   270  		if !exists {
   271  			var newDstElement *common.RegionalPlanAssignment
   272  			if sourceValue != nil {
   273  				newDstElement = new(common.RegionalPlanAssignment)
   274  				newDstElement.Merge(sourceValue)
   275  			}
   276  			o.RegionalPlanOverrides = append(o.RegionalPlanOverrides, newDstElement)
   277  		}
   278  	}
   279  
   280  	for _, sourceValue := range source.GetExtensions() {
   281  		exists := false
   282  		for _, currentValue := range o.Extensions {
   283  			if proto.Equal(sourceValue, currentValue) {
   284  				exists = true
   285  				break
   286  			}
   287  		}
   288  		if !exists {
   289  			var newDstElement *common.Allowance
   290  			if sourceValue != nil {
   291  				newDstElement = new(common.Allowance)
   292  				newDstElement.Merge(sourceValue)
   293  			}
   294  			o.Extensions = append(o.Extensions, newDstElement)
   295  		}
   296  	}
   297  
   298  	for _, sourceValue := range source.GetAllowances() {
   299  		exists := false
   300  		for _, currentValue := range o.Allowances {
   301  			if proto.Equal(sourceValue, currentValue) {
   302  				exists = true
   303  				break
   304  			}
   305  		}
   306  		if !exists {
   307  			var newDstElement *common.Allowance
   308  			if sourceValue != nil {
   309  				newDstElement = new(common.Allowance)
   310  				newDstElement.Merge(sourceValue)
   311  			}
   312  			o.Allowances = append(o.Allowances, newDstElement)
   313  		}
   314  	}
   315  
   316  	for _, sourceValue := range source.GetAppliedRegions() {
   317  		exists := false
   318  		for _, currentValue := range o.AppliedRegions {
   319  			if currentValue == sourceValue {
   320  				exists = true
   321  				break
   322  			}
   323  		}
   324  		if !exists {
   325  			var newDstElement string
   326  			newDstElement = sourceValue
   327  			o.AppliedRegions = append(o.AppliedRegions, newDstElement)
   328  		}
   329  	}
   330  
   331  	o.AppliedPlanSpecGeneration = source.GetAppliedPlanSpecGeneration()
   332  	if source.GetSource() != nil {
   333  		if data, err := source.GetSource().ProtoString(); err != nil {
   334  			panic(err)
   335  		} else {
   336  			o.Source = &accepted_plan.Reference{}
   337  			if err := o.Source.ParseProtoString(data); err != nil {
   338  				panic(err)
   339  			}
   340  		}
   341  	} else {
   342  		o.Source = nil
   343  	}
   344  }
   345  
   346  func (o *PlanAssignment) MergeRaw(source gotenobject.GotenObjectExt) {
   347  	o.Merge(source.(*PlanAssignment))
   348  }