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

     1  // Code generated by protoc-gen-goten-resource
     2  // Resource: Secret
     3  // DO NOT EDIT!!!
     4  
     5  package secret
     6  
     7  import (
     8  	gotenresource "github.com/cloudwan/goten-sdk/runtime/resource"
     9  )
    10  
    11  // proto imports
    12  import (
    13  	project "github.com/cloudwan/edgelq-sdk/secrets/resources/v1alpha2/project"
    14  	meta "github.com/cloudwan/goten-sdk/types/meta"
    15  )
    16  
    17  // make sure we're using proto imports
    18  var (
    19  	_ = &project.Project{}
    20  	_ = &meta.Meta{}
    21  )
    22  
    23  const (
    24  	NamePattern_Project = "projects/{project}/secrets/{secret}"
    25  )
    26  
    27  type NamePattern struct {
    28  	Pattern gotenresource.NamePattern `firestore:"pattern"`
    29  }
    30  
    31  type NameBuilder struct {
    32  	nameObj Name
    33  }
    34  
    35  func NewNameBuilder() *NameBuilder {
    36  	return &NameBuilder{
    37  		nameObj: Name{
    38  			SecretId: gotenresource.WildcardId,
    39  			ParentName: ParentName{
    40  				NamePattern: NamePattern{
    41  					// Set default pattern - just first.
    42  					Pattern: NamePattern_Project,
    43  				},
    44  			},
    45  		},
    46  	}
    47  }
    48  
    49  func (b *NameBuilder) Name() *Name {
    50  	copied := b.nameObj
    51  	return &copied
    52  }
    53  
    54  func (b *NameBuilder) Reference() *Reference {
    55  	return b.nameObj.AsReference()
    56  }
    57  
    58  func (b *NameBuilder) Parent() *ParentName {
    59  	copied := b.nameObj.ParentName
    60  	return &copied
    61  }
    62  
    63  func (b *NameBuilder) ParentReference() *ParentReference {
    64  	return b.nameObj.ParentName.AsReference()
    65  }
    66  
    67  func (b *NameBuilder) SetId(id string) *NameBuilder {
    68  	b.nameObj.SecretId = id
    69  	return b
    70  }
    71  
    72  func (b *NameBuilder) SetProject(parent *project.Name) *NameBuilder {
    73  	parentName := &b.nameObj.ParentName
    74  
    75  	switch parent.Pattern {
    76  	case project.NamePattern_Nil:
    77  		parentName.Pattern = NamePattern_Project
    78  	}
    79  	parentName.ProjectId = parent.ProjectId
    80  	return b
    81  }
    82  
    83  func (b *NameBuilder) SetProjectId(id string) *NameBuilder {
    84  	parentName := &b.nameObj.ParentName
    85  	parentName.ProjectId = id
    86  
    87  	// Set pattern if something matches for this set of IDs
    88  	if parentName.ProjectId != "" {
    89  		parentName.Pattern = NamePattern_Project
    90  	}
    91  	return b
    92  }