1
0
mirror of https://github.com/rancher/types.git synced 2025-09-02 05:35:16 +00:00

Update vendor

This commit is contained in:
Darren Shepherd
2017-12-19 21:45:36 -07:00
parent 0d582f634e
commit fe47f6246e
10 changed files with 77 additions and 11 deletions

View File

@@ -58,6 +58,10 @@ func (p *ObjectClient) UnstructuredClient() *ObjectClient {
}
}
func (p *ObjectClient) GroupVersionKind() schema.GroupVersionKind {
return p.gvk
}
func (p *ObjectClient) getAPIPrefix() string {
if p.gvk.Group == "" {
return "api"
@@ -90,6 +94,23 @@ func (p *ObjectClient) Create(o runtime.Object) (runtime.Object, error) {
return result, err
}
func (p *ObjectClient) GetNamespace(name, namespace string, opts metav1.GetOptions) (runtime.Object, error) {
result := p.Factory.Object()
req := p.restClient.Get().
Prefix(p.getAPIPrefix(), p.gvk.Group, p.gvk.Version)
if namespace != "" {
req = req.Namespace(namespace)
}
err := req.NamespaceIfScoped(p.ns, p.resource.Namespaced).
Resource(p.resource.Name).
VersionedParams(&opts, dynamic.VersionedParameterEncoderWithV1Fallback).
Name(name).
Do().
Into(result)
return result, err
}
func (p *ObjectClient) Get(name string, opts metav1.GetOptions) (runtime.Object, error) {
result := p.Factory.Object()
err := p.restClient.Get().
@@ -123,6 +144,19 @@ func (p *ObjectClient) Update(name string, o runtime.Object) (runtime.Object, er
return result, err
}
func (p *ObjectClient) DeleteNamespace(name, namespace string, opts *metav1.DeleteOptions) error {
req := p.restClient.Delete().
Prefix(p.getAPIPrefix(), p.gvk.Group, p.gvk.Version)
if namespace != "" {
req = req.Namespace(namespace)
}
return req.Resource(p.resource.Name).
Name(name).
Body(opts).
Do().
Error()
}
func (p *ObjectClient) Delete(name string, opts *metav1.DeleteOptions) error {
return p.restClient.Delete().
Prefix(p.getAPIPrefix(), p.gvk.Group, p.gvk.Version).

View File

@@ -72,9 +72,14 @@ func (c Cond) Once(obj runtime.Object, f func() (runtime.Object, error)) (runtim
return obj, nil
}
func (c Cond) Do(obj runtime.Object, f func() error) error {
func (c Cond) Do(obj runtime.Object, f func() (runtime.Object, error)) error {
c.Unknown(obj)
if err := f(); err != nil {
newObj, err := f()
if newObj != nil {
obj = newObj
}
if err != nil {
c.False(obj)
c.Reason(obj, err.Error())
return err

View File

@@ -11,7 +11,7 @@ type Starter interface {
Start(ctx context.Context, threadiness int) error
}
func SyncThenSync(ctx context.Context, threadiness int, starters ...Starter) error {
func SyncThenStart(ctx context.Context, threadiness int, starters ...Starter) error {
if err := Sync(ctx, starters...); err != nil {
return err
}

View File

@@ -267,7 +267,7 @@ func generateClient(outputDir string, schemas []*types.Schema) error {
})
}
func GenerateControllerForTypes(version *types.APIVersion, k8sOutputPackage string, objs ...interface{}) error {
func GenerateControllerForTypes(version *types.APIVersion, k8sOutputPackage string, nsObjs []interface{}, objs []interface{}) error {
baseDir := args.DefaultSourceTree()
k8sDir := path.Join(baseDir, k8sOutputPackage)
@@ -294,6 +294,23 @@ func GenerateControllerForTypes(version *types.APIVersion, k8sOutputPackage stri
}
}
for _, obj := range nsObjs {
schema, err := schemas.Import(version, obj)
if err != nil {
return err
}
schema.Scope = types.NamespaceScope
controllers = append(controllers, schema)
if err := generateController(true, k8sDir, schema, schemas); err != nil {
return err
}
if err := generateLifecycle(true, k8sDir, schema, schemas); err != nil {
return err
}
}
if err := deepCopyGen(baseDir, k8sOutputPackage); err != nil {
return err
}

View File

@@ -9,7 +9,7 @@ import (
)
var (
created = "io.cattle.lifecycle.create"
created = "lifecycle.cattle.io/create"
)
type ObjectLifecycle interface {

View File

@@ -146,5 +146,5 @@ func EncodeToMap(obj interface{}) (map[string]interface{}, error) {
return nil, err
}
result := map[string]interface{}{}
return result, json.Unmarshal(bytes, result)
return result, json.Unmarshal(bytes, &result)
}

View File

@@ -26,6 +26,10 @@ func (e *Embed) FromInternal(data map[string]interface{}) {
}
func (e *Embed) ToInternal(data map[string]interface{}) {
if data == nil {
return
}
sub := map[string]interface{}{}
for _, fieldName := range e.embeddedFields {
if v, ok := data[fieldName]; ok {

View File

@@ -10,7 +10,7 @@ type LabelField struct {
}
func (e LabelField) FromInternal(data map[string]interface{}) {
v, ok := values.RemoveValue(data, "labels", "io.cattle.field."+e.Field)
v, ok := values.RemoveValue(data, "labels", "field.cattle.io/"+e.Field)
if ok {
data[e.Field] = v
}
@@ -19,7 +19,7 @@ func (e LabelField) FromInternal(data map[string]interface{}) {
func (e LabelField) ToInternal(data map[string]interface{}) {
v, ok := data[e.Field]
if ok {
values.PutValue(data, v, "labels", "io.cattle.field."+e.Field)
values.PutValue(data, v, "labels", "field.cattle.io/"+e.Field)
}
}

View File

@@ -61,8 +61,13 @@ type ResponseWriter interface {
}
type AccessControl interface {
CanCreate(schema *Schema) bool
CanList(schema *Schema) bool
CanCreate(apiContext *APIContext, schema *Schema) bool
CanList(apiContext *APIContext, schema *Schema) bool
CanUpdate(apiContext *APIContext, schema *Schema) bool
CanDelete(apiContext *APIContext, schema *Schema) bool
Filter(apiContext *APIContext, obj map[string]interface{}, context map[string]string) map[string]interface{}
FilterList(apiContext *APIContext, obj []map[string]interface{}, context map[string]string) []map[string]interface{}
}
type APIContext struct {
@@ -149,6 +154,7 @@ type URLBuilder interface {
SetSubContext(subContext string)
FilterLink(schema *Schema, fieldName string, value string) string
Action(action string, resource *RawResource) string
ResourceLinkByID(schema *Schema, id string) string
}
type Store interface {