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