(resource schema.GroupResource, name string)
| 113 | } |
| 114 | |
| 115 | func (c *namespacedScaleClient) Get(resource schema.GroupResource, name string) (*autoscaling.Scale, error) { |
| 116 | // Currently, a /scale endpoint can return different scale types. |
| 117 | // Until we have support for the alternative API representations proposal, |
| 118 | // we need to deal with accepting different API versions. |
| 119 | // In practice, this is autoscaling/v1.Scale and extensions/v1beta1.Scale |
| 120 | |
| 121 | path, gvr, err := c.client.pathAndVersionFor(resource) |
| 122 | if err != nil { |
| 123 | return nil, fmt.Errorf("unable to get client for %s: %v", resource.String(), err) |
| 124 | } |
| 125 | |
| 126 | result := c.client.clientBase.Get(). |
| 127 | AbsPath(path). |
| 128 | Namespace(c.namespace). |
| 129 | Resource(gvr.Resource). |
| 130 | Name(name). |
| 131 | SubResource("scale"). |
| 132 | Do() |
| 133 | if err := result.Error(); err != nil { |
| 134 | return nil, err |
| 135 | } |
| 136 | |
| 137 | scaleBytes, err := result.Raw() |
| 138 | if err != nil { |
| 139 | return nil, err |
| 140 | } |
| 141 | decoder := scaleConverter.codecs.UniversalDecoder(scaleConverter.ScaleVersions()...) |
| 142 | rawScaleObj, err := runtime.Decode(decoder, scaleBytes) |
| 143 | if err != nil { |
| 144 | return nil, err |
| 145 | } |
| 146 | |
| 147 | // convert whatever this is to autoscaling/v1.Scale |
| 148 | scaleObj, err := scaleConverter.ConvertToVersion(rawScaleObj, autoscaling.SchemeGroupVersion) |
| 149 | if err != nil { |
| 150 | return nil, fmt.Errorf("received an object from a /scale endpoint which was not convertible to autoscaling Scale: %v", err) |
| 151 | } |
| 152 | |
| 153 | return scaleObj.(*autoscaling.Scale), nil |
| 154 | } |
| 155 | |
| 156 | func (c *namespacedScaleClient) Update(resource schema.GroupResource, scale *autoscaling.Scale) (*autoscaling.Scale, error) { |
| 157 | path, gvr, err := c.client.pathAndVersionFor(resource) |
nothing calls this directly
no test coverage detected