github.com/cloudwan/edgelq-sdk@v1.15.4/limits/resources/v1alpha2/accepted_plan/accepted_plan.pb.namebuilder.go (about) 1 // Code generated by protoc-gen-goten-resource 2 // Resource: AcceptedPlan 3 // DO NOT EDIT!!! 4 5 package accepted_plan 6 7 import ( 8 gotenresource "github.com/cloudwan/goten-sdk/runtime/resource" 9 ) 10 11 // proto imports 12 import ( 13 iam_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/organization" 14 iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/project" 15 common "github.com/cloudwan/edgelq-sdk/limits/resources/v1alpha2/common" 16 plan "github.com/cloudwan/edgelq-sdk/limits/resources/v1alpha2/plan" 17 meta_service "github.com/cloudwan/edgelq-sdk/meta/resources/v1alpha2/service" 18 meta "github.com/cloudwan/goten-sdk/types/meta" 19 ) 20 21 // make sure we're using proto imports 22 var ( 23 _ = &iam_organization.Organization{} 24 _ = &iam_project.Project{} 25 _ = &common.Allowance{} 26 _ = &plan.Plan{} 27 _ = &meta_service.Service{} 28 _ = &meta.Meta{} 29 ) 30 31 const ( 32 NamePattern_Nil = "acceptedPlans/{accepted_plan}" 33 NamePattern_Organization = "organizations/{organization}/acceptedPlans/{accepted_plan}" 34 ) 35 36 type NamePattern struct { 37 Pattern gotenresource.NamePattern `firestore:"pattern"` 38 } 39 40 type NameBuilder struct { 41 nameObj Name 42 } 43 44 func NewNameBuilder() *NameBuilder { 45 return &NameBuilder{ 46 nameObj: Name{ 47 AcceptedPlanId: gotenresource.WildcardId, 48 ParentName: ParentName{ 49 NamePattern: NamePattern{ 50 // Set default pattern - just first. 51 Pattern: NamePattern_Nil, 52 }, 53 }, 54 }, 55 } 56 } 57 58 func (b *NameBuilder) Name() *Name { 59 copied := b.nameObj 60 return &copied 61 } 62 63 func (b *NameBuilder) Reference() *Reference { 64 return b.nameObj.AsReference() 65 } 66 67 func (b *NameBuilder) Parent() *ParentName { 68 copied := b.nameObj.ParentName 69 return &copied 70 } 71 72 func (b *NameBuilder) ParentReference() *ParentReference { 73 return b.nameObj.ParentName.AsReference() 74 } 75 76 func (b *NameBuilder) SetId(id string) *NameBuilder { 77 b.nameObj.AcceptedPlanId = id 78 return b 79 } 80 81 func (b *NameBuilder) SetOrganization(parent *iam_organization.Name) *NameBuilder { 82 parentName := &b.nameObj.ParentName 83 84 switch parent.Pattern { 85 case iam_organization.NamePattern_Nil: 86 parentName.Pattern = NamePattern_Organization 87 } 88 parentName.OrganizationId = parent.OrganizationId 89 return b 90 } 91 92 func (b *NameBuilder) SetOrganizationId(id string) *NameBuilder { 93 parentName := &b.nameObj.ParentName 94 parentName.OrganizationId = id 95 96 // Set pattern if something matches for this set of IDs 97 if parentName.OrganizationId != "" { 98 parentName.Pattern = NamePattern_Organization 99 } 100 return b 101 }