github.com/cloudwan/edgelq-sdk@v1.15.4/limits/resources/v1alpha2/plan/plan.pb.namebuilder.go (about) 1 // Code generated by protoc-gen-goten-resource 2 // Resource: Plan 3 // DO NOT EDIT!!! 4 5 package plan 6 7 import ( 8 gotenresource "github.com/cloudwan/goten-sdk/runtime/resource" 9 ) 10 11 // proto imports 12 import ( 13 iam_iam_common "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/common" 14 common "github.com/cloudwan/edgelq-sdk/limits/resources/v1alpha2/common" 15 meta_service "github.com/cloudwan/edgelq-sdk/meta/resources/v1alpha2/service" 16 meta "github.com/cloudwan/goten-sdk/types/meta" 17 ) 18 19 // make sure we're using proto imports 20 var ( 21 _ = &iam_iam_common.PCR{} 22 _ = &common.Allowance{} 23 _ = &meta_service.Service{} 24 _ = &meta.Meta{} 25 ) 26 27 const ( 28 NamePattern_Nil = "plans/{plan}" 29 ) 30 31 type NamePattern struct { 32 Pattern gotenresource.NamePattern `firestore:"pattern"` 33 } 34 35 type NameBuilder struct { 36 nameObj Name 37 } 38 39 func NewNameBuilder() *NameBuilder { 40 return &NameBuilder{ 41 nameObj: Name{ 42 PlanId: gotenresource.WildcardId, 43 NamePattern: NamePattern{ 44 // Set default pattern - just first. 45 Pattern: NamePattern_Nil, 46 }, 47 }, 48 } 49 } 50 51 func (b *NameBuilder) Name() *Name { 52 copied := b.nameObj 53 return &copied 54 } 55 56 func (b *NameBuilder) Reference() *Reference { 57 return b.nameObj.AsReference() 58 } 59 60 func (b *NameBuilder) SetId(id string) *NameBuilder { 61 b.nameObj.PlanId = id 62 return b 63 }