(name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string)
| 310 | } |
| 311 | |
| 312 | func (c *dynamicResourceClient) Patch(name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (*unstructured.Unstructured, error) { |
| 313 | if len(name) == 0 { |
| 314 | return nil, fmt.Errorf("name is required") |
| 315 | } |
| 316 | result := c.client.client. |
| 317 | Patch(pt). |
| 318 | AbsPath(append(c.makeURLSegments(name), subresources...)...). |
| 319 | Body(data). |
| 320 | SpecificallyVersionedParams(&opts, dynamicParameterCodec, versionV1). |
| 321 | Do() |
| 322 | if err := result.Error(); err != nil { |
| 323 | return nil, err |
| 324 | } |
| 325 | retBytes, err := result.Raw() |
| 326 | if err != nil { |
| 327 | return nil, err |
| 328 | } |
| 329 | uncastObj, err := runtime.Decode(unstructured.UnstructuredJSONScheme, retBytes) |
| 330 | if err != nil { |
| 331 | return nil, err |
| 332 | } |
| 333 | return uncastObj.(*unstructured.Unstructured), nil |
| 334 | } |
| 335 | |
| 336 | func (c *dynamicResourceClient) makeURLSegments(name string) []string { |
| 337 | url := []string{} |
nothing calls this directly
no test coverage detected