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