github.com/cloudwan/edgelq-sdk@v1.15.4/iam/resources/v1/project/project.pb.namebuilder.go (about)

     1  // Code generated by protoc-gen-goten-resource
     2  // Resource: Project
     3  // DO NOT EDIT!!!
     4  
     5  package project
     6  
     7  import (
     8  	gotenresource "github.com/cloudwan/goten-sdk/runtime/resource"
     9  )
    10  
    11  // proto imports
    12  import (
    13  	iam_common "github.com/cloudwan/edgelq-sdk/iam/resources/v1/common"
    14  	organization "github.com/cloudwan/edgelq-sdk/iam/resources/v1/organization"
    15  	meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service"
    16  	meta "github.com/cloudwan/goten-sdk/types/meta"
    17  	multi_region_policy "github.com/cloudwan/goten-sdk/types/multi_region_policy"
    18  )
    19  
    20  // make sure we're using proto imports
    21  var (
    22  	_ = &iam_common.PCR{}
    23  	_ = &organization.Organization{}
    24  	_ = &meta_service.Service{}
    25  	_ = &meta.Meta{}
    26  	_ = &multi_region_policy.MultiRegionPolicy{}
    27  )
    28  
    29  const (
    30  	NamePattern_Nil = "projects/{project}"
    31  )
    32  
    33  type NamePattern struct {
    34  	Pattern gotenresource.NamePattern `firestore:"pattern"`
    35  }
    36  
    37  type NameBuilder struct {
    38  	nameObj Name
    39  }
    40  
    41  func NewNameBuilder() *NameBuilder {
    42  	return &NameBuilder{
    43  		nameObj: Name{
    44  			ProjectId: gotenresource.WildcardId,
    45  			NamePattern: NamePattern{
    46  				// Set default pattern - just first.
    47  				Pattern: NamePattern_Nil,
    48  			},
    49  		},
    50  	}
    51  }
    52  
    53  func (b *NameBuilder) Name() *Name {
    54  	copied := b.nameObj
    55  	return &copied
    56  }
    57  
    58  func (b *NameBuilder) Reference() *Reference {
    59  	return b.nameObj.AsReference()
    60  }
    61  
    62  func (b *NameBuilder) SetId(id string) *NameBuilder {
    63  	b.nameObj.ProjectId = id
    64  	return b
    65  }