github.com/cloudwan/edgelq-sdk@v1.15.4/logging/resources/v1/log/log.pb.namebuilder.go (about) 1 // Code generated by protoc-gen-goten-resource 2 // Resource: Log 3 // DO NOT EDIT!!! 4 5 package log 6 7 import ( 8 gotenresource "github.com/cloudwan/goten-sdk/runtime/resource" 9 ) 10 11 // proto imports 12 import ( 13 iam_organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization" 14 iam_project "github.com/cloudwan/edgelq-sdk/iam/resources/v1/project" 15 bucket "github.com/cloudwan/edgelq-sdk/logging/resources/v1/bucket" 16 log_descriptor "github.com/cloudwan/edgelq-sdk/logging/resources/v1/log_descriptor" 17 meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service" 18 meta "github.com/cloudwan/goten-sdk/types/meta" 19 anypb "google.golang.org/protobuf/types/known/anypb" 20 structpb "google.golang.org/protobuf/types/known/structpb" 21 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 22 ) 23 24 // make sure we're using proto imports 25 var ( 26 _ = &iam_organization.Organization{} 27 _ = &iam_project.Project{} 28 _ = &bucket.Bucket{} 29 _ = &log_descriptor.LogDescriptor{} 30 _ = &anypb.Any{} 31 _ = &structpb.Struct{} 32 _ = ×tamppb.Timestamp{} 33 _ = &meta_service.Service{} 34 _ = &meta.Meta{} 35 ) 36 37 const ( 38 NamePattern_Project = "projects/{project}/logs/{log}" 39 NamePattern_Organization = "organizations/{organization}/logs/{log}" 40 NamePattern_Service = "services/{service}/logs/{log}" 41 NamePattern_Project_Region_Bucket = "projects/{project}/regions/{region}/buckets/{bucket}/logs/{log}" 42 NamePattern_Organization_Region_Bucket = "organizations/{organization}/regions/{region}/buckets/{bucket}/logs/{log}" 43 NamePattern_Service_Region_Bucket = "services/{service}/regions/{region}/buckets/{bucket}/logs/{log}" 44 ) 45 46 type NamePattern struct { 47 Pattern gotenresource.NamePattern `firestore:"pattern"` 48 } 49 50 type NameBuilder struct { 51 nameObj Name 52 } 53 54 func NewNameBuilder() *NameBuilder { 55 return &NameBuilder{ 56 nameObj: Name{ 57 LogId: gotenresource.WildcardId, 58 ParentName: ParentName{ 59 NamePattern: NamePattern{ 60 // Set default pattern - just first. 61 Pattern: NamePattern_Project, 62 }, 63 }, 64 }, 65 } 66 } 67 68 func (b *NameBuilder) Name() *Name { 69 copied := b.nameObj 70 return &copied 71 } 72 73 func (b *NameBuilder) Reference() *Reference { 74 return b.nameObj.AsReference() 75 } 76 77 func (b *NameBuilder) Parent() *ParentName { 78 copied := b.nameObj.ParentName 79 return &copied 80 } 81 82 func (b *NameBuilder) ParentReference() *ParentReference { 83 return b.nameObj.ParentName.AsReference() 84 } 85 86 func (b *NameBuilder) SetId(id string) *NameBuilder { 87 b.nameObj.LogId = id 88 return b 89 } 90 91 func (b *NameBuilder) SetProject(parent *iam_project.Name) *NameBuilder { 92 parentName := &b.nameObj.ParentName 93 94 switch parent.Pattern { 95 case iam_project.NamePattern_Nil: 96 parentName.Pattern = NamePattern_Project 97 } 98 parentName.ProjectId = parent.ProjectId 99 return b 100 } 101 102 func (b *NameBuilder) SetOrganization(parent *iam_organization.Name) *NameBuilder { 103 parentName := &b.nameObj.ParentName 104 105 switch parent.Pattern { 106 case iam_organization.NamePattern_Nil: 107 parentName.Pattern = NamePattern_Organization 108 } 109 parentName.OrganizationId = parent.OrganizationId 110 return b 111 } 112 113 func (b *NameBuilder) SetService(parent *meta_service.Name) *NameBuilder { 114 parentName := &b.nameObj.ParentName 115 116 switch parent.Pattern { 117 case meta_service.NamePattern_Nil: 118 parentName.Pattern = NamePattern_Service 119 } 120 parentName.ServiceId = parent.ServiceId 121 return b 122 } 123 124 func (b *NameBuilder) SetBucket(parent *bucket.Name) *NameBuilder { 125 parentName := &b.nameObj.ParentName 126 127 switch parent.Pattern { 128 case bucket.NamePattern_Project_Region: 129 parentName.Pattern = NamePattern_Project_Region_Bucket 130 case bucket.NamePattern_Organization_Region: 131 parentName.Pattern = NamePattern_Organization_Region_Bucket 132 case bucket.NamePattern_Service_Region: 133 parentName.Pattern = NamePattern_Service_Region_Bucket 134 } 135 parentName.ProjectId = parent.ProjectId 136 parentName.RegionId = parent.RegionId 137 parentName.BucketId = parent.BucketId 138 parentName.OrganizationId = parent.OrganizationId 139 parentName.ServiceId = parent.ServiceId 140 return b 141 } 142 143 func (b *NameBuilder) SetProjectId(id string) *NameBuilder { 144 parentName := &b.nameObj.ParentName 145 parentName.ProjectId = id 146 147 // Set pattern if something matches for this set of IDs 148 if parentName.ProjectId != "" { 149 parentName.Pattern = NamePattern_Project 150 } 151 if parentName.ProjectId != "" && parentName.RegionId != "" && parentName.BucketId != "" { 152 parentName.Pattern = NamePattern_Project_Region_Bucket 153 } 154 return b 155 } 156 157 func (b *NameBuilder) SetOrganizationId(id string) *NameBuilder { 158 parentName := &b.nameObj.ParentName 159 parentName.OrganizationId = id 160 161 // Set pattern if something matches for this set of IDs 162 if parentName.OrganizationId != "" { 163 parentName.Pattern = NamePattern_Organization 164 } 165 if parentName.OrganizationId != "" && parentName.RegionId != "" && parentName.BucketId != "" { 166 parentName.Pattern = NamePattern_Organization_Region_Bucket 167 } 168 return b 169 } 170 171 func (b *NameBuilder) SetServiceId(id string) *NameBuilder { 172 parentName := &b.nameObj.ParentName 173 parentName.ServiceId = id 174 175 // Set pattern if something matches for this set of IDs 176 if parentName.ServiceId != "" { 177 parentName.Pattern = NamePattern_Service 178 } 179 if parentName.ServiceId != "" && parentName.RegionId != "" && parentName.BucketId != "" { 180 parentName.Pattern = NamePattern_Service_Region_Bucket 181 } 182 return b 183 } 184 185 func (b *NameBuilder) SetRegionId(id string) *NameBuilder { 186 parentName := &b.nameObj.ParentName 187 parentName.RegionId = id 188 189 // Set pattern if something matches for this set of IDs 190 if parentName.ProjectId != "" && parentName.RegionId != "" && parentName.BucketId != "" { 191 parentName.Pattern = NamePattern_Project_Region_Bucket 192 } 193 if parentName.OrganizationId != "" && parentName.RegionId != "" && parentName.BucketId != "" { 194 parentName.Pattern = NamePattern_Organization_Region_Bucket 195 } 196 if parentName.ServiceId != "" && parentName.RegionId != "" && parentName.BucketId != "" { 197 parentName.Pattern = NamePattern_Service_Region_Bucket 198 } 199 return b 200 } 201 202 func (b *NameBuilder) SetBucketId(id string) *NameBuilder { 203 parentName := &b.nameObj.ParentName 204 parentName.BucketId = id 205 206 // Set pattern if something matches for this set of IDs 207 if parentName.ProjectId != "" && parentName.RegionId != "" && parentName.BucketId != "" { 208 parentName.Pattern = NamePattern_Project_Region_Bucket 209 } 210 if parentName.OrganizationId != "" && parentName.RegionId != "" && parentName.BucketId != "" { 211 parentName.Pattern = NamePattern_Organization_Region_Bucket 212 } 213 if parentName.ServiceId != "" && parentName.RegionId != "" && parentName.BucketId != "" { 214 parentName.Pattern = NamePattern_Service_Region_Bucket 215 } 216 return b 217 }