github.com/cloudwan/edgelq-sdk@v1.15.4/audit/resources/v1alpha2/resource_change_log/resource_change_log.pb.namebuilder.go (about) 1 // Code generated by protoc-gen-goten-resource 2 // Resource: ResourceChangeLog 3 // DO NOT EDIT!!! 4 5 package resource_change_log 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/v1alpha2/common" 14 iam_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/organization" 15 iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1alpha2/project" 16 meta "github.com/cloudwan/goten-sdk/types/meta" 17 anypb "google.golang.org/protobuf/types/known/anypb" 18 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 19 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 20 ) 21 22 // make sure we're using proto imports 23 var ( 24 _ = &common.Authentication{} 25 _ = &iam_organization.Organization{} 26 _ = &iam_project.Project{} 27 _ = &anypb.Any{} 28 _ = &fieldmaskpb.FieldMask{} 29 _ = ×tamppb.Timestamp{} 30 _ = &meta.Meta{} 31 ) 32 33 const ( 34 NamePattern_Nil = "resourceChangeLogs/{resource_change_log}" 35 NamePattern_Project = "projects/{project}/resourceChangeLogs/{resource_change_log}" 36 NamePattern_Organization = "organizations/{organization}/resourceChangeLogs/{resource_change_log}" 37 ) 38 39 type NamePattern struct { 40 Pattern gotenresource.NamePattern `firestore:"pattern"` 41 } 42 43 type NameBuilder struct { 44 nameObj Name 45 } 46 47 func NewNameBuilder() *NameBuilder { 48 return &NameBuilder{ 49 nameObj: Name{ 50 ResourceChangeLogId: gotenresource.WildcardId, 51 ParentName: ParentName{ 52 NamePattern: NamePattern{ 53 // Set default pattern - just first. 54 Pattern: NamePattern_Nil, 55 }, 56 }, 57 }, 58 } 59 } 60 61 func (b *NameBuilder) Name() *Name { 62 copied := b.nameObj 63 return &copied 64 } 65 66 func (b *NameBuilder) Reference() *Reference { 67 return b.nameObj.AsReference() 68 } 69 70 func (b *NameBuilder) Parent() *ParentName { 71 copied := b.nameObj.ParentName 72 return &copied 73 } 74 75 func (b *NameBuilder) ParentReference() *ParentReference { 76 return b.nameObj.ParentName.AsReference() 77 } 78 79 func (b *NameBuilder) SetId(id string) *NameBuilder { 80 b.nameObj.ResourceChangeLogId = id 81 return b 82 } 83 84 func (b *NameBuilder) SetProject(parent *iam_project.Name) *NameBuilder { 85 parentName := &b.nameObj.ParentName 86 87 switch parent.Pattern { 88 case iam_project.NamePattern_Nil: 89 parentName.Pattern = NamePattern_Project 90 } 91 parentName.ProjectId = parent.ProjectId 92 return b 93 } 94 95 func (b *NameBuilder) SetOrganization(parent *iam_organization.Name) *NameBuilder { 96 parentName := &b.nameObj.ParentName 97 98 switch parent.Pattern { 99 case iam_organization.NamePattern_Nil: 100 parentName.Pattern = NamePattern_Organization 101 } 102 parentName.OrganizationId = parent.OrganizationId 103 return b 104 } 105 106 func (b *NameBuilder) SetProjectId(id string) *NameBuilder { 107 parentName := &b.nameObj.ParentName 108 parentName.ProjectId = id 109 110 // Set pattern if something matches for this set of IDs 111 if parentName.ProjectId != "" { 112 parentName.Pattern = NamePattern_Project 113 } 114 return b 115 } 116 117 func (b *NameBuilder) SetOrganizationId(id string) *NameBuilder { 118 parentName := &b.nameObj.ParentName 119 parentName.OrganizationId = id 120 121 // Set pattern if something matches for this set of IDs 122 if parentName.OrganizationId != "" { 123 parentName.Pattern = NamePattern_Organization 124 } 125 return b 126 }