/
clusterroles.go
37 lines (32 loc) · 1 KB
/
clusterroles.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
package routers
import (
"github.com/gorilla/mux"
corev2 "github.com/sensu/sensu-go/api/core/v2"
"github.com/sensu/sensu-go/backend/apid/handlers"
"github.com/sensu/sensu-go/backend/store"
)
// ClusterRolesRouter handles requests for ClusterRoles.
type ClusterRolesRouter struct {
handlers handlers.Handlers
}
// NewClusterRolesRouter instantiates a new router for ClusterRoles.
func NewClusterRolesRouter(store store.ResourceStore) *ClusterRolesRouter {
return &ClusterRolesRouter{
handlers: handlers.Handlers{
Resource: &corev2.ClusterRole{},
Store: store,
},
}
}
// Mount the ClusterRolesRouter on the given parent Router
func (r *ClusterRolesRouter) Mount(parent *mux.Router) {
routes := ResourceRoute{
Router: parent,
PathPrefix: "/{resource:clusterroles}",
}
routes.Del(r.handlers.DeleteResource)
routes.Get(r.handlers.GetResource)
routes.List(r.handlers.ListResources, corev2.ClusterRoleFields)
routes.Post(r.handlers.CreateResource)
routes.Put(r.handlers.CreateOrUpdateResource)
}