github.com/cloudwan/edgelq-sdk@v1.15.4/devices/resources/v1/device_distribution_counter/device_distribution_counter.pb.namebuilder.go (about) 1 // Code generated by protoc-gen-goten-resource 2 // Resource: DeviceDistributionCounter 3 // DO NOT EDIT!!! 4 5 package device_distribution_counter 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/devices/resources/v1/project" 14 meta "github.com/cloudwan/goten-sdk/types/meta" 15 ) 16 17 // make sure we're using proto imports 18 var ( 19 _ = &project.Project{} 20 _ = &meta.Meta{} 21 ) 22 23 const ( 24 NamePattern_Project_Region = "projects/{project}/regions/{region}/deviceDistributionCounters/{device_distribution_counter}" 25 ) 26 27 type NamePattern struct { 28 Pattern gotenresource.NamePattern `firestore:"pattern"` 29 } 30 31 type NameBuilder struct { 32 nameObj Name 33 } 34 35 func NewNameBuilder() *NameBuilder { 36 return &NameBuilder{ 37 nameObj: Name{ 38 DeviceDistributionCounterId: gotenresource.WildcardId, 39 ParentName: ParentName{ 40 NamePattern: NamePattern{ 41 // Set default pattern - just first. 42 Pattern: NamePattern_Project_Region, 43 }, 44 RegionId: gotenresource.WildcardId, 45 }, 46 }, 47 } 48 } 49 50 func (b *NameBuilder) Name() *Name { 51 copied := b.nameObj 52 return &copied 53 } 54 55 func (b *NameBuilder) Reference() *Reference { 56 return b.nameObj.AsReference() 57 } 58 59 func (b *NameBuilder) Parent() *ParentName { 60 copied := b.nameObj.ParentName 61 return &copied 62 } 63 64 func (b *NameBuilder) ParentReference() *ParentReference { 65 return b.nameObj.ParentName.AsReference() 66 } 67 68 func (b *NameBuilder) SetId(id string) *NameBuilder { 69 b.nameObj.DeviceDistributionCounterId = id 70 return b 71 } 72 73 func (b *NameBuilder) SetProject(parent *project.Name) *NameBuilder { 74 parentName := &b.nameObj.ParentName 75 76 switch parent.Pattern { 77 case project.NamePattern_Nil: 78 parentName.Pattern = NamePattern_Project_Region 79 } 80 parentName.ProjectId = parent.ProjectId 81 return b 82 } 83 84 func (b *NameBuilder) SetProjectId(id string) *NameBuilder { 85 parentName := &b.nameObj.ParentName 86 parentName.ProjectId = id 87 88 // Set pattern if something matches for this set of IDs 89 if parentName.ProjectId != "" && parentName.RegionId != "" { 90 parentName.Pattern = NamePattern_Project_Region 91 } 92 return b 93 } 94 95 func (b *NameBuilder) SetRegionId(id string) *NameBuilder { 96 parentName := &b.nameObj.ParentName 97 parentName.RegionId = id 98 99 // Set pattern if something matches for this set of IDs 100 if parentName.ProjectId != "" && parentName.RegionId != "" { 101 parentName.Pattern = NamePattern_Project_Region 102 } 103 return b 104 }