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