github.com/cloudwan/edgelq-sdk@v1.15.4/audit/resources/v1/audited_resource_descriptor/audited_resource_descriptor.pb.namebuilder.go (about) 1 // Code generated by protoc-gen-goten-resource 2 // Resource: AuditedResourceDescriptor 3 // DO NOT EDIT!!! 4 5 package audited_resource_descriptor 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/audit/resources/v1/common" 14 meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service" 15 meta "github.com/cloudwan/goten-sdk/types/meta" 16 ) 17 18 // make sure we're using proto imports 19 var ( 20 _ = &common.Authentication{} 21 _ = &meta_service.Service{} 22 _ = &meta.Meta{} 23 ) 24 25 const ( 26 NamePattern_Service = "services/{service}/auditedResourceDescriptors/{audited_resource_descriptor}" 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 AuditedResourceDescriptorId: gotenresource.WildcardId, 41 ParentName: ParentName{ 42 NamePattern: NamePattern{ 43 // Set default pattern - just first. 44 Pattern: NamePattern_Service, 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.AuditedResourceDescriptorId = id 71 return b 72 } 73 74 func (b *NameBuilder) SetService(parent *meta_service.Name) *NameBuilder { 75 parentName := &b.nameObj.ParentName 76 77 switch parent.Pattern { 78 case meta_service.NamePattern_Nil: 79 parentName.Pattern = NamePattern_Service 80 } 81 parentName.ServiceId = parent.ServiceId 82 return b 83 } 84 85 func (b *NameBuilder) SetServiceId(id string) *NameBuilder { 86 parentName := &b.nameObj.ParentName 87 parentName.ServiceId = id 88 89 // Set pattern if something matches for this set of IDs 90 if parentName.ServiceId != "" { 91 parentName.Pattern = NamePattern_Service 92 } 93 return b 94 }