github.com/cloudwan/edgelq-sdk@v1.15.4/devices/resources/v1/tpm_attestation_cert/tpm_attestation_cert.pb.namebuilder.go (about) 1 // Code generated by protoc-gen-goten-resource 2 // Resource: TpmAttestationCert 3 // DO NOT EDIT!!! 4 5 package tpm_attestation_cert 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_Nil = "tpmAttestationCerts/{tpm_attestation_cert}" 25 NamePattern_Project = "projects/{project}/tpmAttestationCerts/{tpm_attestation_cert}" 26 ) 27 28 type NamePattern struct { 29 Pattern gotenresource.NamePattern `firestore:"pattern"` 30 } 31 32 type NameBuilder struct { 33 nameObj Name 34 } 35 36 func NewNameBuilder() *NameBuilder { 37 return &NameBuilder{ 38 nameObj: Name{ 39 TpmAttestationCertId: gotenresource.WildcardId, 40 ParentName: ParentName{ 41 NamePattern: NamePattern{ 42 // Set default pattern - just first. 43 Pattern: NamePattern_Nil, 44 }, 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.TpmAttestationCertId = 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 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 != "" { 90 parentName.Pattern = NamePattern_Project 91 } 92 return b 93 }