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

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