diff --git a/dynamic/client.go b/dynamic/client.go index 6831b3d6..a0c18209 100644 --- a/dynamic/client.go +++ b/dynamic/client.go @@ -126,11 +126,16 @@ func (rc *ResourceClient) List(opts metav1.ListOptions) (runtime.Object, error) } // Get gets the resource with the specified name. -func (rc *ResourceClient) Get(name string) (*unstructured.Unstructured, error) { +func (rc *ResourceClient) Get(name string, opts metav1.GetOptions) (*unstructured.Unstructured, error) { + parameterEncoder := rc.parameterCodec + if parameterEncoder == nil { + parameterEncoder = defaultParameterEncoder + } result := new(unstructured.Unstructured) err := rc.cl.Get(). NamespaceIfScoped(rc.ns, rc.resource.Namespaced). Resource(rc.resource.Name). + VersionedParams(&opts, parameterEncoder). Name(name). Do(). Into(result) diff --git a/dynamic/client_test.go b/dynamic/client_test.go index 0e716e0f..67cdcef2 100644 --- a/dynamic/client_test.go +++ b/dynamic/client_test.go @@ -191,7 +191,7 @@ func TestGet(t *testing.T) { } defer srv.Close() - got, err := cl.Resource(resource, tc.namespace).Get(tc.name) + got, err := cl.Resource(resource, tc.namespace).Get(tc.name, metav1.GetOptions{}) if err != nil { t.Errorf("unexpected error when getting %q: %v", tc.name, err) continue