github.com/cloudwan/edgelq-sdk@v1.15.4/logging/resources/v1/bucket/bucket.pb.namebuilder.go (about) 1 // Code generated by protoc-gen-goten-resource 2 // Resource: Bucket 3 // DO NOT EDIT!!! 4 5 package bucket 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 log_descriptor "github.com/cloudwan/edgelq-sdk/logging/resources/v1/log_descriptor" 16 meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service" 17 meta "github.com/cloudwan/goten-sdk/types/meta" 18 ) 19 20 // make sure we're using proto imports 21 var ( 22 _ = &iam_organization.Organization{} 23 _ = &iam_project.Project{} 24 _ = &log_descriptor.LogDescriptor{} 25 _ = &meta_service.Service{} 26 _ = &meta.Meta{} 27 ) 28 29 const ( 30 NamePattern_Project_Region = "projects/{project}/regions/{region}/buckets/{bucket}" 31 NamePattern_Organization_Region = "organizations/{organization}/regions/{region}/buckets/{bucket}" 32 NamePattern_Service_Region = "services/{service}/regions/{region}/buckets/{bucket}" 33 ) 34 35 type NamePattern struct { 36 Pattern gotenresource.NamePattern `firestore:"pattern"` 37 } 38 39 type NameBuilder struct { 40 nameObj Name 41 } 42 43 func NewNameBuilder() *NameBuilder { 44 return &NameBuilder{ 45 nameObj: Name{ 46 BucketId: gotenresource.WildcardId, 47 ParentName: ParentName{ 48 NamePattern: NamePattern{ 49 // Set default pattern - just first. 50 Pattern: NamePattern_Project_Region, 51 }, 52 RegionId: gotenresource.WildcardId, 53 }, 54 }, 55 } 56 } 57 58 func (b *NameBuilder) Name() *Name { 59 copied := b.nameObj 60 return &copied 61 } 62 63 func (b *NameBuilder) Reference() *Reference { 64 return b.nameObj.AsReference() 65 } 66 67 func (b *NameBuilder) Parent() *ParentName { 68 copied := b.nameObj.ParentName 69 return &copied 70 } 71 72 func (b *NameBuilder) ParentReference() *ParentReference { 73 return b.nameObj.ParentName.AsReference() 74 } 75 76 func (b *NameBuilder) SetId(id string) *NameBuilder { 77 b.nameObj.BucketId = id 78 return b 79 } 80 81 func (b *NameBuilder) SetProject(parent *iam_project.Name) *NameBuilder { 82 parentName := &b.nameObj.ParentName 83 84 switch parent.Pattern { 85 case iam_project.NamePattern_Nil: 86 parentName.Pattern = NamePattern_Project_Region 87 } 88 parentName.ProjectId = parent.ProjectId 89 return b 90 } 91 92 func (b *NameBuilder) SetOrganization(parent *iam_organization.Name) *NameBuilder { 93 parentName := &b.nameObj.ParentName 94 95 switch parent.Pattern { 96 case iam_organization.NamePattern_Nil: 97 parentName.Pattern = NamePattern_Organization_Region 98 } 99 parentName.OrganizationId = parent.OrganizationId 100 return b 101 } 102 103 func (b *NameBuilder) SetService(parent *meta_service.Name) *NameBuilder { 104 parentName := &b.nameObj.ParentName 105 106 switch parent.Pattern { 107 case meta_service.NamePattern_Nil: 108 parentName.Pattern = NamePattern_Service_Region 109 } 110 parentName.ServiceId = parent.ServiceId 111 return b 112 } 113 114 func (b *NameBuilder) SetProjectId(id string) *NameBuilder { 115 parentName := &b.nameObj.ParentName 116 parentName.ProjectId = id 117 118 // Set pattern if something matches for this set of IDs 119 if parentName.ProjectId != "" && parentName.RegionId != "" { 120 parentName.Pattern = NamePattern_Project_Region 121 } 122 return b 123 } 124 125 func (b *NameBuilder) SetRegionId(id string) *NameBuilder { 126 parentName := &b.nameObj.ParentName 127 parentName.RegionId = id 128 129 // Set pattern if something matches for this set of IDs 130 if parentName.ProjectId != "" && parentName.RegionId != "" { 131 parentName.Pattern = NamePattern_Project_Region 132 } 133 if parentName.OrganizationId != "" && parentName.RegionId != "" { 134 parentName.Pattern = NamePattern_Organization_Region 135 } 136 if parentName.ServiceId != "" && parentName.RegionId != "" { 137 parentName.Pattern = NamePattern_Service_Region 138 } 139 return b 140 } 141 142 func (b *NameBuilder) SetOrganizationId(id string) *NameBuilder { 143 parentName := &b.nameObj.ParentName 144 parentName.OrganizationId = id 145 146 // Set pattern if something matches for this set of IDs 147 if parentName.OrganizationId != "" && parentName.RegionId != "" { 148 parentName.Pattern = NamePattern_Organization_Region 149 } 150 return b 151 } 152 153 func (b *NameBuilder) SetServiceId(id string) *NameBuilder { 154 parentName := &b.nameObj.ParentName 155 parentName.ServiceId = id 156 157 // Set pattern if something matches for this set of IDs 158 if parentName.ServiceId != "" && parentName.RegionId != "" { 159 parentName.Pattern = NamePattern_Service_Region 160 } 161 return b 162 }