github.com/cloudwan/edgelq-sdk@v1.15.4/monitoring/resources/v4/metric_descriptor/metric_descriptor.pb.access.go (about) 1 // Code generated by protoc-gen-goten-resource 2 // Resource: MetricDescriptor 3 // DO NOT EDIT!!! 4 5 package metric_descriptor 6 7 import ( 8 "context" 9 10 "google.golang.org/grpc/codes" 11 "google.golang.org/grpc/status" 12 13 gotenobject "github.com/cloudwan/goten-sdk/runtime/object" 14 gotenresource "github.com/cloudwan/goten-sdk/runtime/resource" 15 "github.com/cloudwan/goten-sdk/types/watch_type" 16 ) 17 18 // proto imports 19 import ( 20 api "github.com/cloudwan/edgelq-sdk/common/api" 21 common "github.com/cloudwan/edgelq-sdk/monitoring/resources/v4/common" 22 monitored_resource_descriptor "github.com/cloudwan/edgelq-sdk/monitoring/resources/v4/monitored_resource_descriptor" 23 project "github.com/cloudwan/edgelq-sdk/monitoring/resources/v4/project" 24 meta "github.com/cloudwan/goten-sdk/types/meta" 25 durationpb "google.golang.org/protobuf/types/known/durationpb" 26 ) 27 28 // ensure the imports are used 29 var ( 30 _ = new(context.Context) 31 32 _ = codes.Internal 33 _ = status.Status{} 34 35 _ = watch_type.WatchType_STATEFUL 36 _ = new(gotenobject.FieldPath) 37 _ = new(gotenresource.ListQuery) 38 ) 39 40 // make sure we're using proto imports 41 var ( 42 _ = api.LaunchStage(0) 43 _ = &common.LabelDescriptor{} 44 _ = &monitored_resource_descriptor.MonitoredResourceDescriptor{} 45 _ = &project.Project{} 46 _ = &durationpb.Duration{} 47 _ = &meta.Meta{} 48 ) 49 50 type MetricDescriptorAccess interface { 51 GetMetricDescriptor(context.Context, *GetQuery, ...gotenresource.GetOption) (*MetricDescriptor, error) 52 BatchGetMetricDescriptors(context.Context, []*Reference, ...gotenresource.BatchGetOption) error 53 QueryMetricDescriptors(context.Context, *ListQuery, ...gotenresource.QueryOption) (*QueryResultSnapshot, error) 54 WatchMetricDescriptor(context.Context, *GetQuery, func(*MetricDescriptorChange) error) error 55 WatchMetricDescriptors(context.Context, *WatchQuery, func(*QueryResultChange) error) error 56 SaveMetricDescriptor(context.Context, *MetricDescriptor, ...gotenresource.SaveOption) error 57 DeleteMetricDescriptor(context.Context, *Reference, ...gotenresource.DeleteOption) error 58 } 59 60 type anyCastAccess struct { 61 MetricDescriptorAccess 62 } 63 64 func AsAnyCastAccess(access MetricDescriptorAccess) gotenresource.Access { 65 return &anyCastAccess{MetricDescriptorAccess: access} 66 } 67 68 func (a *anyCastAccess) Get(ctx context.Context, q gotenresource.GetQuery, opts ...gotenresource.GetOption) (gotenresource.Resource, error) { 69 if asMetricDescriptorQuery, ok := q.(*GetQuery); ok { 70 return a.GetMetricDescriptor(ctx, asMetricDescriptorQuery, opts...) 71 } 72 return nil, status.Errorf(codes.Internal, 73 "Unrecognized descriptor, expected MetricDescriptor, got: %s", 74 q.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 75 } 76 77 func (a *anyCastAccess) Query(ctx context.Context, q gotenresource.ListQuery, opts ...gotenresource.QueryOption) (gotenresource.QueryResultSnapshot, error) { 78 if asMetricDescriptorQuery, ok := q.(*ListQuery); ok { 79 return a.QueryMetricDescriptors(ctx, asMetricDescriptorQuery, opts...) 80 } 81 return nil, status.Errorf(codes.Internal, 82 "Unrecognized descriptor, expected MetricDescriptor, got: %s", 83 q.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 84 } 85 86 func (a *anyCastAccess) Search(ctx context.Context, q gotenresource.SearchQuery, opts ...gotenresource.QueryOption) (gotenresource.QueryResultSnapshot, error) { 87 return nil, status.Errorf(codes.Internal, "Search is not available for MetricDescriptor") 88 } 89 90 func (a *anyCastAccess) Watch(ctx context.Context, q gotenresource.GetQuery, cb func(ch gotenresource.ResourceChange) error) error { 91 if asMetricDescriptorQuery, ok := q.(*GetQuery); ok { 92 return a.WatchMetricDescriptor(ctx, asMetricDescriptorQuery, func(change *MetricDescriptorChange) error { 93 return cb(change) 94 }) 95 } 96 return status.Errorf(codes.Internal, 97 "Unrecognized descriptor, expected MetricDescriptor, got: %s", 98 q.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 99 } 100 101 func (a *anyCastAccess) WatchQuery(ctx context.Context, q gotenresource.WatchQuery, cb func(ch gotenresource.QueryResultChange) error) error { 102 if asMetricDescriptorQuery, ok := q.(*WatchQuery); ok { 103 return a.WatchMetricDescriptors(ctx, asMetricDescriptorQuery, func(change *QueryResultChange) error { 104 return cb(change) 105 }) 106 } 107 return status.Errorf(codes.Internal, 108 "Unrecognized descriptor, expected MetricDescriptor, got: %s", 109 q.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 110 } 111 112 func (a *anyCastAccess) Save(ctx context.Context, res gotenresource.Resource, opts ...gotenresource.SaveOption) error { 113 if asMetricDescriptorRes, ok := res.(*MetricDescriptor); ok { 114 return a.SaveMetricDescriptor(ctx, asMetricDescriptorRes, opts...) 115 } 116 return status.Errorf(codes.Internal, 117 "Unrecognized descriptor, expected MetricDescriptor, got: %s", 118 res.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 119 } 120 121 func (a *anyCastAccess) Delete(ctx context.Context, ref gotenresource.Reference, opts ...gotenresource.DeleteOption) error { 122 if asMetricDescriptorRef, ok := ref.(*Reference); ok { 123 return a.DeleteMetricDescriptor(ctx, asMetricDescriptorRef, opts...) 124 } 125 return status.Errorf(codes.Internal, 126 "Unrecognized descriptor, expected MetricDescriptor, got: %s", 127 ref.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 128 } 129 130 func (a *anyCastAccess) BatchGet(ctx context.Context, toGet []gotenresource.Reference, opts ...gotenresource.BatchGetOption) error { 131 metricDescriptorRefs := make([]*Reference, 0, len(toGet)) 132 for _, ref := range toGet { 133 if asMetricDescriptorRef, ok := ref.(*Reference); !ok { 134 return status.Errorf(codes.Internal, 135 "Unrecognized descriptor, expected MetricDescriptor, got: %s", 136 ref.GetResourceDescriptor().GetResourceTypeName().FullyQualifiedTypeName()) 137 } else { 138 metricDescriptorRefs = append(metricDescriptorRefs, asMetricDescriptorRef) 139 } 140 } 141 return a.BatchGetMetricDescriptors(ctx, metricDescriptorRefs, opts...) 142 } 143 144 func (a *anyCastAccess) GetResourceDescriptors() []gotenresource.Descriptor { 145 return []gotenresource.Descriptor{ 146 GetDescriptor(), 147 } 148 }