Add Labels and Annotations to MetadataAccessor

This commit is contained in:
Vojtech Vitek (V-Teq)
2014-11-28 21:06:07 +01:00
parent 508724b1f8
commit 28f5d51a5f
3 changed files with 153 additions and 25 deletions

View File

@@ -185,6 +185,40 @@ func (resourceAccessor) SetSelfLink(obj runtime.Object, selfLink string) error {
return nil
}
func (resourceAccessor) Labels(obj runtime.Object) (map[string]string, error) {
accessor, err := Accessor(obj)
if err != nil {
return nil, err
}
return accessor.Labels(), nil
}
func (resourceAccessor) SetLabels(obj runtime.Object, labels map[string]string) error {
accessor, err := Accessor(obj)
if err != nil {
return err
}
accessor.SetLabels(labels)
return nil
}
func (resourceAccessor) Annotations(obj runtime.Object) (map[string]string, error) {
accessor, err := Accessor(obj)
if err != nil {
return nil, err
}
return accessor.Annotations(), nil
}
func (resourceAccessor) SetAnnotations(obj runtime.Object, annotations map[string]string) error {
accessor, err := Accessor(obj)
if err != nil {
return err
}
accessor.SetAnnotations(annotations)
return nil
}
func (resourceAccessor) ResourceVersion(obj runtime.Object) (string, error) {
accessor, err := Accessor(obj)
if err != nil {
@@ -212,6 +246,8 @@ type genericAccessor struct {
kind *string
resourceVersion *string
selfLink *string
labels *map[string]string
annotations *map[string]string
}
func (a genericAccessor) Namespace() string {
@@ -288,6 +324,28 @@ func (a genericAccessor) SetSelfLink(selfLink string) {
*a.selfLink = selfLink
}
func (a genericAccessor) Labels() map[string]string {
if a.labels == nil {
return nil
}
return *a.labels
}
func (a genericAccessor) SetLabels(labels map[string]string) {
*a.labels = labels
}
func (a genericAccessor) Annotations() map[string]string {
if a.annotations == nil {
return nil
}
return *a.annotations
}
func (a genericAccessor) SetAnnotations(annotations map[string]string) {
*a.annotations = annotations
}
// fieldPtr puts the address of fieldName, which must be a member of v,
// into dest, which must be an address of a variable to which this field's
// address can be assigned.
@@ -340,6 +398,12 @@ func extractFromObjectMeta(v reflect.Value, a *genericAccessor) error {
if err := fieldPtr(v, "SelfLink", &a.selfLink); err != nil {
return err
}
if err := fieldPtr(v, "Labels", &a.labels); err != nil {
return err
}
if err := fieldPtr(v, "Annotations", &a.annotations); err != nil {
return err
}
return nil
}