( ctx context.Context, client dynamic.Interface, mapper meta.RESTMapper, apiVersion, kind, namespace, name string, )
| 151 | } |
| 152 | |
| 153 | func getUnstructuredObject( |
| 154 | ctx context.Context, |
| 155 | client dynamic.Interface, |
| 156 | mapper meta.RESTMapper, |
| 157 | apiVersion, kind, namespace, name string, |
| 158 | ) (*unstructured.Unstructured, error) { |
| 159 | l := log.FromContext(ctx) |
| 160 | gv, err := schema.ParseGroupVersion(apiVersion) |
| 161 | if err != nil { |
| 162 | l.Error( |
| 163 | err, "failed to parse groupversion", |
| 164 | "apiVersion", apiVersion, |
| 165 | ) |
| 166 | return nil, err |
| 167 | } |
| 168 | gvk := schema.GroupVersionKind{ |
| 169 | Group: gv.Group, |
| 170 | Version: gv.Version, |
| 171 | Kind: kind, |
| 172 | } |
| 173 | |
| 174 | mapping, err := mapper.RESTMapping(gvk.GroupKind(), gvk.Version) |
| 175 | if err != nil { |
| 176 | l.Error(err, "Could not map GVK "+gvk.String()) |
| 177 | return nil, err |
| 178 | } |
| 179 | |
| 180 | ns := namespace |
| 181 | if mapping.Scope.Name() != meta.RESTScopeNameNamespace { |
| 182 | ns = "" |
| 183 | } |
| 184 | |
| 185 | ownerObj, err := client.Resource(mapping.Resource).Namespace(ns).Get(ctx, name, metav1.GetOptions{}) |
| 186 | if err != nil { |
| 187 | return nil, err |
| 188 | } |
| 189 | return ownerObj, nil |
| 190 | } |
| 191 | |
| 192 | func helmReleaseFromUnstructured(obj *unstructured.Unstructured) *helmv2.HelmRelease { |
| 193 | if obj.GetAPIVersion() == HRAPIVersion && obj.GetKind() == HRKind { |
no test coverage detected