diff --git a/vendor.conf b/vendor.conf index 49efe814..eac243c0 100644 --- a/vendor.conf +++ b/vendor.conf @@ -5,4 +5,4 @@ k8s.io/kubernetes v1.10.5 bitbucket.org/ww/goautoneg a547fc61f48d567d5b4ec6f8aee5573d8efce11d https://github.com/rancher/goautoneg.git golang.org/x/sync fd80eb99c8f653c847d294a001bdf2a3a6f768f5 -github.com/rancher/norman c032c4611f2eec1652ef37d254f0e8ccf90c80aa +github.com/rancher/norman 0953e9e976f1038bb3e93e81d164a69d6fbe9873 diff --git a/vendor/github.com/rancher/norman/generator/controller_template.go b/vendor/github.com/rancher/norman/generator/controller_template.go index 2f0d6a62..11482507 100644 --- a/vendor/github.com/rancher/norman/generator/controller_template.go +++ b/vendor/github.com/rancher/norman/generator/controller_template.go @@ -194,6 +194,13 @@ func (s *{{.schema.ID}}Client) ObjectClient() *objectclient.ObjectClient { } func (s *{{.schema.ID}}Client) Create(o *{{.prefix}}{{.schema.CodeName}}) (*{{.prefix}}{{.schema.CodeName}}, error) { + {{- if (or (eq .schema.ID "role") (eq .schema.ID "roleBinding") (eq .schema.ID "clusterRole") (eq .schema.ID "clusterRoleBinding"))}} + if o.Labels == nil { + labels := make(map[string]string) + o.Labels = labels + } + o.Labels["creator.cattle.io/rancher-created"] = "true" + {{- end}} obj, err := s.objectClient.Create(o) return obj.(*{{.prefix}}{{.schema.CodeName}}), err } @@ -209,6 +216,13 @@ func (s *{{.schema.ID}}Client) GetNamespaced(namespace, name string, opts metav1 } func (s *{{.schema.ID}}Client) Update(o *{{.prefix}}{{.schema.CodeName}}) (*{{.prefix}}{{.schema.CodeName}}, error) { + {{- if (or (eq .schema.ID "role") (eq .schema.ID "roleBinding") (eq .schema.ID "clusterRole") (eq .schema.ID "clusterRoleBinding"))}} + if o.Labels == nil { + labels := make(map[string]string) + o.Labels = labels + } + o.Labels["creator.cattle.io/rancher-created"] = "true" + {{- end}} obj, err := s.objectClient.Update(o.Name, o) return obj.(*{{.prefix}}{{.schema.CodeName}}), err } diff --git a/vendor/github.com/rancher/norman/types/mapper.go b/vendor/github.com/rancher/norman/types/mapper.go index d67ede73..397c1f31 100644 --- a/vendor/github.com/rancher/norman/types/mapper.go +++ b/vendor/github.com/rancher/norman/types/mapper.go @@ -82,12 +82,18 @@ func (t *typeMapper) FromInternal(data map[string]interface{}) { } } + // Attempt to set type so mappers are aware of it if _, ok := data["type"]; !ok && data != nil { data["type"] = t.typeName } Mappers(t.Mappers).FromInternal(data) + // Ensure if there is no type we set one + if _, ok := data["type"]; !ok && data != nil { + data["type"] = t.typeName + } + if data != nil && t.root { if _, ok := data["id"]; ok { if namespace != "" {