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  }