forked from Juniper/contrail
-
Notifications
You must be signed in to change notification settings - Fork 0
/
resource.go
85 lines (69 loc) · 2.92 KB
/
resource.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package logic
import (
"context"
"github.com/gogo/protobuf/types"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
"github.com/Juniper/contrail/pkg/services"
)
// Resource interface defines Neutron API operations
type Resource interface {
Create(ctx context.Context, rp RequestParameters) (Response, error)
Update(ctx context.Context, rp RequestParameters, id string) (Response, error)
Delete(ctx context.Context, rp RequestParameters, id string) (Response, error)
Read(ctx context.Context, rp RequestParameters, id string) (Response, error)
ReadAll(ctx context.Context, rp RequestParameters, filters Filters, fields Fields) (Response, error)
ReadCount(ctx context.Context, rp RequestParameters, filters Filters) (Response, error)
AddInterface(ctx context.Context, rp RequestParameters, id string) (Response, error)
DeleteInterface(ctx context.Context, rp RequestParameters, id string) (Response, error)
}
// Response interface returned from Neutron API operations
type Response interface{}
type baseResource struct{}
// Create default implementation
func (b *baseResource) Create(ctx context.Context, rp RequestParameters) (Response, error) {
return nil, errors.New("not implemented")
}
// Update default implementation
func (b *baseResource) Update(ctx context.Context, rp RequestParameters, id string) (Response, error) {
return nil, errors.New("not implemented")
}
// Delete default implementation
func (b *baseResource) Delete(ctx context.Context, rp RequestParameters, id string) (Response, error) {
return nil, errors.New("not implemented")
}
// Read default implementation
func (b *baseResource) Read(ctx context.Context, rp RequestParameters, id string) (Response, error) {
return nil, errors.New("not implemented")
}
// ReadAll default implementation
func (b *baseResource) ReadAll(
ctx context.Context, rp RequestParameters, f Filters, fields Fields,
) (Response, error) {
return nil, errors.New("not implemented")
}
// ReadCount default implementation
func (b *baseResource) ReadCount(ctx context.Context, rp RequestParameters, f Filters) (Response, error) {
return nil, errors.New("not implemented")
}
// AddInterface default implementation
func (b *baseResource) AddInterface(ctx context.Context, rp RequestParameters, id string) (Response, error) {
return nil, errors.New("not implemented")
}
// DeleteInterface default implementation
func (b *baseResource) DeleteInterface(ctx context.Context, rp RequestParameters, id string) (Response, error) {
return nil, errors.New("not implemented")
}
// Fields used in Neutron read API
type Fields []string
// RequestParameters structure
type RequestParameters struct {
RequestContext RequestContext
ReadService services.ReadService
WriteService services.WriteService
UserAgentKV services.UserAgentKVServer
IDToFQNameService services.IDToFQNameService
FQNameToIDService services.FQNameToIDService
FieldMask types.FieldMask
Log *logrus.Entry
}