1
0
mirror of https://github.com/rancher/types.git synced 2025-08-31 21:00:16 +00:00

Update vendor and generate code

This commit is contained in:
dax
2019-05-28 10:55:08 -07:00
committed by Craig Jellick
parent 2361355c4c
commit f887817025
113 changed files with 142 additions and 1 deletions

View File

@@ -157,6 +157,7 @@ func (c *{{.schema.ID}}Controller) AddHandler(ctx context.Context, name string,
}
func (c *{{.schema.ID}}Controller) AddClusterScopedHandler(ctx context.Context, name, cluster string, handler {{.schema.CodeName}}HandlerFunc) {
resource.PutClusterScoped({{.schema.CodeName}}GroupVersionResource)
c.GenericController.AddHandler(ctx, name, func(key string, obj interface{}) (interface{}, error) {
if obj == nil {
return handler(key, nil)

View File

@@ -105,6 +105,14 @@ func IsAPIError(err error) bool {
return ok
}
func IsNotFound(err error) bool {
if apiError, ok := err.(*APIError); ok {
return apiError.Code.Status == 404
}
return false
}
func IsConflict(err error) bool {
if apiError, ok := err.(*APIError); ok {
return apiError.Code.Status == 409

View File

@@ -7,11 +7,17 @@ import (
)
//rancherTypes is a set of all types generated by rancher
//clusterScopedTypes is a set of all types that have been added by a clusterScoped handler
var (
rancherTypes = struct {
sync.RWMutex
m map[schema.GroupVersionResource]bool
}{m: make(map[schema.GroupVersionResource]bool)}
clusterScopedTypes = struct {
sync.RWMutex
m map[schema.GroupVersionResource]bool
}{m: make(map[schema.GroupVersionResource]bool)}
)
//Get returns a copy of the set of rancherTypes
@@ -25,6 +31,16 @@ func Get() map[schema.GroupVersionResource]bool {
return targetMap
}
func GetClusterScopedTypes() map[schema.GroupVersionResource]bool {
clusterScopedTypes.Lock()
defer clusterScopedTypes.Unlock()
targetMap := make(map[schema.GroupVersionResource]bool, len(clusterScopedTypes.m))
for key, value := range clusterScopedTypes.m {
targetMap[key] = value
}
return targetMap
}
//Put adds an object to the set and panic on collision
func Put(key schema.GroupVersionResource) {
rancherTypes.Lock()
@@ -36,3 +52,10 @@ func Put(key schema.GroupVersionResource) {
}
rancherTypes.m[key] = true
}
//PutClusterScoped adds a object that contains a cluster scoped handler to the set
func PutClusterScoped(key schema.GroupVersionResource) {
clusterScopedTypes.Lock()
defer clusterScopedTypes.Unlock()
clusterScopedTypes.m[key] = true
}