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

     1  // Code generated by protoc-gen-goten-resource
     2  // Resource: Log
     3  // DO NOT EDIT!!!
     4  
     5  package log
     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  	bucket "github.com/cloudwan/edgelq-sdk/logging/resources/v1/bucket"
    16  	log_descriptor "github.com/cloudwan/edgelq-sdk/logging/resources/v1/log_descriptor"
    17  	meta_service "github.com/cloudwan/goten-sdk/meta-service/resources/v1/service"
    18  	meta "github.com/cloudwan/goten-sdk/types/meta"
    19  	anypb "google.golang.org/protobuf/types/known/anypb"
    20  	structpb "google.golang.org/protobuf/types/known/structpb"
    21  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    22  )
    23  
    24  // make sure we're using proto imports
    25  var (
    26  	_ = &iam_organization.Organization{}
    27  	_ = &iam_project.Project{}
    28  	_ = &bucket.Bucket{}
    29  	_ = &log_descriptor.LogDescriptor{}
    30  	_ = &anypb.Any{}
    31  	_ = &structpb.Struct{}
    32  	_ = &timestamppb.Timestamp{}
    33  	_ = &meta_service.Service{}
    34  	_ = &meta.Meta{}
    35  )
    36  
    37  const (
    38  	NamePattern_Project                    = "projects/{project}/logs/{log}"
    39  	NamePattern_Organization               = "organizations/{organization}/logs/{log}"
    40  	NamePattern_Service                    = "services/{service}/logs/{log}"
    41  	NamePattern_Project_Region_Bucket      = "projects/{project}/regions/{region}/buckets/{bucket}/logs/{log}"
    42  	NamePattern_Organization_Region_Bucket = "organizations/{organization}/regions/{region}/buckets/{bucket}/logs/{log}"
    43  	NamePattern_Service_Region_Bucket      = "services/{service}/regions/{region}/buckets/{bucket}/logs/{log}"
    44  )
    45  
    46  type NamePattern struct {
    47  	Pattern gotenresource.NamePattern `firestore:"pattern"`
    48  }
    49  
    50  type NameBuilder struct {
    51  	nameObj Name
    52  }
    53  
    54  func NewNameBuilder() *NameBuilder {
    55  	return &NameBuilder{
    56  		nameObj: Name{
    57  			LogId: gotenresource.WildcardId,
    58  			ParentName: ParentName{
    59  				NamePattern: NamePattern{
    60  					// Set default pattern - just first.
    61  					Pattern: NamePattern_Project,
    62  				},
    63  			},
    64  		},
    65  	}
    66  }
    67  
    68  func (b *NameBuilder) Name() *Name {
    69  	copied := b.nameObj
    70  	return &copied
    71  }
    72  
    73  func (b *NameBuilder) Reference() *Reference {
    74  	return b.nameObj.AsReference()
    75  }
    76  
    77  func (b *NameBuilder) Parent() *ParentName {
    78  	copied := b.nameObj.ParentName
    79  	return &copied
    80  }
    81  
    82  func (b *NameBuilder) ParentReference() *ParentReference {
    83  	return b.nameObj.ParentName.AsReference()
    84  }
    85  
    86  func (b *NameBuilder) SetId(id string) *NameBuilder {
    87  	b.nameObj.LogId = id
    88  	return b
    89  }
    90  
    91  func (b *NameBuilder) SetProject(parent *iam_project.Name) *NameBuilder {
    92  	parentName := &b.nameObj.ParentName
    93  
    94  	switch parent.Pattern {
    95  	case iam_project.NamePattern_Nil:
    96  		parentName.Pattern = NamePattern_Project
    97  	}
    98  	parentName.ProjectId = parent.ProjectId
    99  	return b
   100  }
   101  
   102  func (b *NameBuilder) SetOrganization(parent *iam_organization.Name) *NameBuilder {
   103  	parentName := &b.nameObj.ParentName
   104  
   105  	switch parent.Pattern {
   106  	case iam_organization.NamePattern_Nil:
   107  		parentName.Pattern = NamePattern_Organization
   108  	}
   109  	parentName.OrganizationId = parent.OrganizationId
   110  	return b
   111  }
   112  
   113  func (b *NameBuilder) SetService(parent *meta_service.Name) *NameBuilder {
   114  	parentName := &b.nameObj.ParentName
   115  
   116  	switch parent.Pattern {
   117  	case meta_service.NamePattern_Nil:
   118  		parentName.Pattern = NamePattern_Service
   119  	}
   120  	parentName.ServiceId = parent.ServiceId
   121  	return b
   122  }
   123  
   124  func (b *NameBuilder) SetBucket(parent *bucket.Name) *NameBuilder {
   125  	parentName := &b.nameObj.ParentName
   126  
   127  	switch parent.Pattern {
   128  	case bucket.NamePattern_Project_Region:
   129  		parentName.Pattern = NamePattern_Project_Region_Bucket
   130  	case bucket.NamePattern_Organization_Region:
   131  		parentName.Pattern = NamePattern_Organization_Region_Bucket
   132  	case bucket.NamePattern_Service_Region:
   133  		parentName.Pattern = NamePattern_Service_Region_Bucket
   134  	}
   135  	parentName.ProjectId = parent.ProjectId
   136  	parentName.RegionId = parent.RegionId
   137  	parentName.BucketId = parent.BucketId
   138  	parentName.OrganizationId = parent.OrganizationId
   139  	parentName.ServiceId = parent.ServiceId
   140  	return b
   141  }
   142  
   143  func (b *NameBuilder) SetProjectId(id string) *NameBuilder {
   144  	parentName := &b.nameObj.ParentName
   145  	parentName.ProjectId = id
   146  
   147  	// Set pattern if something matches for this set of IDs
   148  	if parentName.ProjectId != "" {
   149  		parentName.Pattern = NamePattern_Project
   150  	}
   151  	if parentName.ProjectId != "" && parentName.RegionId != "" && parentName.BucketId != "" {
   152  		parentName.Pattern = NamePattern_Project_Region_Bucket
   153  	}
   154  	return b
   155  }
   156  
   157  func (b *NameBuilder) SetOrganizationId(id string) *NameBuilder {
   158  	parentName := &b.nameObj.ParentName
   159  	parentName.OrganizationId = id
   160  
   161  	// Set pattern if something matches for this set of IDs
   162  	if parentName.OrganizationId != "" {
   163  		parentName.Pattern = NamePattern_Organization
   164  	}
   165  	if parentName.OrganizationId != "" && parentName.RegionId != "" && parentName.BucketId != "" {
   166  		parentName.Pattern = NamePattern_Organization_Region_Bucket
   167  	}
   168  	return b
   169  }
   170  
   171  func (b *NameBuilder) SetServiceId(id string) *NameBuilder {
   172  	parentName := &b.nameObj.ParentName
   173  	parentName.ServiceId = id
   174  
   175  	// Set pattern if something matches for this set of IDs
   176  	if parentName.ServiceId != "" {
   177  		parentName.Pattern = NamePattern_Service
   178  	}
   179  	if parentName.ServiceId != "" && parentName.RegionId != "" && parentName.BucketId != "" {
   180  		parentName.Pattern = NamePattern_Service_Region_Bucket
   181  	}
   182  	return b
   183  }
   184  
   185  func (b *NameBuilder) SetRegionId(id string) *NameBuilder {
   186  	parentName := &b.nameObj.ParentName
   187  	parentName.RegionId = id
   188  
   189  	// Set pattern if something matches for this set of IDs
   190  	if parentName.ProjectId != "" && parentName.RegionId != "" && parentName.BucketId != "" {
   191  		parentName.Pattern = NamePattern_Project_Region_Bucket
   192  	}
   193  	if parentName.OrganizationId != "" && parentName.RegionId != "" && parentName.BucketId != "" {
   194  		parentName.Pattern = NamePattern_Organization_Region_Bucket
   195  	}
   196  	if parentName.ServiceId != "" && parentName.RegionId != "" && parentName.BucketId != "" {
   197  		parentName.Pattern = NamePattern_Service_Region_Bucket
   198  	}
   199  	return b
   200  }
   201  
   202  func (b *NameBuilder) SetBucketId(id string) *NameBuilder {
   203  	parentName := &b.nameObj.ParentName
   204  	parentName.BucketId = id
   205  
   206  	// Set pattern if something matches for this set of IDs
   207  	if parentName.ProjectId != "" && parentName.RegionId != "" && parentName.BucketId != "" {
   208  		parentName.Pattern = NamePattern_Project_Region_Bucket
   209  	}
   210  	if parentName.OrganizationId != "" && parentName.RegionId != "" && parentName.BucketId != "" {
   211  		parentName.Pattern = NamePattern_Organization_Region_Bucket
   212  	}
   213  	if parentName.ServiceId != "" && parentName.RegionId != "" && parentName.BucketId != "" {
   214  		parentName.Pattern = NamePattern_Service_Region_Bucket
   215  	}
   216  	return b
   217  }