github.com/cloudwan/edgelq-sdk@v1.15.4/monitoring/resources/v3/notification_channel/notification_channel.pb.namebuilder.go (about) 1 // Code generated by protoc-gen-goten-resource 2 // Resource: NotificationChannel 3 // DO NOT EDIT!!! 4 5 package notification_channel 6 7 import ( 8 gotenresource "github.com/cloudwan/goten-sdk/runtime/resource" 9 ) 10 11 // proto imports 12 import ( 13 project "github.com/cloudwan/edgelq-sdk/monitoring/resources/v3/project" 14 meta "github.com/cloudwan/goten-sdk/types/meta" 15 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 16 ) 17 18 // make sure we're using proto imports 19 var ( 20 _ = &project.Project{} 21 _ = ×tamppb.Timestamp{} 22 _ = &meta.Meta{} 23 ) 24 25 const ( 26 NamePattern_Project = "projects/{project}/notificationChannels/{notification_channel}" 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 NotificationChannelId: gotenresource.WildcardId, 41 ParentName: ParentName{ 42 NamePattern: NamePattern{ 43 // Set default pattern - just first. 44 Pattern: NamePattern_Project, 45 }, 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) Parent() *ParentName { 61 copied := b.nameObj.ParentName 62 return &copied 63 } 64 65 func (b *NameBuilder) ParentReference() *ParentReference { 66 return b.nameObj.ParentName.AsReference() 67 } 68 69 func (b *NameBuilder) SetId(id string) *NameBuilder { 70 b.nameObj.NotificationChannelId = id 71 return b 72 } 73 74 func (b *NameBuilder) SetProject(parent *project.Name) *NameBuilder { 75 parentName := &b.nameObj.ParentName 76 77 switch parent.Pattern { 78 case project.NamePattern_Nil: 79 parentName.Pattern = NamePattern_Project 80 } 81 parentName.ProjectId = parent.ProjectId 82 return b 83 } 84 85 func (b *NameBuilder) SetProjectId(id string) *NameBuilder { 86 parentName := &b.nameObj.ParentName 87 parentName.ProjectId = id 88 89 // Set pattern if something matches for this set of IDs 90 if parentName.ProjectId != "" { 91 parentName.Pattern = NamePattern_Project 92 } 93 return b 94 }