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