Generate files and modifications for autoscaling/v2beta2 and custom_metrics/v1beta2

pull/8/head
Mike Dame 2018-06-28 14:35:50 -04:00
parent f407700af9
commit 77d7f9cfa2
76 changed files with 11179 additions and 1364 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1600,6 +1600,56 @@
"targetValue": { "targetValue": {
"type": "string", "type": "string",
"description": "targetValue is the target value of the metric (as a quantity)." "description": "targetValue is the target value of the metric (as a quantity)."
},
"selector": {
"$ref": "v1.LabelSelector",
"description": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping When unset, just the metricName will be used to gather metrics."
},
"averageValue": {
"type": "string",
"description": "averageValue is the target value of the average of the metric across all relevant pods (as a quantity)"
}
}
},
"v1.LabelSelector": {
"id": "v1.LabelSelector",
"description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
"properties": {
"matchLabels": {
"type": "object",
"description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed."
},
"matchExpressions": {
"type": "array",
"items": {
"$ref": "v1.LabelSelectorRequirement"
},
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed."
}
}
},
"v1.LabelSelectorRequirement": {
"id": "v1.LabelSelectorRequirement",
"description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
"required": [
"key",
"operator"
],
"properties": {
"key": {
"type": "string",
"description": "key is the label key that the selector applies to."
},
"operator": {
"type": "string",
"description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist."
},
"values": {
"type": "array",
"items": {
"type": "string"
},
"description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch."
} }
} }
}, },
@ -1618,6 +1668,10 @@
"targetAverageValue": { "targetAverageValue": {
"type": "string", "type": "string",
"description": "targetAverageValue is the target value of the average of the metric across all relevant pods (as a quantity)" "description": "targetAverageValue is the target value of the average of the metric across all relevant pods (as a quantity)"
},
"selector": {
"$ref": "v1.LabelSelector",
"description": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping When unset, just the metricName will be used to gather metrics."
} }
} }
}, },
@ -1668,48 +1722,6 @@
} }
} }
}, },
"v1.LabelSelector": {
"id": "v1.LabelSelector",
"description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
"properties": {
"matchLabels": {
"type": "object",
"description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed."
},
"matchExpressions": {
"type": "array",
"items": {
"$ref": "v1.LabelSelectorRequirement"
},
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed."
}
}
},
"v1.LabelSelectorRequirement": {
"id": "v1.LabelSelectorRequirement",
"description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
"required": [
"key",
"operator"
],
"properties": {
"key": {
"type": "string",
"description": "key is the label key that the selector applies to."
},
"operator": {
"type": "string",
"description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist."
},
"values": {
"type": "array",
"items": {
"type": "string"
},
"description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch."
}
}
},
"v2beta1.HorizontalPodAutoscalerStatus": { "v2beta1.HorizontalPodAutoscalerStatus": {
"id": "v2beta1.HorizontalPodAutoscalerStatus", "id": "v2beta1.HorizontalPodAutoscalerStatus",
"description": "HorizontalPodAutoscalerStatus describes the current status of a horizontal pod autoscaler.", "description": "HorizontalPodAutoscalerStatus describes the current status of a horizontal pod autoscaler.",
@ -1804,6 +1816,14 @@
"currentValue": { "currentValue": {
"type": "string", "type": "string",
"description": "currentValue is the current value of the metric (as a quantity)." "description": "currentValue is the current value of the metric (as a quantity)."
},
"selector": {
"$ref": "v1.LabelSelector",
"description": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the ObjectMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics."
},
"averageValue": {
"type": "string",
"description": "averageValue is the current value of the average of the metric across all relevant pods (as a quantity)"
} }
} }
}, },
@ -1822,6 +1842,10 @@
"currentAverageValue": { "currentAverageValue": {
"type": "string", "type": "string",
"description": "currentAverageValue is the current value of the average of the metric across all relevant pods (as a quantity)" "description": "currentAverageValue is the current value of the average of the metric across all relevant pods (as a quantity)"
},
"selector": {
"$ref": "v1.LabelSelector",
"description": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics."
} }
} }
}, },

2112
api/swagger-spec/autoscaling_v2beta2.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -53,6 +53,10 @@
"path": "/apis/autoscaling/v2beta1", "path": "/apis/autoscaling/v2beta1",
"description": "API at /apis/autoscaling/v2beta1" "description": "API at /apis/autoscaling/v2beta1"
}, },
{
"path": "/apis/autoscaling/v2beta2",
"description": "API at /apis/autoscaling/v2beta2"
},
{ {
"path": "/apis/autoscaling", "path": "/apis/autoscaling",
"description": "get information of a group" "description": "get information of a group"

View File

@ -249,6 +249,7 @@ var apiVersionPriorities = map[schema.GroupVersion]priority{
{Group: "authorization.k8s.io", Version: "v1beta1"}: {group: 17600, version: 9}, {Group: "authorization.k8s.io", Version: "v1beta1"}: {group: 17600, version: 9},
{Group: "autoscaling", Version: "v1"}: {group: 17500, version: 15}, {Group: "autoscaling", Version: "v1"}: {group: 17500, version: 15},
{Group: "autoscaling", Version: "v2beta1"}: {group: 17500, version: 9}, {Group: "autoscaling", Version: "v2beta1"}: {group: 17500, version: 9},
{Group: "autoscaling", Version: "v2beta2"}: {group: 17500, version: 1},
{Group: "batch", Version: "v1"}: {group: 17400, version: 15}, {Group: "batch", Version: "v1"}: {group: 17400, version: 15},
{Group: "batch", Version: "v1beta1"}: {group: 17400, version: 9}, {Group: "batch", Version: "v1beta1"}: {group: 17400, version: 9},
{Group: "batch", Version: "v2alpha1"}: {group: 17400, version: 9}, {Group: "batch", Version: "v2alpha1"}: {group: 17400, version: 9},

View File

@ -1034,6 +1034,13 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td>
</tr> </tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1_labelselector">v1.LabelSelector</a></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody> </tbody>
</table> </table>
@ -1306,6 +1313,13 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td>
</tr> </tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping When unset, just the metricName will be used to gather metrics.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1_labelselector">v1.LabelSelector</a></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody> </tbody>
</table> </table>
@ -2012,6 +2026,20 @@ Examples:<br>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td>
</tr> </tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping When unset, just the metricName will be used to gather metrics.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1_labelselector">v1.LabelSelector</a></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">averageValue</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">averageValue is the target value of the average of the metric across all relevant pods (as a quantity)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody> </tbody>
</table> </table>
@ -2122,6 +2150,20 @@ Examples:<br>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td>
</tr> </tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the ObjectMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1_labelselector">v1.LabelSelector</a></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">averageValue</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">averageValue is the current value of the average of the metric across all relevant pods (as a quantity)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody> </tbody>
</table> </table>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -24,14 +24,8 @@ import (
unsafe "unsafe" unsafe "unsafe"
v1 "k8s.io/api/autoscaling/v1" v1 "k8s.io/api/autoscaling/v1"
<<<<<<< HEAD
corev1 "k8s.io/api/core/v1" corev1 "k8s.io/api/core/v1"
resource "k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
=======
core_v1 "k8s.io/api/core/v1"
meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
>>>>>>> Update autoscaling conversion and validation for v2beta2 inclusion
conversion "k8s.io/apimachinery/pkg/conversion" conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling"
@ -235,6 +229,16 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil { }); err != nil {
return err return err
} }
if err := s.AddConversionFunc((*autoscaling.ExternalMetricSource)(nil), (*v1.ExternalMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_ExternalMetricSource_To_v1_ExternalMetricSource(a.(*autoscaling.ExternalMetricSource), b.(*v1.ExternalMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.ExternalMetricStatus)(nil), (*v1.ExternalMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_ExternalMetricStatus_To_v1_ExternalMetricStatus(a.(*autoscaling.ExternalMetricStatus), b.(*v1.ExternalMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.HorizontalPodAutoscalerSpec)(nil), (*v1.HorizontalPodAutoscalerSpec)(nil), func(a, b interface{}, scope conversion.Scope) error { if err := s.AddConversionFunc((*autoscaling.HorizontalPodAutoscalerSpec)(nil), (*v1.HorizontalPodAutoscalerSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_HorizontalPodAutoscalerSpec_To_v1_HorizontalPodAutoscalerSpec(a.(*autoscaling.HorizontalPodAutoscalerSpec), b.(*v1.HorizontalPodAutoscalerSpec), scope) return Convert_autoscaling_HorizontalPodAutoscalerSpec_To_v1_HorizontalPodAutoscalerSpec(a.(*autoscaling.HorizontalPodAutoscalerSpec), b.(*v1.HorizontalPodAutoscalerSpec), scope)
}); err != nil { }); err != nil {
@ -250,6 +254,56 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil { }); err != nil {
return err return err
} }
if err := s.AddConversionFunc((*autoscaling.MetricTarget)(nil), (*v1.CrossVersionObjectReference)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_MetricTarget_To_v1_CrossVersionObjectReference(a.(*autoscaling.MetricTarget), b.(*v1.CrossVersionObjectReference), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.ObjectMetricSource)(nil), (*v1.ObjectMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_ObjectMetricSource_To_v1_ObjectMetricSource(a.(*autoscaling.ObjectMetricSource), b.(*v1.ObjectMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.ObjectMetricStatus)(nil), (*v1.ObjectMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_ObjectMetricStatus_To_v1_ObjectMetricStatus(a.(*autoscaling.ObjectMetricStatus), b.(*v1.ObjectMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.PodsMetricSource)(nil), (*v1.PodsMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_PodsMetricSource_To_v1_PodsMetricSource(a.(*autoscaling.PodsMetricSource), b.(*v1.PodsMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.PodsMetricStatus)(nil), (*v1.PodsMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_PodsMetricStatus_To_v1_PodsMetricStatus(a.(*autoscaling.PodsMetricStatus), b.(*v1.PodsMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.ResourceMetricSource)(nil), (*v1.ResourceMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_ResourceMetricSource_To_v1_ResourceMetricSource(a.(*autoscaling.ResourceMetricSource), b.(*v1.ResourceMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.ResourceMetricStatus)(nil), (*v1.ResourceMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_ResourceMetricStatus_To_v1_ResourceMetricStatus(a.(*autoscaling.ResourceMetricStatus), b.(*v1.ResourceMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v1.CrossVersionObjectReference)(nil), (*autoscaling.MetricTarget)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1_CrossVersionObjectReference_To_autoscaling_MetricTarget(a.(*v1.CrossVersionObjectReference), b.(*autoscaling.MetricTarget), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v1.ExternalMetricSource)(nil), (*autoscaling.ExternalMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1_ExternalMetricSource_To_autoscaling_ExternalMetricSource(a.(*v1.ExternalMetricSource), b.(*autoscaling.ExternalMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v1.ExternalMetricStatus)(nil), (*autoscaling.ExternalMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1_ExternalMetricStatus_To_autoscaling_ExternalMetricStatus(a.(*v1.ExternalMetricStatus), b.(*autoscaling.ExternalMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v1.HorizontalPodAutoscalerSpec)(nil), (*autoscaling.HorizontalPodAutoscalerSpec)(nil), func(a, b interface{}, scope conversion.Scope) error { if err := s.AddConversionFunc((*v1.HorizontalPodAutoscalerSpec)(nil), (*autoscaling.HorizontalPodAutoscalerSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1_HorizontalPodAutoscalerSpec_To_autoscaling_HorizontalPodAutoscalerSpec(a.(*v1.HorizontalPodAutoscalerSpec), b.(*autoscaling.HorizontalPodAutoscalerSpec), scope) return Convert_v1_HorizontalPodAutoscalerSpec_To_autoscaling_HorizontalPodAutoscalerSpec(a.(*v1.HorizontalPodAutoscalerSpec), b.(*autoscaling.HorizontalPodAutoscalerSpec), scope)
}); err != nil { }); err != nil {
@ -265,6 +319,36 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil { }); err != nil {
return err return err
} }
if err := s.AddConversionFunc((*v1.ObjectMetricSource)(nil), (*autoscaling.ObjectMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1_ObjectMetricSource_To_autoscaling_ObjectMetricSource(a.(*v1.ObjectMetricSource), b.(*autoscaling.ObjectMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v1.ObjectMetricStatus)(nil), (*autoscaling.ObjectMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1_ObjectMetricStatus_To_autoscaling_ObjectMetricStatus(a.(*v1.ObjectMetricStatus), b.(*autoscaling.ObjectMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v1.PodsMetricSource)(nil), (*autoscaling.PodsMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1_PodsMetricSource_To_autoscaling_PodsMetricSource(a.(*v1.PodsMetricSource), b.(*autoscaling.PodsMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v1.PodsMetricStatus)(nil), (*autoscaling.PodsMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1_PodsMetricStatus_To_autoscaling_PodsMetricStatus(a.(*v1.PodsMetricStatus), b.(*autoscaling.PodsMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v1.ResourceMetricSource)(nil), (*autoscaling.ResourceMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1_ResourceMetricSource_To_autoscaling_ResourceMetricSource(a.(*v1.ResourceMetricSource), b.(*autoscaling.ResourceMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v1.ResourceMetricStatus)(nil), (*autoscaling.ResourceMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1_ResourceMetricStatus_To_autoscaling_ResourceMetricStatus(a.(*v1.ResourceMetricStatus), b.(*autoscaling.ResourceMetricStatus), scope)
}); err != nil {
return err
}
return nil return nil
} }
@ -293,58 +377,30 @@ func Convert_autoscaling_CrossVersionObjectReference_To_v1_CrossVersionObjectRef
} }
func autoConvert_v1_ExternalMetricSource_To_autoscaling_ExternalMetricSource(in *v1.ExternalMetricSource, out *autoscaling.ExternalMetricSource, s conversion.Scope) error { func autoConvert_v1_ExternalMetricSource_To_autoscaling_ExternalMetricSource(in *v1.ExternalMetricSource, out *autoscaling.ExternalMetricSource, s conversion.Scope) error {
<<<<<<< HEAD
out.MetricName = in.MetricName
out.MetricSelector = (*metav1.LabelSelector)(unsafe.Pointer(in.MetricSelector))
out.TargetValue = (*resource.Quantity)(unsafe.Pointer(in.TargetValue))
out.TargetAverageValue = (*resource.Quantity)(unsafe.Pointer(in.TargetAverageValue))
=======
// WARNING: in.MetricName requires manual conversion: does not exist in peer-type // WARNING: in.MetricName requires manual conversion: does not exist in peer-type
// WARNING: in.MetricSelector requires manual conversion: does not exist in peer-type // WARNING: in.MetricSelector requires manual conversion: does not exist in peer-type
// WARNING: in.TargetValue requires manual conversion: does not exist in peer-type // WARNING: in.TargetValue requires manual conversion: does not exist in peer-type
// WARNING: in.TargetAverageValue requires manual conversion: does not exist in peer-type // WARNING: in.TargetAverageValue requires manual conversion: does not exist in peer-type
>>>>>>> Update autoscaling conversion and validation for v2beta2 inclusion
return nil return nil
} }
func autoConvert_autoscaling_ExternalMetricSource_To_v1_ExternalMetricSource(in *autoscaling.ExternalMetricSource, out *v1.ExternalMetricSource, s conversion.Scope) error { func autoConvert_autoscaling_ExternalMetricSource_To_v1_ExternalMetricSource(in *autoscaling.ExternalMetricSource, out *v1.ExternalMetricSource, s conversion.Scope) error {
<<<<<<< HEAD
out.MetricName = in.MetricName
out.MetricSelector = (*metav1.LabelSelector)(unsafe.Pointer(in.MetricSelector))
out.TargetValue = (*resource.Quantity)(unsafe.Pointer(in.TargetValue))
out.TargetAverageValue = (*resource.Quantity)(unsafe.Pointer(in.TargetAverageValue))
=======
// WARNING: in.Metric requires manual conversion: does not exist in peer-type // WARNING: in.Metric requires manual conversion: does not exist in peer-type
// WARNING: in.Target requires manual conversion: does not exist in peer-type // WARNING: in.Target requires manual conversion: does not exist in peer-type
>>>>>>> Update autoscaling conversion and validation for v2beta2 inclusion
return nil return nil
} }
func autoConvert_v1_ExternalMetricStatus_To_autoscaling_ExternalMetricStatus(in *v1.ExternalMetricStatus, out *autoscaling.ExternalMetricStatus, s conversion.Scope) error { func autoConvert_v1_ExternalMetricStatus_To_autoscaling_ExternalMetricStatus(in *v1.ExternalMetricStatus, out *autoscaling.ExternalMetricStatus, s conversion.Scope) error {
<<<<<<< HEAD
out.MetricName = in.MetricName
out.MetricSelector = (*metav1.LabelSelector)(unsafe.Pointer(in.MetricSelector))
out.CurrentValue = in.CurrentValue
out.CurrentAverageValue = (*resource.Quantity)(unsafe.Pointer(in.CurrentAverageValue))
=======
// WARNING: in.MetricName requires manual conversion: does not exist in peer-type // WARNING: in.MetricName requires manual conversion: does not exist in peer-type
// WARNING: in.MetricSelector requires manual conversion: does not exist in peer-type // WARNING: in.MetricSelector requires manual conversion: does not exist in peer-type
// WARNING: in.CurrentValue requires manual conversion: does not exist in peer-type // WARNING: in.CurrentValue requires manual conversion: does not exist in peer-type
// WARNING: in.CurrentAverageValue requires manual conversion: does not exist in peer-type // WARNING: in.CurrentAverageValue requires manual conversion: does not exist in peer-type
>>>>>>> Update autoscaling conversion and validation for v2beta2 inclusion
return nil return nil
} }
func autoConvert_autoscaling_ExternalMetricStatus_To_v1_ExternalMetricStatus(in *autoscaling.ExternalMetricStatus, out *v1.ExternalMetricStatus, s conversion.Scope) error { func autoConvert_autoscaling_ExternalMetricStatus_To_v1_ExternalMetricStatus(in *autoscaling.ExternalMetricStatus, out *v1.ExternalMetricStatus, s conversion.Scope) error {
<<<<<<< HEAD
out.MetricName = in.MetricName
out.MetricSelector = (*metav1.LabelSelector)(unsafe.Pointer(in.MetricSelector))
out.CurrentValue = in.CurrentValue
out.CurrentAverageValue = (*resource.Quantity)(unsafe.Pointer(in.CurrentAverageValue))
=======
// WARNING: in.Metric requires manual conversion: does not exist in peer-type // WARNING: in.Metric requires manual conversion: does not exist in peer-type
// WARNING: in.Current requires manual conversion: does not exist in peer-type // WARNING: in.Current requires manual conversion: does not exist in peer-type
>>>>>>> Update autoscaling conversion and validation for v2beta2 inclusion
return nil return nil
} }
@ -703,7 +759,6 @@ func autoConvert_v1_PodsMetricSource_To_autoscaling_PodsMetricSource(in *v1.Pods
// WARNING: in.MetricName requires manual conversion: does not exist in peer-type // WARNING: in.MetricName requires manual conversion: does not exist in peer-type
// WARNING: in.TargetAverageValue requires manual conversion: does not exist in peer-type // WARNING: in.TargetAverageValue requires manual conversion: does not exist in peer-type
// WARNING: in.Selector requires manual conversion: does not exist in peer-type // WARNING: in.Selector requires manual conversion: does not exist in peer-type
// WARNING: in.Value requires manual conversion: does not exist in peer-type
return nil return nil
} }
@ -717,7 +772,6 @@ func autoConvert_v1_PodsMetricStatus_To_autoscaling_PodsMetricStatus(in *v1.Pods
// WARNING: in.MetricName requires manual conversion: does not exist in peer-type // WARNING: in.MetricName requires manual conversion: does not exist in peer-type
// WARNING: in.CurrentAverageValue requires manual conversion: does not exist in peer-type // WARNING: in.CurrentAverageValue requires manual conversion: does not exist in peer-type
// WARNING: in.Selector requires manual conversion: does not exist in peer-type // WARNING: in.Selector requires manual conversion: does not exist in peer-type
// WARNING: in.Value requires manual conversion: does not exist in peer-type
return nil return nil
} }
@ -735,14 +789,8 @@ func autoConvert_v1_ResourceMetricSource_To_autoscaling_ResourceMetricSource(in
} }
func autoConvert_autoscaling_ResourceMetricSource_To_v1_ResourceMetricSource(in *autoscaling.ResourceMetricSource, out *v1.ResourceMetricSource, s conversion.Scope) error { func autoConvert_autoscaling_ResourceMetricSource_To_v1_ResourceMetricSource(in *autoscaling.ResourceMetricSource, out *v1.ResourceMetricSource, s conversion.Scope) error {
<<<<<<< HEAD
out.Name = corev1.ResourceName(in.Name) out.Name = corev1.ResourceName(in.Name)
out.TargetAverageUtilization = (*int32)(unsafe.Pointer(in.TargetAverageUtilization))
out.TargetAverageValue = (*resource.Quantity)(unsafe.Pointer(in.TargetAverageValue))
=======
out.Name = core_v1.ResourceName(in.Name)
// WARNING: in.Target requires manual conversion: does not exist in peer-type // WARNING: in.Target requires manual conversion: does not exist in peer-type
>>>>>>> Update autoscaling conversion and validation for v2beta2 inclusion
return nil return nil
} }
@ -754,14 +802,8 @@ func autoConvert_v1_ResourceMetricStatus_To_autoscaling_ResourceMetricStatus(in
} }
func autoConvert_autoscaling_ResourceMetricStatus_To_v1_ResourceMetricStatus(in *autoscaling.ResourceMetricStatus, out *v1.ResourceMetricStatus, s conversion.Scope) error { func autoConvert_autoscaling_ResourceMetricStatus_To_v1_ResourceMetricStatus(in *autoscaling.ResourceMetricStatus, out *v1.ResourceMetricStatus, s conversion.Scope) error {
<<<<<<< HEAD
out.Name = corev1.ResourceName(in.Name) out.Name = corev1.ResourceName(in.Name)
out.CurrentAverageUtilization = (*int32)(unsafe.Pointer(in.CurrentAverageUtilization))
out.CurrentAverageValue = in.CurrentAverageValue
=======
out.Name = core_v1.ResourceName(in.Name)
// WARNING: in.Current requires manual conversion: does not exist in peer-type // WARNING: in.Current requires manual conversion: does not exist in peer-type
>>>>>>> Update autoscaling conversion and validation for v2beta2 inclusion
return nil return nil
} }

View File

@ -24,14 +24,8 @@ import (
unsafe "unsafe" unsafe "unsafe"
v2beta1 "k8s.io/api/autoscaling/v2beta1" v2beta1 "k8s.io/api/autoscaling/v2beta1"
<<<<<<< HEAD
corev1 "k8s.io/api/core/v1"
resource "k8s.io/apimachinery/pkg/api/resource"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
=======
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
>>>>>>> Update autoscaling conversion and validation for v2beta2 inclusion
conversion "k8s.io/apimachinery/pkg/conversion" conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling"
@ -205,6 +199,106 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil { }); err != nil {
return err return err
} }
if err := s.AddConversionFunc((*autoscaling.ExternalMetricSource)(nil), (*v2beta1.ExternalMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_ExternalMetricSource_To_v2beta1_ExternalMetricSource(a.(*autoscaling.ExternalMetricSource), b.(*v2beta1.ExternalMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.ExternalMetricStatus)(nil), (*v2beta1.ExternalMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_ExternalMetricStatus_To_v2beta1_ExternalMetricStatus(a.(*autoscaling.ExternalMetricStatus), b.(*v2beta1.ExternalMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.HorizontalPodAutoscaler)(nil), (*v2beta1.HorizontalPodAutoscaler)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_HorizontalPodAutoscaler_To_v2beta1_HorizontalPodAutoscaler(a.(*autoscaling.HorizontalPodAutoscaler), b.(*v2beta1.HorizontalPodAutoscaler), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.MetricTarget)(nil), (*v2beta1.CrossVersionObjectReference)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_MetricTarget_To_v2beta1_CrossVersionObjectReference(a.(*autoscaling.MetricTarget), b.(*v2beta1.CrossVersionObjectReference), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.ObjectMetricSource)(nil), (*v2beta1.ObjectMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_ObjectMetricSource_To_v2beta1_ObjectMetricSource(a.(*autoscaling.ObjectMetricSource), b.(*v2beta1.ObjectMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.ObjectMetricStatus)(nil), (*v2beta1.ObjectMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_ObjectMetricStatus_To_v2beta1_ObjectMetricStatus(a.(*autoscaling.ObjectMetricStatus), b.(*v2beta1.ObjectMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.PodsMetricSource)(nil), (*v2beta1.PodsMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_PodsMetricSource_To_v2beta1_PodsMetricSource(a.(*autoscaling.PodsMetricSource), b.(*v2beta1.PodsMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.PodsMetricStatus)(nil), (*v2beta1.PodsMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_PodsMetricStatus_To_v2beta1_PodsMetricStatus(a.(*autoscaling.PodsMetricStatus), b.(*v2beta1.PodsMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.ResourceMetricSource)(nil), (*v2beta1.ResourceMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_ResourceMetricSource_To_v2beta1_ResourceMetricSource(a.(*autoscaling.ResourceMetricSource), b.(*v2beta1.ResourceMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*autoscaling.ResourceMetricStatus)(nil), (*v2beta1.ResourceMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_autoscaling_ResourceMetricStatus_To_v2beta1_ResourceMetricStatus(a.(*autoscaling.ResourceMetricStatus), b.(*v2beta1.ResourceMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v2beta1.CrossVersionObjectReference)(nil), (*autoscaling.MetricTarget)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v2beta1_CrossVersionObjectReference_To_autoscaling_MetricTarget(a.(*v2beta1.CrossVersionObjectReference), b.(*autoscaling.MetricTarget), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v2beta1.ExternalMetricSource)(nil), (*autoscaling.ExternalMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v2beta1_ExternalMetricSource_To_autoscaling_ExternalMetricSource(a.(*v2beta1.ExternalMetricSource), b.(*autoscaling.ExternalMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v2beta1.ExternalMetricStatus)(nil), (*autoscaling.ExternalMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v2beta1_ExternalMetricStatus_To_autoscaling_ExternalMetricStatus(a.(*v2beta1.ExternalMetricStatus), b.(*autoscaling.ExternalMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v2beta1.HorizontalPodAutoscaler)(nil), (*autoscaling.HorizontalPodAutoscaler)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v2beta1_HorizontalPodAutoscaler_To_autoscaling_HorizontalPodAutoscaler(a.(*v2beta1.HorizontalPodAutoscaler), b.(*autoscaling.HorizontalPodAutoscaler), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v2beta1.ObjectMetricSource)(nil), (*autoscaling.ObjectMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v2beta1_ObjectMetricSource_To_autoscaling_ObjectMetricSource(a.(*v2beta1.ObjectMetricSource), b.(*autoscaling.ObjectMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v2beta1.ObjectMetricStatus)(nil), (*autoscaling.ObjectMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v2beta1_ObjectMetricStatus_To_autoscaling_ObjectMetricStatus(a.(*v2beta1.ObjectMetricStatus), b.(*autoscaling.ObjectMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v2beta1.PodsMetricSource)(nil), (*autoscaling.PodsMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v2beta1_PodsMetricSource_To_autoscaling_PodsMetricSource(a.(*v2beta1.PodsMetricSource), b.(*autoscaling.PodsMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v2beta1.PodsMetricStatus)(nil), (*autoscaling.PodsMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v2beta1_PodsMetricStatus_To_autoscaling_PodsMetricStatus(a.(*v2beta1.PodsMetricStatus), b.(*autoscaling.PodsMetricStatus), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v2beta1.ResourceMetricSource)(nil), (*autoscaling.ResourceMetricSource)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v2beta1_ResourceMetricSource_To_autoscaling_ResourceMetricSource(a.(*v2beta1.ResourceMetricSource), b.(*autoscaling.ResourceMetricSource), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v2beta1.ResourceMetricStatus)(nil), (*autoscaling.ResourceMetricStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v2beta1_ResourceMetricStatus_To_autoscaling_ResourceMetricStatus(a.(*v2beta1.ResourceMetricStatus), b.(*autoscaling.ResourceMetricStatus), scope)
}); err != nil {
return err
}
return nil return nil
} }
@ -298,11 +392,7 @@ func Convert_v2beta1_HorizontalPodAutoscalerCondition_To_autoscaling_HorizontalP
func autoConvert_autoscaling_HorizontalPodAutoscalerCondition_To_v2beta1_HorizontalPodAutoscalerCondition(in *autoscaling.HorizontalPodAutoscalerCondition, out *v2beta1.HorizontalPodAutoscalerCondition, s conversion.Scope) error { func autoConvert_autoscaling_HorizontalPodAutoscalerCondition_To_v2beta1_HorizontalPodAutoscalerCondition(in *autoscaling.HorizontalPodAutoscalerCondition, out *v2beta1.HorizontalPodAutoscalerCondition, s conversion.Scope) error {
out.Type = v2beta1.HorizontalPodAutoscalerConditionType(in.Type) out.Type = v2beta1.HorizontalPodAutoscalerConditionType(in.Type)
<<<<<<< HEAD
out.Status = corev1.ConditionStatus(in.Status)
=======
out.Status = v1.ConditionStatus(in.Status) out.Status = v1.ConditionStatus(in.Status)
>>>>>>> Update autoscaling conversion and validation for v2beta2 inclusion
out.LastTransitionTime = in.LastTransitionTime out.LastTransitionTime = in.LastTransitionTime
out.Reason = in.Reason out.Reason = in.Reason
out.Message = in.Message out.Message = in.Message
@ -408,7 +498,7 @@ func Convert_autoscaling_HorizontalPodAutoscalerSpec_To_v2beta1_HorizontalPodAut
func autoConvert_v2beta1_HorizontalPodAutoscalerStatus_To_autoscaling_HorizontalPodAutoscalerStatus(in *v2beta1.HorizontalPodAutoscalerStatus, out *autoscaling.HorizontalPodAutoscalerStatus, s conversion.Scope) error { func autoConvert_v2beta1_HorizontalPodAutoscalerStatus_To_autoscaling_HorizontalPodAutoscalerStatus(in *v2beta1.HorizontalPodAutoscalerStatus, out *autoscaling.HorizontalPodAutoscalerStatus, s conversion.Scope) error {
out.ObservedGeneration = (*int64)(unsafe.Pointer(in.ObservedGeneration)) out.ObservedGeneration = (*int64)(unsafe.Pointer(in.ObservedGeneration))
out.LastScaleTime = (*meta_v1.Time)(unsafe.Pointer(in.LastScaleTime)) out.LastScaleTime = (*metav1.Time)(unsafe.Pointer(in.LastScaleTime))
out.CurrentReplicas = in.CurrentReplicas out.CurrentReplicas = in.CurrentReplicas
out.DesiredReplicas = in.DesiredReplicas out.DesiredReplicas = in.DesiredReplicas
if in.CurrentMetrics != nil { if in.CurrentMetrics != nil {
@ -433,7 +523,7 @@ func Convert_v2beta1_HorizontalPodAutoscalerStatus_To_autoscaling_HorizontalPodA
func autoConvert_autoscaling_HorizontalPodAutoscalerStatus_To_v2beta1_HorizontalPodAutoscalerStatus(in *autoscaling.HorizontalPodAutoscalerStatus, out *v2beta1.HorizontalPodAutoscalerStatus, s conversion.Scope) error { func autoConvert_autoscaling_HorizontalPodAutoscalerStatus_To_v2beta1_HorizontalPodAutoscalerStatus(in *autoscaling.HorizontalPodAutoscalerStatus, out *v2beta1.HorizontalPodAutoscalerStatus, s conversion.Scope) error {
out.ObservedGeneration = (*int64)(unsafe.Pointer(in.ObservedGeneration)) out.ObservedGeneration = (*int64)(unsafe.Pointer(in.ObservedGeneration))
out.LastScaleTime = (*meta_v1.Time)(unsafe.Pointer(in.LastScaleTime)) out.LastScaleTime = (*metav1.Time)(unsafe.Pointer(in.LastScaleTime))
out.CurrentReplicas = in.CurrentReplicas out.CurrentReplicas = in.CurrentReplicas
out.DesiredReplicas = in.DesiredReplicas out.DesiredReplicas = in.DesiredReplicas
if in.CurrentMetrics != nil { if in.CurrentMetrics != nil {
@ -680,7 +770,6 @@ func autoConvert_v2beta1_PodsMetricSource_To_autoscaling_PodsMetricSource(in *v2
// WARNING: in.MetricName requires manual conversion: does not exist in peer-type // WARNING: in.MetricName requires manual conversion: does not exist in peer-type
// WARNING: in.TargetAverageValue requires manual conversion: does not exist in peer-type // WARNING: in.TargetAverageValue requires manual conversion: does not exist in peer-type
// WARNING: in.Selector requires manual conversion: does not exist in peer-type // WARNING: in.Selector requires manual conversion: does not exist in peer-type
// WARNING: in.Value requires manual conversion: does not exist in peer-type
return nil return nil
} }
@ -694,7 +783,6 @@ func autoConvert_v2beta1_PodsMetricStatus_To_autoscaling_PodsMetricStatus(in *v2
// WARNING: in.MetricName requires manual conversion: does not exist in peer-type // WARNING: in.MetricName requires manual conversion: does not exist in peer-type
// WARNING: in.CurrentAverageValue requires manual conversion: does not exist in peer-type // WARNING: in.CurrentAverageValue requires manual conversion: does not exist in peer-type
// WARNING: in.Selector requires manual conversion: does not exist in peer-type // WARNING: in.Selector requires manual conversion: does not exist in peer-type
// WARNING: in.Value requires manual conversion: does not exist in peer-type
return nil return nil
} }
@ -712,14 +800,8 @@ func autoConvert_v2beta1_ResourceMetricSource_To_autoscaling_ResourceMetricSourc
} }
func autoConvert_autoscaling_ResourceMetricSource_To_v2beta1_ResourceMetricSource(in *autoscaling.ResourceMetricSource, out *v2beta1.ResourceMetricSource, s conversion.Scope) error { func autoConvert_autoscaling_ResourceMetricSource_To_v2beta1_ResourceMetricSource(in *autoscaling.ResourceMetricSource, out *v2beta1.ResourceMetricSource, s conversion.Scope) error {
<<<<<<< HEAD
out.Name = corev1.ResourceName(in.Name)
out.TargetAverageUtilization = (*int32)(unsafe.Pointer(in.TargetAverageUtilization))
out.TargetAverageValue = (*resource.Quantity)(unsafe.Pointer(in.TargetAverageValue))
=======
out.Name = v1.ResourceName(in.Name) out.Name = v1.ResourceName(in.Name)
// WARNING: in.Target requires manual conversion: does not exist in peer-type // WARNING: in.Target requires manual conversion: does not exist in peer-type
>>>>>>> Update autoscaling conversion and validation for v2beta2 inclusion
return nil return nil
} }
@ -731,13 +813,7 @@ func autoConvert_v2beta1_ResourceMetricStatus_To_autoscaling_ResourceMetricStatu
} }
func autoConvert_autoscaling_ResourceMetricStatus_To_v2beta1_ResourceMetricStatus(in *autoscaling.ResourceMetricStatus, out *v2beta1.ResourceMetricStatus, s conversion.Scope) error { func autoConvert_autoscaling_ResourceMetricStatus_To_v2beta1_ResourceMetricStatus(in *autoscaling.ResourceMetricStatus, out *v2beta1.ResourceMetricStatus, s conversion.Scope) error {
<<<<<<< HEAD
out.Name = corev1.ResourceName(in.Name)
out.CurrentAverageUtilization = (*int32)(unsafe.Pointer(in.CurrentAverageUtilization))
out.CurrentAverageValue = in.CurrentAverageValue
=======
out.Name = v1.ResourceName(in.Name) out.Name = v1.ResourceName(in.Name)
// WARNING: in.Current requires manual conversion: does not exist in peer-type // WARNING: in.Current requires manual conversion: does not exist in peer-type
>>>>>>> Update autoscaling conversion and validation for v2beta2 inclusion
return nil return nil
} }

View File

@ -30,6 +30,6 @@ func init() {
// RegisterConversions adds conversion functions to the given scheme. // RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes. // Public to allow building arbitrary schemes.
func RegisterConversions(scheme *runtime.Scheme) error { func RegisterConversions(s *runtime.Scheme) error {
return scheme.AddGeneratedConversionFuncs() return nil
} }

View File

@ -21,6 +21,7 @@ limitations under the License.
package autoscaling package autoscaling
import ( import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
) )
@ -43,7 +44,7 @@ func (in *CrossVersionObjectReference) DeepCopy() *CrossVersionObjectReference {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExternalMetricSource) DeepCopyInto(out *ExternalMetricSource) { func (in *ExternalMetricSource) DeepCopyInto(out *ExternalMetricSource) {
*out = *in *out = *in
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
in.Target.DeepCopyInto(&out.Target) in.Target.DeepCopyInto(&out.Target)
return return
} }
@ -61,7 +62,7 @@ func (in *ExternalMetricSource) DeepCopy() *ExternalMetricSource {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExternalMetricStatus) DeepCopyInto(out *ExternalMetricStatus) { func (in *ExternalMetricStatus) DeepCopyInto(out *ExternalMetricStatus) {
*out = *in *out = *in
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
in.Current.DeepCopyInto(&out.Current) in.Current.DeepCopyInto(&out.Current)
return return
} }
@ -223,17 +224,22 @@ func (in *HorizontalPodAutoscalerStatus) DeepCopy() *HorizontalPodAutoscalerStat
} }
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MetricIdent) DeepCopyInto(out *MetricIdent) { func (in *MetricIdentifier) DeepCopyInto(out *MetricIdentifier) {
*out = *in *out = *in
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(v1.LabelSelector)
(*in).DeepCopyInto(*out)
}
return return
} }
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricIdent. // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricIdentifier.
func (in *MetricIdent) DeepCopy() *MetricIdent { func (in *MetricIdentifier) DeepCopy() *MetricIdentifier {
if in == nil { if in == nil {
return nil return nil
} }
out := new(MetricIdent) out := new(MetricIdentifier)
in.DeepCopyInto(out) in.DeepCopyInto(out)
return out return out
} }
@ -377,7 +383,7 @@ func (in *ObjectMetricSource) DeepCopyInto(out *ObjectMetricSource) {
*out = *in *out = *in
out.DescribedObject = in.DescribedObject out.DescribedObject = in.DescribedObject
in.Target.DeepCopyInto(&out.Target) in.Target.DeepCopyInto(&out.Target)
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
return return
} }
@ -394,7 +400,7 @@ func (in *ObjectMetricSource) DeepCopy() *ObjectMetricSource {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ObjectMetricStatus) DeepCopyInto(out *ObjectMetricStatus) { func (in *ObjectMetricStatus) DeepCopyInto(out *ObjectMetricStatus) {
*out = *in *out = *in
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
in.Current.DeepCopyInto(&out.Current) in.Current.DeepCopyInto(&out.Current)
out.DescribedObject = in.DescribedObject out.DescribedObject = in.DescribedObject
return return
@ -413,7 +419,7 @@ func (in *ObjectMetricStatus) DeepCopy() *ObjectMetricStatus {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PodsMetricSource) DeepCopyInto(out *PodsMetricSource) { func (in *PodsMetricSource) DeepCopyInto(out *PodsMetricSource) {
*out = *in *out = *in
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
in.Target.DeepCopyInto(&out.Target) in.Target.DeepCopyInto(&out.Target)
return return
} }
@ -431,7 +437,7 @@ func (in *PodsMetricSource) DeepCopy() *PodsMetricSource {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PodsMetricStatus) DeepCopyInto(out *PodsMetricStatus) { func (in *PodsMetricStatus) DeepCopyInto(out *PodsMetricStatus) {
*out = *in *out = *in
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
in.Current.DeepCopyInto(&out.Current) in.Current.DeepCopyInto(&out.Current)
return return
} }

View File

@ -76,6 +76,7 @@ go_test(
"//staging/src/k8s.io/client-go/rest:go_default_library", "//staging/src/k8s.io/client-go/rest:go_default_library",
"//staging/src/k8s.io/client-go/scale/fake:go_default_library", "//staging/src/k8s.io/client-go/scale/fake:go_default_library",
"//staging/src/k8s.io/client-go/testing:go_default_library", "//staging/src/k8s.io/client-go/testing:go_default_library",
"//staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1beta1:go_default_library",
"//staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1beta2:go_default_library", "//staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1beta2:go_default_library",
"//staging/src/k8s.io/metrics/pkg/apis/external_metrics/v1beta1:go_default_library", "//staging/src/k8s.io/metrics/pkg/apis/external_metrics/v1beta1:go_default_library",
"//staging/src/k8s.io/metrics/pkg/apis/metrics/v1alpha1:go_default_library", "//staging/src/k8s.io/metrics/pkg/apis/metrics/v1alpha1:go_default_library",

View File

@ -33,6 +33,7 @@ openapi_library(
"k8s.io/api/authorization/v1beta1", "k8s.io/api/authorization/v1beta1",
"k8s.io/api/autoscaling/v1", "k8s.io/api/autoscaling/v1",
"k8s.io/api/autoscaling/v2beta1", "k8s.io/api/autoscaling/v2beta1",
"k8s.io/api/autoscaling/v2beta2",
"k8s.io/api/batch/v1", "k8s.io/api/batch/v1",
"k8s.io/api/batch/v1beta1", "k8s.io/api/batch/v1beta1",
"k8s.io/api/batch/v2alpha1", "k8s.io/api/batch/v2alpha1",
@ -72,6 +73,7 @@ openapi_library(
"k8s.io/kube-aggregator/pkg/apis/apiregistration/v1", "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1",
"k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1", "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1",
"k8s.io/metrics/pkg/apis/custom_metrics/v1beta1", "k8s.io/metrics/pkg/apis/custom_metrics/v1beta1",
"k8s.io/metrics/pkg/apis/custom_metrics/v1beta2",
"k8s.io/metrics/pkg/apis/external_metrics/v1beta1", "k8s.io/metrics/pkg/apis/external_metrics/v1beta1",
"k8s.io/metrics/pkg/apis/metrics/v1alpha1", "k8s.io/metrics/pkg/apis/metrics/v1alpha1",
"k8s.io/metrics/pkg/apis/metrics/v1beta1", "k8s.io/metrics/pkg/apis/metrics/v1beta1",

View File

@ -1,10 +1,4 @@
package(default_visibility = ["//visibility:public"]) load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
"go_test",
)
go_library( go_library(
name = "go_default_library", name = "go_default_library",
@ -18,6 +12,7 @@ go_library(
"services.go", "services.go",
], ],
importpath = "k8s.io/kubernetes/pkg/master", importpath = "k8s.io/kubernetes/pkg/master",
visibility = ["//visibility:public"],
deps = [ deps = [
"//pkg/apis/admission/install:go_default_library", "//pkg/apis/admission/install:go_default_library",
"//pkg/apis/admissionregistration/install:go_default_library", "//pkg/apis/admissionregistration/install:go_default_library",
@ -83,6 +78,7 @@ go_library(
"//staging/src/k8s.io/api/authorization/v1beta1:go_default_library", "//staging/src/k8s.io/api/authorization/v1beta1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v1:go_default_library", "//staging/src/k8s.io/api/autoscaling/v1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v2beta1:go_default_library", "//staging/src/k8s.io/api/autoscaling/v2beta1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/api/batch/v1:go_default_library", "//staging/src/k8s.io/api/batch/v1:go_default_library",
"//staging/src/k8s.io/api/batch/v1beta1:go_default_library", "//staging/src/k8s.io/api/batch/v1beta1:go_default_library",
"//staging/src/k8s.io/api/batch/v2alpha1:go_default_library", "//staging/src/k8s.io/api/batch/v2alpha1:go_default_library",
@ -199,4 +195,5 @@ filegroup(
"//pkg/master/tunneler:all-srcs", "//pkg/master/tunneler:all-srcs",
], ],
tags = ["automanaged"], tags = ["automanaged"],
visibility = ["//visibility:public"],
) )

View File

@ -67,7 +67,10 @@ func validNewHorizontalPodAutoscaler(name string) *autoscaling.HorizontalPodAuto
Type: autoscaling.ResourceMetricSourceType, Type: autoscaling.ResourceMetricSourceType,
Resource: &autoscaling.ResourceMetricSource{ Resource: &autoscaling.ResourceMetricSource{
Name: api.ResourceCPU, Name: api.ResourceCPU,
TargetAverageUtilization: &cpu, Target: autoscaling.MetricTarget{
Type: autoscaling.UtilizationMetricType,
AverageUtilization: &cpu,
},
}, },
}, },
}, },

View File

@ -12,6 +12,7 @@ go_library(
deps = [ deps = [
"//pkg/api/legacyscheme:go_default_library", "//pkg/api/legacyscheme:go_default_library",
"//pkg/apis/autoscaling:go_default_library", "//pkg/apis/autoscaling:go_default_library",
"//pkg/apis/autoscaling/v2beta2:go_default_library",
"//pkg/registry/autoscaling/horizontalpodautoscaler/storage:go_default_library", "//pkg/registry/autoscaling/horizontalpodautoscaler/storage:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v1:go_default_library", "//staging/src/k8s.io/api/autoscaling/v1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v2beta1:go_default_library", "//staging/src/k8s.io/api/autoscaling/v2beta1:go_default_library",

View File

@ -25,6 +25,7 @@ import (
serverstorage "k8s.io/apiserver/pkg/server/storage" serverstorage "k8s.io/apiserver/pkg/server/storage"
"k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/autoscaling"
autoscalingapiv2beta2 "k8s.io/kubernetes/pkg/apis/autoscaling/v2beta2"
horizontalpodautoscalerstore "k8s.io/kubernetes/pkg/registry/autoscaling/horizontalpodautoscaler/storage" horizontalpodautoscalerstore "k8s.io/kubernetes/pkg/registry/autoscaling/horizontalpodautoscaler/storage"
) )
@ -35,6 +36,9 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorag
// If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities. // If you add a version here, be sure to add an entry in `k8s.io/kubernetes/cmd/kube-apiserver/app/aggregator.go with specific priorities.
// TODO refactor the plumbing to provide the information in the APIGroupInfo // TODO refactor the plumbing to provide the information in the APIGroupInfo
if apiResourceConfigSource.VersionEnabled(autoscalingapiv2beta2.SchemeGroupVersion) {
apiGroupInfo.VersionedResourcesStorageMap[autoscalingapiv2beta2.SchemeGroupVersion.Version] = p.v2beta2Storage(apiResourceConfigSource, restOptionsGetter)
}
if apiResourceConfigSource.VersionEnabled(autoscalingapiv2beta1.SchemeGroupVersion) { if apiResourceConfigSource.VersionEnabled(autoscalingapiv2beta1.SchemeGroupVersion) {
apiGroupInfo.VersionedResourcesStorageMap[autoscalingapiv2beta1.SchemeGroupVersion.Version] = p.v2beta1Storage(apiResourceConfigSource, restOptionsGetter) apiGroupInfo.VersionedResourcesStorageMap[autoscalingapiv2beta1.SchemeGroupVersion.Version] = p.v2beta1Storage(apiResourceConfigSource, restOptionsGetter)
} }
@ -65,6 +69,16 @@ func (p RESTStorageProvider) v2beta1Storage(apiResourceConfigSource serverstorag
return storage return storage
} }
func (p RESTStorageProvider) v2beta2Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage {
storage := map[string]rest.Storage{}
// horizontalpodautoscalers
hpaStorage, hpaStatusStorage := horizontalpodautoscalerstore.NewREST(restOptionsGetter)
storage["horizontalpodautoscalers"] = hpaStorage
storage["horizontalpodautoscalers/status"] = hpaStatusStorage
return storage
}
func (p RESTStorageProvider) GroupName() string { func (p RESTStorageProvider) GroupName() string {
return autoscaling.GroupName return autoscaling.GroupName
} }

View File

@ -132,6 +132,7 @@ filegroup(
"//staging/src/k8s.io/client-go/listers/authorization/v1beta1:all-srcs", "//staging/src/k8s.io/client-go/listers/authorization/v1beta1:all-srcs",
"//staging/src/k8s.io/client-go/listers/autoscaling/v1:all-srcs", "//staging/src/k8s.io/client-go/listers/autoscaling/v1:all-srcs",
"//staging/src/k8s.io/client-go/listers/autoscaling/v2beta1:all-srcs", "//staging/src/k8s.io/client-go/listers/autoscaling/v2beta1:all-srcs",
"//staging/src/k8s.io/client-go/listers/autoscaling/v2beta2:all-srcs",
"//staging/src/k8s.io/client-go/listers/batch/v1:all-srcs", "//staging/src/k8s.io/client-go/listers/batch/v1:all-srcs",
"//staging/src/k8s.io/client-go/listers/batch/v1beta1:all-srcs", "//staging/src/k8s.io/client-go/listers/batch/v1beta1:all-srcs",
"//staging/src/k8s.io/client-go/listers/batch/v2alpha1:all-srcs", "//staging/src/k8s.io/client-go/listers/batch/v2alpha1:all-srcs",

View File

@ -69,6 +69,7 @@ filegroup(
"//staging/src/k8s.io/api/authorization/v1beta1:all-srcs", "//staging/src/k8s.io/api/authorization/v1beta1:all-srcs",
"//staging/src/k8s.io/api/autoscaling/v1:all-srcs", "//staging/src/k8s.io/api/autoscaling/v1:all-srcs",
"//staging/src/k8s.io/api/autoscaling/v2beta1:all-srcs", "//staging/src/k8s.io/api/autoscaling/v2beta1:all-srcs",
"//staging/src/k8s.io/api/autoscaling/v2beta2:all-srcs",
"//staging/src/k8s.io/api/batch/v1:all-srcs", "//staging/src/k8s.io/api/batch/v1:all-srcs",
"//staging/src/k8s.io/api/batch/v1beta1:all-srcs", "//staging/src/k8s.io/api/batch/v1beta1:all-srcs",
"//staging/src/k8s.io/api/batch/v2alpha1:all-srcs", "//staging/src/k8s.io/api/batch/v2alpha1:all-srcs",

View File

@ -675,20 +675,26 @@ func (m *ObjectMetricSource) MarshalTo(dAtA []byte) (int, error) {
return 0, err return 0, err
} }
i += n23 i += n23
if m.Selector != nil {
dAtA[i] = 0x22 dAtA[i] = 0x22
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Selector))) i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
i += copy(dAtA[i:], m.Selector) n24, err := m.Selector.MarshalTo(dAtA[i:])
if m.AverageValue != nil {
dAtA[i] = 0x2a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.AverageValue.Size()))
n24, err := m.AverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n24 i += n24
} }
if m.AverageValue != nil {
dAtA[i] = 0x2a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.AverageValue.Size()))
n25, err := m.AverageValue.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n25
}
return i, nil return i, nil
} }
@ -710,11 +716,11 @@ func (m *ObjectMetricStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size()))
n25, err := m.Target.MarshalTo(dAtA[i:]) n26, err := m.Target.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n25 i += n26
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName))) i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName)))
@ -722,24 +728,30 @@ func (m *ObjectMetricStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x1a dAtA[i] = 0x1a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentValue.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentValue.Size()))
n26, err := m.CurrentValue.MarshalTo(dAtA[i:]) n27, err := m.CurrentValue.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n26
dAtA[i] = 0x22
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Selector)))
i += copy(dAtA[i:], m.Selector)
if m.AverageValue != nil {
dAtA[i] = 0x2a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.AverageValue.Size()))
n27, err := m.AverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n27 i += n27
if m.Selector != nil {
dAtA[i] = 0x22
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
n28, err := m.Selector.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n28
}
if m.AverageValue != nil {
dAtA[i] = 0x2a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.AverageValue.Size()))
n29, err := m.AverageValue.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n29
} }
return i, nil return i, nil
} }
@ -766,24 +778,20 @@ func (m *PodsMetricSource) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size()))
n28, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) n30, err := m.TargetAverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n28 i += n30
if m.Selector != nil {
dAtA[i] = 0x1a dAtA[i] = 0x1a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Selector))) i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
i += copy(dAtA[i:], m.Selector) n31, err := m.Selector.MarshalTo(dAtA[i:])
if m.Value != nil {
dAtA[i] = 0x22
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Value.Size()))
n29, err := m.Value.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n29 i += n31
} }
return i, nil return i, nil
} }
@ -810,24 +818,20 @@ func (m *PodsMetricStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size()))
n30, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) n32, err := m.CurrentAverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n30 i += n32
if m.Selector != nil {
dAtA[i] = 0x1a dAtA[i] = 0x1a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Selector))) i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
i += copy(dAtA[i:], m.Selector) n33, err := m.Selector.MarshalTo(dAtA[i:])
if m.Value != nil {
dAtA[i] = 0x22
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Value.Size()))
n31, err := m.Value.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n31 i += n33
} }
return i, nil return i, nil
} }
@ -860,11 +864,11 @@ func (m *ResourceMetricSource) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x1a dAtA[i] = 0x1a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size()))
n32, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) n34, err := m.TargetAverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n32 i += n34
} }
return i, nil return i, nil
} }
@ -896,11 +900,11 @@ func (m *ResourceMetricStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x1a dAtA[i] = 0x1a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size()))
n33, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) n35, err := m.CurrentAverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n33 i += n35
return i, nil return i, nil
} }
@ -922,27 +926,27 @@ func (m *Scale) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size()))
n34, err := m.ObjectMeta.MarshalTo(dAtA[i:]) n36, err := m.ObjectMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n34
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size()))
n35, err := m.Spec.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n35
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size()))
n36, err := m.Status.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n36 i += n36
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size()))
n37, err := m.Spec.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n37
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size()))
n38, err := m.Status.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n38
return i, nil return i, nil
} }
@ -1201,8 +1205,10 @@ func (m *ObjectMetricSource) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = m.TargetValue.Size() l = m.TargetValue.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = len(m.Selector) if m.Selector != nil {
l = m.Selector.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
}
if m.AverageValue != nil { if m.AverageValue != nil {
l = m.AverageValue.Size() l = m.AverageValue.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
@ -1219,8 +1225,10 @@ func (m *ObjectMetricStatus) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = m.CurrentValue.Size() l = m.CurrentValue.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = len(m.Selector) if m.Selector != nil {
l = m.Selector.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
}
if m.AverageValue != nil { if m.AverageValue != nil {
l = m.AverageValue.Size() l = m.AverageValue.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
@ -1235,10 +1243,8 @@ func (m *PodsMetricSource) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = m.TargetAverageValue.Size() l = m.TargetAverageValue.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = len(m.Selector) if m.Selector != nil {
n += 1 + l + sovGenerated(uint64(l)) l = m.Selector.Size()
if m.Value != nil {
l = m.Value.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
} }
return n return n
@ -1251,10 +1257,8 @@ func (m *PodsMetricStatus) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = m.CurrentAverageValue.Size() l = m.CurrentAverageValue.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = len(m.Selector) if m.Selector != nil {
n += 1 + l + sovGenerated(uint64(l)) l = m.Selector.Size()
if m.Value != nil {
l = m.Value.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
} }
return n return n
@ -1467,7 +1471,7 @@ func (this *ObjectMetricSource) String() string {
`Target:` + strings.Replace(strings.Replace(this.Target.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`, `Target:` + strings.Replace(strings.Replace(this.Target.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
`MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`, `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
`TargetValue:` + strings.Replace(strings.Replace(this.TargetValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, `TargetValue:` + strings.Replace(strings.Replace(this.TargetValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
`Selector:` + fmt.Sprintf("%v", this.Selector) + `,`, `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`,
`AverageValue:` + strings.Replace(fmt.Sprintf("%v", this.AverageValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`, `AverageValue:` + strings.Replace(fmt.Sprintf("%v", this.AverageValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`,
`}`, `}`,
}, "") }, "")
@ -1481,7 +1485,7 @@ func (this *ObjectMetricStatus) String() string {
`Target:` + strings.Replace(strings.Replace(this.Target.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`, `Target:` + strings.Replace(strings.Replace(this.Target.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
`MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`, `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
`CurrentValue:` + strings.Replace(strings.Replace(this.CurrentValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, `CurrentValue:` + strings.Replace(strings.Replace(this.CurrentValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
`Selector:` + fmt.Sprintf("%v", this.Selector) + `,`, `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`,
`AverageValue:` + strings.Replace(fmt.Sprintf("%v", this.AverageValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`, `AverageValue:` + strings.Replace(fmt.Sprintf("%v", this.AverageValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`,
`}`, `}`,
}, "") }, "")
@ -1494,8 +1498,7 @@ func (this *PodsMetricSource) String() string {
s := strings.Join([]string{`&PodsMetricSource{`, s := strings.Join([]string{`&PodsMetricSource{`,
`MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`, `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
`TargetAverageValue:` + strings.Replace(strings.Replace(this.TargetAverageValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, `TargetAverageValue:` + strings.Replace(strings.Replace(this.TargetAverageValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
`Selector:` + fmt.Sprintf("%v", this.Selector) + `,`, `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`,
`Value:` + strings.Replace(fmt.Sprintf("%v", this.Value), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s
@ -1507,8 +1510,7 @@ func (this *PodsMetricStatus) String() string {
s := strings.Join([]string{`&PodsMetricStatus{`, s := strings.Join([]string{`&PodsMetricStatus{`,
`MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`, `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
`CurrentAverageValue:` + strings.Replace(strings.Replace(this.CurrentAverageValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, `CurrentAverageValue:` + strings.Replace(strings.Replace(this.CurrentAverageValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
`Selector:` + fmt.Sprintf("%v", this.Selector) + `,`, `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`,
`Value:` + strings.Replace(fmt.Sprintf("%v", this.Value), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s
@ -3359,7 +3361,7 @@ func (m *ObjectMetricSource) Unmarshal(dAtA []byte) error {
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType) return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
} }
var stringLen uint64 var msglen int
for shift := uint(0); ; shift += 7 { for shift := uint(0); ; shift += 7 {
if shift >= 64 { if shift >= 64 {
return ErrIntOverflowGenerated return ErrIntOverflowGenerated
@ -3369,20 +3371,24 @@ func (m *ObjectMetricSource) Unmarshal(dAtA []byte) error {
} }
b := dAtA[iNdEx] b := dAtA[iNdEx]
iNdEx++ iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift msglen |= (int(b) & 0x7F) << shift
if b < 0x80 { if b < 0x80 {
break break
} }
} }
intStringLen := int(stringLen) if msglen < 0 {
if intStringLen < 0 {
return ErrInvalidLengthGenerated return ErrInvalidLengthGenerated
} }
postIndex := iNdEx + intStringLen postIndex := iNdEx + msglen
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
m.Selector = string(dAtA[iNdEx:postIndex]) if m.Selector == nil {
m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{}
}
if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex iNdEx = postIndex
case 5: case 5:
if wireType != 2 { if wireType != 2 {
@ -3560,7 +3566,7 @@ func (m *ObjectMetricStatus) Unmarshal(dAtA []byte) error {
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType) return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
} }
var stringLen uint64 var msglen int
for shift := uint(0); ; shift += 7 { for shift := uint(0); ; shift += 7 {
if shift >= 64 { if shift >= 64 {
return ErrIntOverflowGenerated return ErrIntOverflowGenerated
@ -3570,20 +3576,24 @@ func (m *ObjectMetricStatus) Unmarshal(dAtA []byte) error {
} }
b := dAtA[iNdEx] b := dAtA[iNdEx]
iNdEx++ iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift msglen |= (int(b) & 0x7F) << shift
if b < 0x80 { if b < 0x80 {
break break
} }
} }
intStringLen := int(stringLen) if msglen < 0 {
if intStringLen < 0 {
return ErrInvalidLengthGenerated return ErrInvalidLengthGenerated
} }
postIndex := iNdEx + intStringLen postIndex := iNdEx + msglen
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
m.Selector = string(dAtA[iNdEx:postIndex]) if m.Selector == nil {
m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{}
}
if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex iNdEx = postIndex
case 5: case 5:
if wireType != 2 { if wireType != 2 {
@ -3731,35 +3741,6 @@ func (m *PodsMetricSource) Unmarshal(dAtA []byte) error {
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType) return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
} }
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Selector = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
}
var msglen int var msglen int
for shift := uint(0); ; shift += 7 { for shift := uint(0); ; shift += 7 {
if shift >= 64 { if shift >= 64 {
@ -3782,10 +3763,10 @@ func (m *PodsMetricSource) Unmarshal(dAtA []byte) error {
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
if m.Value == nil { if m.Selector == nil {
m.Value = &k8s_io_apimachinery_pkg_api_resource.Quantity{} m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{}
} }
if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err return err
} }
iNdEx = postIndex iNdEx = postIndex
@ -3902,35 +3883,6 @@ func (m *PodsMetricStatus) Unmarshal(dAtA []byte) error {
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType) return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
} }
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Selector = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
}
var msglen int var msglen int
for shift := uint(0); ; shift += 7 { for shift := uint(0); ; shift += 7 {
if shift >= 64 { if shift >= 64 {
@ -3953,10 +3905,10 @@ func (m *PodsMetricStatus) Unmarshal(dAtA []byte) error {
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
if m.Value == nil { if m.Selector == nil {
m.Value = &k8s_io_apimachinery_pkg_api_resource.Quantity{} m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{}
} }
if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err return err
} }
iNdEx = postIndex iNdEx = postIndex
@ -4659,198 +4611,100 @@ func init() {
} }
var fileDescriptorGenerated = []byte{ var fileDescriptorGenerated = []byte{
<<<<<<< HEAD // 1516 bytes of a gzipped FileDescriptorProto
// 1471 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0xcf, 0x6f, 0x13, 0xc7,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4b, 0x6f, 0x14, 0xc7, 0x17, 0x8f, 0x7f, 0x24, 0x24, 0xe3, 0x90, 0xe4, 0x3b, 0x20, 0x08, 0xe1, 0x8b, 0x37, 0xda, 0x22,
0x13, 0xf7, 0x3e, 0x6c, 0xec, 0x5e, 0x63, 0xf3, 0x6f, 0x10, 0x18, 0xf3, 0x67, 0xc7, 0x9a, 0x20, 0x44, 0x7f, 0xb0, 0x6e, 0x52, 0x8a, 0xe8, 0x31, 0x76, 0x4b, 0x41, 0x8d, 0x21, 0x4c, 0x02, 0xa5,
0x44, 0x1e, 0xcc, 0xc6, 0x0e, 0x41, 0xe4, 0xe8, 0xdd, 0x84, 0x80, 0xe2, 0x05, 0xd3, 0x36, 0x84, 0x3f, 0xc5, 0x64, 0x3d, 0x38, 0x43, 0xbc, 0xbb, 0xd6, 0xec, 0xd8, 0x22, 0x48, 0x95, 0xda, 0x43,
0x3c, 0x14, 0xd1, 0x9e, 0x6d, 0xd6, 0x8d, 0x77, 0x66, 0x56, 0x3d, 0xbd, 0x2b, 0x8c, 0x14, 0x29, 0xef, 0xbd, 0xb4, 0xea, 0xb1, 0x95, 0x7a, 0xed, 0x99, 0x73, 0x6f, 0x1c, 0x39, 0x20, 0x95, 0xd3,
0x39, 0xe4, 0x9c, 0x28, 0x52, 0xa2, 0x1c, 0xf3, 0x05, 0x72, 0xe6, 0x9c, 0x48, 0x91, 0x38, 0x72, 0xaa, 0x6c, 0x8f, 0xfd, 0x0f, 0x38, 0x55, 0xf3, 0xc3, 0xeb, 0x5d, 0xdb, 0xeb, 0x24, 0x26, 0x44,
0xc8, 0x81, 0xd3, 0x28, 0x4c, 0x8e, 0xf9, 0x06, 0x9c, 0xa2, 0x7e, 0xec, 0xec, 0xcc, 0xee, 0xcc, 0x6d, 0x6f, 0x3b, 0x33, 0xef, 0x7d, 0xde, 0xec, 0x7b, 0x6f, 0xde, 0x2f, 0x50, 0xde, 0xbe, 0xec,
0xfa, 0x81, 0xb1, 0x92, 0xdb, 0xf4, 0x54, 0xd5, 0xaf, 0xba, 0xab, 0xaa, 0xeb, 0xd1, 0xa0, 0xba, 0x5b, 0xd4, 0x2b, 0x6d, 0xb7, 0x36, 0x09, 0x73, 0x09, 0x27, 0x7e, 0xa9, 0x4d, 0xdc, 0x9a, 0xc7,
0x75, 0xc5, 0xb7, 0xa8, 0x57, 0xd9, 0xea, 0x6c, 0x10, 0xe6, 0x12, 0x4e, 0xfc, 0x4a, 0x97, 0xb8, 0x4a, 0xfa, 0x00, 0x37, 0x69, 0x09, 0xb7, 0xb8, 0xe7, 0xdb, 0xb8, 0x41, 0xdd, 0x7a, 0xa9, 0xbd,
0x0d, 0x8f, 0x55, 0x34, 0x01, 0xb7, 0x69, 0x05, 0x77, 0xb8, 0xe7, 0xdb, 0xb8, 0x45, 0xdd, 0x66, 0x54, 0xaa, 0x13, 0x97, 0x30, 0xcc, 0x49, 0xcd, 0x6a, 0x32, 0x8f, 0x7b, 0xf0, 0x94, 0x22, 0xb5,
0xa5, 0xbb, 0x58, 0x69, 0x12, 0x97, 0x30, 0xcc, 0x49, 0xc3, 0x6a, 0x33, 0x8f, 0x7b, 0xf0, 0xb4, 0x70, 0x93, 0x5a, 0x31, 0x52, 0xab, 0xbd, 0xb4, 0x70, 0xa1, 0x4e, 0xf9, 0x56, 0x6b, 0xd3, 0xb2,
0x62, 0xb5, 0x70, 0x9b, 0x5a, 0x31, 0x56, 0xab, 0xbb, 0x38, 0x7f, 0xb1, 0x49, 0xf9, 0x66, 0x67, 0x3d, 0xa7, 0x54, 0xf7, 0xea, 0x5e, 0x49, 0x72, 0x6c, 0xb6, 0xee, 0xc9, 0x95, 0x5c, 0xc8, 0x2f,
0xc3, 0xb2, 0x3d, 0xa7, 0xd2, 0xf4, 0x9a, 0x5e, 0x45, 0x4a, 0x6c, 0x74, 0xee, 0xcb, 0x95, 0x5c, 0x85, 0xb4, 0x60, 0xc6, 0x84, 0xda, 0x1e, 0x23, 0x03, 0xa4, 0x2d, 0x5c, 0xec, 0xd2, 0x38, 0xd8,
0xc8, 0x2f, 0x85, 0x34, 0x6f, 0xc6, 0x94, 0xda, 0x1e, 0x23, 0x29, 0xda, 0xe6, 0x2f, 0xf5, 0x79, 0xde, 0xa2, 0x2e, 0x61, 0x3b, 0xa5, 0xe6, 0x76, 0x5d, 0x32, 0x31, 0xe2, 0x7b, 0x2d, 0x66, 0x93,
0x1c, 0x6c, 0x6f, 0x52, 0x97, 0xb0, 0xed, 0x4a, 0x7b, 0xab, 0x29, 0x85, 0x18, 0xf1, 0xbd, 0x0e, 0x7d, 0x71, 0xf9, 0x25, 0x87, 0x70, 0x3c, 0x48, 0x56, 0x29, 0x8d, 0x8b, 0xb5, 0x5c, 0x4e, 0x9d,
0xb3, 0xc9, 0x9e, 0xa4, 0xfc, 0x8a, 0x43, 0x38, 0x4e, 0xd3, 0x55, 0xc9, 0x92, 0x62, 0x1d, 0x97, 0x7e, 0x31, 0x97, 0x76, 0x63, 0xf0, 0xed, 0x2d, 0xe2, 0xe0, 0x5e, 0x3e, 0xf3, 0xfb, 0x0c, 0x38,
0x53, 0x67, 0x58, 0xcd, 0xe5, 0x9d, 0x04, 0x7c, 0x7b, 0x93, 0x38, 0x78, 0x50, 0xce, 0xfc, 0x21, 0x5d, 0x61, 0x9e, 0xef, 0xdf, 0x26, 0xcc, 0xa7, 0x9e, 0x7b, 0x63, 0xf3, 0x3e, 0xb1, 0x39, 0x22,
0x07, 0xce, 0xd4, 0x98, 0xe7, 0xfb, 0x77, 0x08, 0xf3, 0xa9, 0xe7, 0xde, 0xdc, 0x78, 0x40, 0x6c, 0xf7, 0x08, 0x23, 0xae, 0x4d, 0xe0, 0x22, 0xc8, 0x6f, 0x53, 0xb7, 0x36, 0x9f, 0x59, 0xcc, 0x9c,
0x8e, 0xc8, 0x7d, 0xc2, 0x88, 0x6b, 0x13, 0xb8, 0x00, 0x8a, 0x5b, 0xd4, 0x6d, 0xcc, 0xe5, 0x16, 0x9f, 0x2a, 0x4f, 0x3f, 0x0e, 0x8c, 0xb1, 0x30, 0x30, 0xf2, 0x1f, 0x51, 0xb7, 0x86, 0xe4, 0x89,
0x72, 0x17, 0xa6, 0xaa, 0xd3, 0x4f, 0x02, 0x63, 0x2c, 0x0c, 0x8c, 0xe2, 0x47, 0xd4, 0x6d, 0x20, 0xa0, 0x70, 0xb1, 0x43, 0xe6, 0xb3, 0x49, 0x8a, 0xeb, 0xd8, 0x21, 0x48, 0x9e, 0xc0, 0x65, 0x00,
0x49, 0x11, 0x1c, 0x2e, 0x76, 0xc8, 0x5c, 0x3e, 0xc9, 0x71, 0x03, 0x3b, 0x04, 0x49, 0x0a, 0x5c, 0x70, 0x93, 0x6a, 0x01, 0xf3, 0x39, 0x49, 0x07, 0x35, 0x1d, 0x58, 0x59, 0xbb, 0xa6, 0x4f, 0x50,
0x02, 0x00, 0xb7, 0xa9, 0x56, 0x30, 0x57, 0x90, 0x7c, 0x50, 0xf3, 0x81, 0xe5, 0xd5, 0xeb, 0x9a, 0x8c, 0xca, 0xfc, 0x21, 0x07, 0x8e, 0x7f, 0xf0, 0x80, 0x13, 0xe6, 0xe2, 0x46, 0x95, 0x70, 0x46,
0x82, 0x62, 0x5c, 0xe6, 0x8f, 0x05, 0x70, 0xe2, 0x83, 0x87, 0x9c, 0x30, 0x17, 0xb7, 0xea, 0x84, 0xed, 0x75, 0xa9, 0x5f, 0x01, 0xe6, 0xc8, 0xb5, 0x10, 0xa0, 0xaf, 0x15, 0x81, 0x55, 0xa3, 0x13,
0x33, 0x6a, 0xaf, 0x49, 0xfb, 0x0a, 0x30, 0x47, 0xae, 0x85, 0x02, 0xbd, 0xad, 0x08, 0xac, 0x1e, 0x14, 0xa3, 0x82, 0x1e, 0x98, 0x51, 0xab, 0x75, 0xd2, 0x20, 0x36, 0xf7, 0x98, 0xbc, 0x6c, 0x61,
0x51, 0x50, 0x8c, 0x0b, 0x7a, 0x60, 0x46, 0xad, 0xd6, 0x48, 0x8b, 0xd8, 0xdc, 0x63, 0x72, 0xb3, 0xf9, 0x1d, 0xab, 0xeb, 0x40, 0x91, 0xd6, 0xac, 0xe6, 0x76, 0x5d, 0x6c, 0xf8, 0x96, 0x30, 0x8e,
0xa5, 0xa5, 0x77, 0xac, 0x7e, 0x00, 0x45, 0x56, 0xb3, 0xda, 0x5b, 0x4d, 0xf1, 0xc3, 0xb7, 0x84, 0xd5, 0x5e, 0xb2, 0x56, 0xf1, 0x26, 0x69, 0x74, 0x58, 0xcb, 0x30, 0x0c, 0x8c, 0x99, 0x6a, 0x02,
0x73, 0xac, 0xee, 0xa2, 0xb5, 0x82, 0x37, 0x48, 0xab, 0x27, 0x5a, 0x85, 0x61, 0x60, 0xcc, 0xd4, 0x0e, 0xf5, 0xc0, 0x43, 0x0c, 0x0a, 0x1c, 0xb3, 0x3a, 0xe1, 0xb7, 0x71, 0xa3, 0x45, 0xe4, 0x2f,
0x13, 0x70, 0x68, 0x00, 0x1e, 0x62, 0x50, 0xe2, 0x98, 0x35, 0x09, 0xbf, 0x83, 0x5b, 0x1d, 0x22, 0x17, 0x96, 0xad, 0x61, 0xd2, 0xac, 0x8e, 0x03, 0x59, 0x37, 0x5b, 0xd8, 0xe5, 0x94, 0xef, 0x94,
0x8f, 0x5c, 0x5a, 0xb2, 0x46, 0x69, 0xb3, 0x7a, 0x01, 0x64, 0xdd, 0xea, 0x60, 0x97, 0x53, 0xbe, 0x67, 0xc3, 0xc0, 0x28, 0x6c, 0x74, 0x61, 0x50, 0x1c, 0x13, 0xb6, 0x01, 0x54, 0xcb, 0x95, 0x36,
0x5d, 0x9d, 0x0d, 0x03, 0xa3, 0xb4, 0xde, 0x87, 0x41, 0x71, 0x4c, 0xd8, 0x05, 0x50, 0x2d, 0x97, 0x61, 0xb8, 0x4e, 0x94, 0xa4, 0xfc, 0x48, 0x92, 0x4e, 0x84, 0x81, 0x01, 0x37, 0xfa, 0xd0, 0xd0,
0xbb, 0x84, 0xe1, 0x26, 0x51, 0x9a, 0x8a, 0xfb, 0xd2, 0x74, 0x32, 0x0c, 0x0c, 0xb8, 0x3e, 0x84, 0x00, 0x09, 0xe6, 0x4f, 0xfd, 0x86, 0xe1, 0x98, 0xb7, 0xfc, 0x7f, 0x87, 0x61, 0xb6, 0xc0, 0xb4,
0x86, 0x52, 0x34, 0x98, 0x3f, 0x0f, 0x3b, 0x86, 0x63, 0xde, 0xf1, 0xff, 0x1b, 0x8e, 0xd9, 0x04, 0xdd, 0x62, 0x8c, 0xb8, 0x2f, 0x65, 0x99, 0xe3, 0xfa, 0xb7, 0xa6, 0x2b, 0x31, 0x2c, 0x94, 0x40,
0xd3, 0x76, 0x87, 0x31, 0xe2, 0xbe, 0x94, 0x67, 0x4e, 0xe8, 0x63, 0x4d, 0xd7, 0x62, 0x58, 0x28, 0x86, 0x3b, 0xe0, 0x98, 0x5e, 0x1f, 0x80, 0x81, 0x4e, 0x86, 0x81, 0x71, 0xac, 0xd2, 0x0f, 0x87,
0x81, 0x0c, 0xb7, 0xc1, 0x71, 0xbd, 0x3e, 0x00, 0x07, 0x9d, 0x0a, 0x03, 0xe3, 0x78, 0x6d, 0x18, 0x06, 0xc9, 0x30, 0x1f, 0x65, 0xc1, 0xc9, 0xab, 0x1e, 0xa3, 0x0f, 0x3d, 0x97, 0xe3, 0xc6, 0x9a,
0x0e, 0xa5, 0xe9, 0x30, 0x1f, 0xe7, 0xc1, 0xa9, 0x6b, 0x1e, 0xa3, 0x8f, 0x3c, 0x97, 0xe3, 0xd6, 0x57, 0x5b, 0xd1, 0xb1, 0x91, 0x30, 0x78, 0x17, 0x4c, 0x0a, 0xed, 0xd5, 0x30, 0xc7, 0xd2, 0x46,
0xaa, 0xd7, 0x58, 0xd6, 0xb9, 0x91, 0x30, 0x78, 0x0f, 0x4c, 0x0a, 0xeb, 0x35, 0x30, 0xc7, 0xd2, 0x85, 0xe5, 0xb7, 0xf7, 0xa6, 0x6b, 0x15, 0x18, 0xaa, 0x84, 0xe3, 0xae, 0x55, 0xbb, 0x7b, 0x28,
0x47, 0xa5, 0xa5, 0xb7, 0x77, 0x67, 0x6b, 0x95, 0x18, 0xea, 0x84, 0xe3, 0xbe, 0x57, 0xfb, 0xff, 0x42, 0x85, 0x77, 0x40, 0xde, 0x6f, 0x12, 0x5b, 0x5b, 0xf2, 0x92, 0x95, 0x1a, 0xa3, 0xad, 0x94,
0x50, 0x84, 0x0a, 0xef, 0x82, 0xa2, 0xdf, 0x26, 0xb6, 0xf6, 0xe4, 0x65, 0x2b, 0x33, 0x47, 0x5b, 0x3b, 0xae, 0x37, 0x89, 0xdd, 0x8d, 0x23, 0x62, 0x85, 0x24, 0x22, 0xbc, 0x0b, 0x26, 0x7c, 0xe9,
0x19, 0x7b, 0x5c, 0x6b, 0x13, 0xbb, 0x9f, 0x47, 0xc4, 0x0a, 0x49, 0x44, 0x78, 0x0f, 0x4c, 0xf8, 0x6b, 0xda, 0x6c, 0x97, 0x47, 0xc0, 0x96, 0xfc, 0xe5, 0x19, 0x8d, 0x3e, 0xa1, 0xd6, 0x48, 0xe3,
0x32, 0xd6, 0xb4, 0xdb, 0xae, 0xec, 0x03, 0x5b, 0xca, 0x57, 0x67, 0x34, 0xfa, 0x84, 0x5a, 0x23, 0x9a, 0xdf, 0xe6, 0xc0, 0x62, 0x0a, 0x67, 0xc5, 0x73, 0x6b, 0x94, 0x53, 0xcf, 0x85, 0x57, 0x41,
0x8d, 0x6b, 0x7e, 0x53, 0x00, 0x0b, 0x19, 0x92, 0x35, 0xcf, 0x6d, 0x50, 0x4e, 0x3d, 0x17, 0x5e, 0x9e, 0xef, 0x34, 0x3b, 0x2e, 0x7e, 0xb1, 0x73, 0xd1, 0x8d, 0x9d, 0x26, 0x79, 0x11, 0x18, 0x67,
0x03, 0x45, 0xbe, 0xdd, 0xee, 0x85, 0xf8, 0xa5, 0xde, 0x46, 0xd7, 0xb7, 0xdb, 0xe4, 0x45, 0x60, 0x77, 0xe3, 0x17, 0x74, 0x48, 0x22, 0xc0, 0xd5, 0xe8, 0x87, 0xb2, 0x09, 0x2c, 0x7d, 0xad, 0x17,
0x9c, 0xdb, 0x49, 0x5e, 0xf0, 0x21, 0x89, 0x00, 0x57, 0xa2, 0x03, 0xe5, 0x13, 0x58, 0x7a, 0x5b, 0x81, 0x31, 0x20, 0x2f, 0x59, 0x11, 0x52, 0xf2, 0xf2, 0x22, 0x22, 0x34, 0xb0, 0xcf, 0x37, 0x18,
0x2f, 0x02, 0x23, 0xa5, 0x2e, 0x59, 0x11, 0x52, 0x72, 0xf3, 0x22, 0x23, 0xb4, 0xb0, 0xcf, 0xd7, 0x76, 0x7d, 0x25, 0x89, 0x3a, 0x1d, 0x0f, 0x7f, 0x63, 0x6f, 0x46, 0x16, 0x1c, 0xe5, 0x05, 0x7d,
0x19, 0x76, 0x7d, 0xa5, 0x89, 0x3a, 0xbd, 0x08, 0x7f, 0x63, 0x77, 0x4e, 0x16, 0x12, 0xd5, 0x79, 0x0b, 0xb8, 0xda, 0x87, 0x86, 0x06, 0x48, 0x80, 0xe7, 0xc0, 0x04, 0x23, 0xd8, 0xf7, 0x5c, 0xe9,
0xbd, 0x0b, 0xb8, 0x32, 0x84, 0x86, 0x52, 0x34, 0xc0, 0xf3, 0x60, 0x82, 0x11, 0xec, 0x7b, 0xae, 0xdc, 0x53, 0x5d, 0xe5, 0x22, 0xb9, 0x8b, 0xf4, 0x29, 0x7c, 0x1d, 0x1c, 0x71, 0x88, 0xef, 0xe3,
0x0c, 0xee, 0xa9, 0xbe, 0x71, 0x91, 0xfc, 0x8b, 0x34, 0x15, 0xbe, 0x0e, 0x8e, 0x38, 0xc4, 0xf7, 0x3a, 0x99, 0x1f, 0x97, 0x84, 0xb3, 0x9a, 0xf0, 0x48, 0x55, 0x6d, 0xa3, 0xce, 0xb9, 0xf9, 0x34,
0x71, 0x93, 0xcc, 0x8d, 0x4b, 0xc6, 0x59, 0xcd, 0x78, 0xa4, 0xae, 0x7e, 0xa3, 0x1e, 0xdd, 0xfc, 0x03, 0x4e, 0xa7, 0xe8, 0x71, 0x95, 0xfa, 0x1c, 0x7e, 0xde, 0xe7, 0xc5, 0xd6, 0x1e, 0x23, 0x06,
0x23, 0x07, 0xce, 0x64, 0xd8, 0x71, 0x85, 0xfa, 0x1c, 0x7e, 0x3e, 0x14, 0xc5, 0xd6, 0x2e, 0x33, 0xf5, 0x95, 0x0f, 0xcf, 0x69, 0xd9, 0x93, 0x9d, 0x9d, 0x98, 0x07, 0x7f, 0x0c, 0xc6, 0x29, 0x27,
0x06, 0xf5, 0x55, 0x0c, 0x1f, 0xd3, 0xba, 0x27, 0x7b, 0x7f, 0x62, 0x11, 0xfc, 0x31, 0x18, 0xa7, 0x8e, 0xb0, 0x4a, 0xee, 0x7c, 0x61, 0x79, 0x79, 0xff, 0x6e, 0x56, 0x3e, 0xaa, 0xe1, 0xc7, 0xaf,
0x9c, 0x38, 0xc2, 0x2b, 0x85, 0x0b, 0xa5, 0xa5, 0xa5, 0xbd, 0x87, 0x59, 0xf5, 0xa8, 0x86, 0x1f, 0x09, 0x20, 0xa4, 0xf0, 0xcc, 0xbf, 0xb2, 0xa9, 0xbf, 0x25, 0xdc, 0x1c, 0xb6, 0xc1, 0x8c, 0x5c,
0xbf, 0x2e, 0x80, 0x90, 0xc2, 0x33, 0xff, 0xce, 0x67, 0x1e, 0x4b, 0x84, 0x39, 0xec, 0x82, 0x19, 0xa9, 0x50, 0x8c, 0xc8, 0x3d, 0xfd, 0x73, 0xc3, 0x1e, 0xd1, 0x90, 0xe4, 0x5d, 0x3e, 0xa1, 0x6f,
0xb9, 0x52, 0xa9, 0x18, 0x91, 0xfb, 0xfa, 0x70, 0xa3, 0x2e, 0xd1, 0x88, 0xe2, 0x5d, 0x3d, 0xa9, 0x31, 0xb3, 0x9e, 0x40, 0x45, 0x3d, 0x52, 0xe0, 0x12, 0x28, 0x38, 0xd4, 0x45, 0xa4, 0xd9, 0xa0,
0x77, 0x31, 0xb3, 0x96, 0x40, 0x45, 0x03, 0x5a, 0xe0, 0x22, 0x28, 0x39, 0xd4, 0x45, 0xa4, 0xdd, 0x36, 0x56, 0xce, 0x38, 0xae, 0xd2, 0x4f, 0xb5, 0xbb, 0x8d, 0xe2, 0x34, 0xf0, 0x5d, 0x50, 0x70,
0xa2, 0x36, 0x56, 0xc1, 0x38, 0xae, 0xca, 0x4f, 0xbd, 0xff, 0x1b, 0xc5, 0x79, 0xe0, 0xbb, 0xa0, 0xf0, 0x83, 0x88, 0x25, 0x27, 0x59, 0x8e, 0x69, 0x79, 0x85, 0x6a, 0xf7, 0x08, 0xc5, 0xe9, 0xe0,
0xe4, 0xe0, 0x87, 0x91, 0x48, 0x41, 0x8a, 0x1c, 0xd7, 0xfa, 0x4a, 0xf5, 0x3e, 0x09, 0xc5, 0xf9, 0x7d, 0x50, 0x54, 0x39, 0xa5, 0xb2, 0x76, 0xeb, 0x16, 0xa7, 0x0d, 0xfa, 0x10, 0x0b, 0x3f, 0x5a,
0xe0, 0x03, 0x50, 0x56, 0x35, 0xa5, 0xb6, 0x7a, 0xfb, 0x36, 0xa7, 0x2d, 0xfa, 0x08, 0x8b, 0x38, 0x23, 0xcc, 0x26, 0x2e, 0x17, 0xae, 0x91, 0x97, 0x48, 0x66, 0x18, 0x18, 0xc5, 0x8d, 0xa1, 0x94,
0x5a, 0x25, 0xcc, 0x26, 0x2e, 0x17, 0xa1, 0x51, 0x94, 0x48, 0x66, 0x18, 0x18, 0xe5, 0xf5, 0x91, 0x68, 0x17, 0x24, 0xf3, 0xb7, 0x1c, 0x38, 0x33, 0x34, 0x0c, 0xc0, 0x2b, 0x00, 0x7a, 0x9b, 0x3e,
0x9c, 0x68, 0x07, 0x24, 0xf3, 0xd7, 0x02, 0x38, 0x3b, 0x32, 0x0d, 0xc0, 0xab, 0x00, 0x7a, 0x1b, 0x61, 0x6d, 0x52, 0xfb, 0x50, 0xd5, 0x45, 0xa2, 0x40, 0x11, 0x3a, 0xcf, 0xa9, 0x9c, 0x78, 0xa3,
0x3e, 0x61, 0x5d, 0xd2, 0xf8, 0x50, 0xf5, 0x45, 0xa2, 0x41, 0x11, 0x36, 0x2f, 0xa8, 0x9a, 0x78, 0xef, 0x14, 0x0d, 0xe0, 0x80, 0x36, 0x38, 0x2a, 0xde, 0x85, 0xd2, 0x32, 0xd5, 0xb5, 0xd0, 0xfe,
0x73, 0x88, 0x8a, 0x52, 0x24, 0xa0, 0x0d, 0x8e, 0x8a, 0x7b, 0xa1, 0xac, 0x4c, 0x75, 0x2f, 0xb4, 0x1e, 0xdd, 0xff, 0xc2, 0xc0, 0x38, 0xba, 0x1a, 0x07, 0x41, 0x49, 0x4c, 0xb8, 0x02, 0x66, 0x75,
0xb7, 0x4b, 0xf7, 0xbf, 0x30, 0x30, 0x8e, 0xae, 0xc4, 0x41, 0x50, 0x12, 0x13, 0x2e, 0x83, 0x59, 0xb0, 0xef, 0xd1, 0xfa, 0x49, 0xad, 0xf5, 0xd9, 0x4a, 0xf2, 0x18, 0xf5, 0xd2, 0x0b, 0x88, 0x1a,
0x9d, 0xec, 0x07, 0xac, 0x7e, 0x4a, 0x5b, 0x7d, 0xb6, 0x96, 0x24, 0xa3, 0x41, 0x7e, 0x01, 0xd1, 0xf1, 0x29, 0x23, 0xb5, 0x08, 0x22, 0x9f, 0x84, 0x78, 0x3f, 0x79, 0x8c, 0x7a, 0xe9, 0xa1, 0x03,
0x20, 0x3e, 0x65, 0xa4, 0x11, 0x41, 0x14, 0x93, 0x10, 0xef, 0x27, 0xc9, 0x68, 0x90, 0x1f, 0x3a, 0x0c, 0x8d, 0x9a, 0x6a, 0xc1, 0x71, 0x09, 0xf9, 0x5a, 0x18, 0x18, 0x46, 0x65, 0x38, 0x29, 0xda,
0xc0, 0xd0, 0xa8, 0x99, 0x1e, 0x1c, 0x97, 0x90, 0xaf, 0x85, 0x81, 0x61, 0xd4, 0x46, 0xb3, 0xa2, 0x0d, 0x4b, 0x94, 0x81, 0xba, 0x76, 0x90, 0x0f, 0xe4, 0x62, 0x22, 0xf4, 0x2e, 0xf6, 0x84, 0xde,
0x9d, 0xb0, 0x44, 0x1b, 0xa8, 0x7b, 0x07, 0x79, 0x41, 0x2e, 0x25, 0x52, 0xef, 0xc2, 0x40, 0xea, 0xb9, 0x78, 0xa1, 0x18, 0x0b, 0xb3, 0x37, 0xc1, 0x84, 0x27, 0x5f, 0x86, 0xb6, 0xcb, 0x85, 0x21,
0x3d, 0x16, 0x6f, 0x14, 0x63, 0x69, 0xf6, 0x16, 0x98, 0xf0, 0xe4, 0xcd, 0xd0, 0x7e, 0xb9, 0x38, 0xcf, 0x29, 0x4a, 0x69, 0x11, 0x50, 0x19, 0x88, 0x58, 0xa6, 0x9f, 0x96, 0x06, 0x82, 0xd7, 0x40,
0xe2, 0x3a, 0x45, 0x25, 0x2d, 0x02, 0xaa, 0x02, 0x91, 0xcb, 0xf4, 0xd5, 0xd2, 0x40, 0xf0, 0x3a, 0xbe, 0xe9, 0xd5, 0x3a, 0x89, 0xe8, 0xcd, 0x21, 0x80, 0x6b, 0x5e, 0xcd, 0x4f, 0xc0, 0x4d, 0x8a,
0x28, 0xb6, 0xbd, 0x46, 0xaf, 0x10, 0xbd, 0x39, 0x02, 0x70, 0xd5, 0x6b, 0xf8, 0x09, 0xb8, 0x49, 0x1b, 0x8b, 0x5d, 0x24, 0x21, 0xe0, 0x27, 0x60, 0xb2, 0x93, 0xf0, 0x75, 0x75, 0x50, 0x1a, 0x02,
0xb1, 0x63, 0xf1, 0x17, 0x49, 0x08, 0xf8, 0x09, 0x98, 0xec, 0x15, 0x7c, 0xdd, 0x1d, 0x54, 0x46, 0x87, 0x34, 0x69, 0x02, 0x72, 0x5a, 0x04, 0xb2, 0xce, 0x09, 0x8a, 0xe0, 0x04, 0x34, 0xd1, 0xa5,
0xc0, 0x21, 0xcd, 0x9a, 0x80, 0x9c, 0x16, 0x89, 0xac, 0x47, 0x41, 0x11, 0x9c, 0x80, 0x26, 0xba, 0x9a, 0xb4, 0xca, 0x70, 0xe8, 0x41, 0xe5, 0xb6, 0x82, 0xee, 0x9c, 0xa0, 0x08, 0xce, 0xfc, 0x31,
0x55, 0x93, 0x5e, 0x19, 0x0d, 0x9d, 0xd6, 0x6e, 0x2b, 0xe8, 0x1e, 0x05, 0x45, 0x70, 0xe6, 0x4f, 0x07, 0xa6, 0x13, 0xe5, 0xdf, 0x21, 0x9b, 0x46, 0xe5, 0xf1, 0x03, 0x33, 0x8d, 0x82, 0x3b, 0x50,
0x05, 0x30, 0x9d, 0x68, 0xff, 0x0e, 0xd9, 0x35, 0xaa, 0x8e, 0x1f, 0x98, 0x6b, 0x14, 0xdc, 0x81, 0xd3, 0x28, 0xc8, 0x57, 0x62, 0x9a, 0x18, 0xf4, 0x00, 0xd3, 0x3c, 0xcd, 0x01, 0xd8, 0xef, 0xc6,
0xba, 0x46, 0x41, 0xbe, 0x12, 0xd7, 0xc4, 0xa0, 0x53, 0x5c, 0xf3, 0x6d, 0x1e, 0xc0, 0xe1, 0x30, 0xf0, 0x4b, 0x30, 0xa1, 0x02, 0xe6, 0x4b, 0x26, 0x95, 0x28, 0xbd, 0xeb, 0xfc, 0xa1, 0x51, 0x7b,
0x86, 0x5f, 0x80, 0x09, 0x95, 0x30, 0x5f, 0xb2, 0xa8, 0x44, 0xe5, 0x5d, 0xd7, 0x0f, 0x8d, 0x3a, 0xea, 0xff, 0xec, 0x9e, 0xea, 0x7f, 0x72, 0x10, 0x7d, 0x52, 0x94, 0x75, 0x52, 0x7b, 0xa5, 0x2f,
0xd0, 0xff, 0xe7, 0x77, 0xd5, 0xff, 0x93, 0x83, 0x98, 0x93, 0xa2, 0xaa, 0x93, 0x35, 0x2b, 0x99, 0xc0, 0xa4, 0xdf, 0x69, 0x30, 0xf2, 0xa3, 0x37, 0x18, 0x52, 0xe1, 0x51, 0x6b, 0x11, 0x41, 0xc2,
0xdf, 0x0f, 0x5a, 0x44, 0x85, 0xec, 0xbf, 0xd1, 0x22, 0x87, 0x36, 0xa0, 0x98, 0xbf, 0xe5, 0xc0, 0x1a, 0x98, 0xc6, 0xf1, 0x1a, 0x7f, 0x7c, 0xa4, 0xdf, 0x98, 0x13, 0x0d, 0x45, 0xa2, 0xb8, 0x4f,
0xb1, 0xc1, 0xe4, 0xb4, 0xaf, 0x21, 0xee, 0x51, 0xea, 0x24, 0x9a, 0xdf, 0xd7, 0xc6, 0xa3, 0xde, 0xa0, 0x9a, 0xbf, 0xf7, 0x9a, 0x55, 0xbd, 0xbb, 0x7f, 0xa2, 0x59, 0x0f, 0xaf, 0xcb, 0xfa, 0x4f,
0x73, 0x97, 0xd3, 0xe8, 0xef, 0xc9, 0x43, 0xec, 0x7f, 0x12, 0xfd, 0x32, 0x7d, 0x5c, 0xdb, 0xdf, 0x58, 0xf6, 0xe7, 0x2c, 0x98, 0xeb, 0x4d, 0x13, 0x23, 0xb5, 0xd3, 0x0f, 0x07, 0xce, 0x04, 0xb2,
0x29, 0xce, 0x68, 0x65, 0xbb, 0x1f, 0xd9, 0x7e, 0xc9, 0x83, 0x13, 0x69, 0xa9, 0x1d, 0xd6, 0xf4, 0x23, 0x5d, 0x3a, 0xea, 0x02, 0xf6, 0x36, 0x17, 0x48, 0x58, 0x22, 0x77, 0xe0, 0x96, 0x30, 0x7f,
0xeb, 0x8a, 0x3a, 0x45, 0x25, 0xfe, 0xba, 0xf2, 0x22, 0x30, 0x8c, 0x94, 0xf1, 0xa0, 0x07, 0x13, 0x49, 0xea, 0x68, 0xf4, 0x91, 0xc3, 0x57, 0x83, 0xfb, 0xf2, 0xd1, 0x94, 0x74, 0x5a, 0x0b, 0xdb,
0x7b, 0x80, 0xb9, 0x0b, 0xe6, 0x12, 0xb6, 0x8b, 0xd5, 0x5a, 0xdd, 0xec, 0xfd, 0x3f, 0x0c, 0x8c, 0x73, 0x6f, 0xfe, 0xaa, 0xd5, 0xf4, 0x6b, 0x16, 0x1c, 0x1f, 0x54, 0x22, 0xc0, 0x8a, 0x9e, 0xd2,
0xb9, 0xf5, 0x0c, 0x1e, 0x94, 0x29, 0x9d, 0xf1, 0x0a, 0x51, 0x78, 0xe5, 0xaf, 0x10, 0x8f, 0x87, 0x29, 0x25, 0x95, 0xe2, 0x53, 0xba, 0x17, 0x81, 0x61, 0x0c, 0x68, 0x33, 0x3b, 0x30, 0xb1, 0x41,
0xed, 0xa5, 0x7c, 0x7f, 0x20, 0xf6, 0xfa, 0x0c, 0x9c, 0x4e, 0x3a, 0x69, 0xd8, 0x60, 0x67, 0xc3, 0xde, 0x1d, 0x30, 0x9f, 0xb0, 0x7c, 0xac, 0x66, 0xd3, 0x4d, 0xc3, 0xff, 0xc3, 0xc0, 0x98, 0xdf,
0xc0, 0x38, 0x5d, 0xcb, 0x62, 0x42, 0xd9, 0xf2, 0x59, 0x91, 0x56, 0x38, 0xa4, 0x48, 0xfb, 0x3a, 0x48, 0xa1, 0x41, 0xa9, 0xdc, 0x29, 0xd3, 0xac, 0xdc, 0x2b, 0x9f, 0x66, 0x3d, 0xea, 0xd7, 0x97,
0x0f, 0xc6, 0x65, 0x53, 0x79, 0x08, 0x4f, 0x01, 0x57, 0x13, 0x4f, 0x01, 0xe7, 0x46, 0xa4, 0x57, 0x72, 0xad, 0x03, 0xd1, 0xd7, 0x67, 0xe0, 0x54, 0xd2, 0x07, 0xfa, 0x15, 0x76, 0x26, 0x0c, 0x8c,
0xb9, 0xa3, 0xcc, 0xc1, 0xff, 0xc6, 0xc0, 0xe0, 0x7f, 0x7e, 0x47, 0xa4, 0xd1, 0x63, 0xfe, 0x7b, 0x53, 0x95, 0x34, 0x22, 0x94, 0xce, 0x9f, 0xe6, 0xc8, 0xb9, 0xc3, 0x71, 0x64, 0xf3, 0x9b, 0x2c,
0x60, 0x2a, 0x52, 0x08, 0xdf, 0x12, 0x45, 0x5e, 0x77, 0xc3, 0x39, 0xe9, 0xdb, 0x68, 0x36, 0x8c, 0x18, 0x97, 0xcd, 0xc9, 0x21, 0x8c, 0x94, 0xae, 0x24, 0x46, 0x4a, 0x67, 0x87, 0x64, 0x38, 0x79,
0xda, 0xe0, 0x88, 0xc3, 0xa4, 0xa0, 0x14, 0xd3, 0xb0, 0x37, 0x61, 0xc1, 0xed, 0xc7, 0x1f, 0xba, 0xa3, 0xd4, 0x01, 0xd2, 0xf5, 0x9e, 0x01, 0xd2, 0xb9, 0x5d, 0x91, 0x86, 0x8f, 0x8b, 0xde, 0x03,
0xa6, 0xfa, 0xdc, 0xd1, 0x8b, 0x55, 0xc4, 0x51, 0xbd, 0xf0, 0xe4, 0x79, 0x79, 0xec, 0xe9, 0xf3, 0x53, 0x91, 0x40, 0xf8, 0x96, 0x28, 0x16, 0x75, 0x57, 0x95, 0x91, 0xb6, 0x8d, 0x66, 0x0c, 0x51,
0xf2, 0xd8, 0xb3, 0xe7, 0xe5, 0xb1, 0xaf, 0xc2, 0x72, 0xee, 0x49, 0x58, 0xce, 0x3d, 0x0d, 0xcb, 0x3b, 0x15, 0x51, 0x98, 0x14, 0x14, 0x62, 0x12, 0xf6, 0xc7, 0x2c, 0xa8, 0xfd, 0xf8, 0xc0, 0x74,
0xb9, 0x67, 0x61, 0x39, 0xf7, 0x67, 0x58, 0xce, 0x7d, 0xf7, 0x57, 0x79, 0xec, 0xd3, 0x7c, 0x77, 0xaa, 0x4b, 0xdd, 0x1f, 0x13, 0xca, 0xe7, 0x1f, 0x3f, 0x2f, 0x8e, 0x3d, 0x79, 0x5e, 0x1c, 0x7b,
0xf1, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4d, 0x5f, 0x69, 0x0c, 0x4c, 0x17, 0x00, 0x00, 0xf6, 0xbc, 0x38, 0xf6, 0x75, 0x58, 0xcc, 0x3c, 0x0e, 0x8b, 0x99, 0x27, 0x61, 0x31, 0xf3, 0x2c,
======= 0x2c, 0x66, 0xfe, 0x08, 0x8b, 0x99, 0xef, 0xfe, 0x2c, 0x8e, 0x7d, 0x9a, 0x6d, 0x2f, 0xfd, 0x1d,
// 1538 bytes of a gzipped FileDescriptorProto 0x00, 0x00, 0xff, 0xff, 0x3c, 0x26, 0x41, 0xcb, 0x94, 0x19, 0x00, 0x00,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0xcf, 0x6f, 0x13, 0xc7,
0x17, 0x8f, 0x7f, 0x85, 0x64, 0x1c, 0x92, 0x7c, 0x07, 0x04, 0x21, 0x7c, 0xf1, 0x46, 0xfb, 0x45,
0x88, 0x6f, 0x5b, 0xd6, 0x4d, 0xa0, 0x88, 0x1e, 0x63, 0xb7, 0x14, 0xd4, 0x04, 0xc2, 0x24, 0x50,
0xfa, 0x43, 0x15, 0x93, 0xf5, 0xe0, 0x0c, 0xb1, 0x77, 0xad, 0xd9, 0xb1, 0x45, 0x90, 0x2a, 0xb5,
0x87, 0xde, 0x7b, 0x69, 0xd5, 0x63, 0xa5, 0x4a, 0xbd, 0xf5, 0xcc, 0x19, 0xa9, 0x07, 0x8e, 0x1c,
0x7a, 0xe0, 0xb4, 0x2a, 0xdb, 0x63, 0xff, 0x03, 0x4e, 0xd5, 0xfc, 0xd8, 0xf5, 0xae, 0xed, 0x75,
0x12, 0x13, 0x52, 0x7a, 0xf3, 0xec, 0x7b, 0xef, 0xf3, 0x9e, 0xdf, 0x7b, 0xf3, 0x7e, 0x0c, 0xa8,
0x6c, 0x5f, 0xf1, 0x2c, 0xea, 0x96, 0xb7, 0xdb, 0x9b, 0x84, 0x39, 0x84, 0x13, 0xaf, 0xdc, 0x21,
0x4e, 0xcd, 0x65, 0x65, 0x4d, 0xc0, 0x2d, 0x5a, 0xc6, 0x6d, 0xee, 0x7a, 0x36, 0x6e, 0x50, 0xa7,
0x5e, 0xee, 0x2c, 0x96, 0xeb, 0xc4, 0x21, 0x0c, 0x73, 0x52, 0xb3, 0x5a, 0xcc, 0xe5, 0x2e, 0x3c,
0xa5, 0x58, 0x2d, 0xdc, 0xa2, 0x56, 0x8c, 0xd5, 0xea, 0x2c, 0xce, 0x5f, 0xa8, 0x53, 0xbe, 0xd5,
0xde, 0xb4, 0x6c, 0xb7, 0x59, 0xae, 0xbb, 0x75, 0xb7, 0x2c, 0x25, 0x36, 0xdb, 0xf7, 0xe5, 0x49,
0x1e, 0xe4, 0x2f, 0x85, 0x34, 0x6f, 0xc6, 0x94, 0xda, 0x2e, 0x23, 0x03, 0xb4, 0xcd, 0x5f, 0xea,
0xf2, 0x34, 0xb1, 0xbd, 0x45, 0x1d, 0xc2, 0x76, 0xca, 0xad, 0xed, 0xba, 0x14, 0x62, 0xc4, 0x73,
0xdb, 0xcc, 0x26, 0xfb, 0x92, 0xf2, 0xca, 0x4d, 0xc2, 0xf1, 0x20, 0x5d, 0xe5, 0x34, 0x29, 0xd6,
0x76, 0x38, 0x6d, 0xf6, 0xab, 0xb9, 0xbc, 0x9b, 0x80, 0x67, 0x6f, 0x91, 0x26, 0xee, 0x93, 0xbb,
0x98, 0x26, 0xd7, 0xe6, 0xb4, 0x51, 0xa6, 0x0e, 0xf7, 0x38, 0xeb, 0x15, 0x32, 0xbf, 0xcf, 0x80,
0xd3, 0x55, 0xe6, 0x7a, 0xde, 0x1d, 0xc2, 0x3c, 0xea, 0x3a, 0x37, 0x37, 0x1f, 0x10, 0x9b, 0x23,
0x72, 0x9f, 0x30, 0xe2, 0xd8, 0x04, 0x2e, 0x80, 0xfc, 0x36, 0x75, 0x6a, 0x73, 0x99, 0x85, 0xcc,
0xf9, 0xc9, 0xca, 0xd4, 0x53, 0xdf, 0x18, 0x0b, 0x7c, 0x23, 0xff, 0x31, 0x75, 0x6a, 0x48, 0x52,
0x04, 0x87, 0x83, 0x9b, 0x64, 0x2e, 0x9b, 0xe4, 0xb8, 0x81, 0x9b, 0x04, 0x49, 0x0a, 0x5c, 0x02,
0x00, 0xb7, 0xa8, 0x56, 0x30, 0x97, 0x93, 0x7c, 0x50, 0xf3, 0x81, 0xe5, 0xb5, 0xeb, 0x9a, 0x82,
0x62, 0x5c, 0xe6, 0x0f, 0x39, 0x70, 0xfc, 0xc3, 0x87, 0x9c, 0x30, 0x07, 0x37, 0x56, 0x09, 0x67,
0xd4, 0x5e, 0x97, 0x41, 0x11, 0x60, 0x4d, 0x79, 0x16, 0x0a, 0xb4, 0x59, 0x11, 0xd8, 0x6a, 0x44,
0x41, 0x31, 0x2e, 0xe8, 0x82, 0x69, 0x75, 0x5a, 0x27, 0x0d, 0x62, 0x73, 0x97, 0x49, 0x63, 0x8b,
0x4b, 0x17, 0xad, 0x6e, 0xd6, 0x45, 0x2e, 0xb3, 0x5a, 0xdb, 0x75, 0xf1, 0xc1, 0xb3, 0x44, 0x44,
0xad, 0xce, 0xa2, 0xb5, 0x82, 0x37, 0x49, 0x23, 0x14, 0xad, 0xc0, 0xc0, 0x37, 0xa6, 0x57, 0x13,
0x70, 0xa8, 0x07, 0x1e, 0x62, 0x50, 0xe4, 0x98, 0xd5, 0x09, 0xbf, 0x83, 0x1b, 0x6d, 0x22, 0xff,
0x72, 0x71, 0xc9, 0x1a, 0xa6, 0xcd, 0x0a, 0xb3, 0xce, 0xba, 0xd5, 0xc6, 0x0e, 0xa7, 0x7c, 0xa7,
0x32, 0x13, 0xf8, 0x46, 0x71, 0xa3, 0x0b, 0x83, 0xe2, 0x98, 0xb0, 0x03, 0xa0, 0x3a, 0x2e, 0x77,
0x08, 0xc3, 0x75, 0xa2, 0x34, 0xe5, 0x47, 0xd2, 0x74, 0x22, 0xf0, 0x0d, 0xb8, 0xd1, 0x87, 0x86,
0x06, 0x68, 0x30, 0x7f, 0xea, 0x0f, 0x0c, 0xc7, 0xbc, 0xed, 0xfd, 0x3b, 0x02, 0xb3, 0x05, 0xa6,
0xec, 0x36, 0x63, 0xc4, 0x79, 0xa5, 0xc8, 0x1c, 0xd7, 0x7f, 0x6b, 0xaa, 0x1a, 0xc3, 0x42, 0x09,
0x64, 0xb8, 0x03, 0x8e, 0xe9, 0xf3, 0x01, 0x04, 0xe8, 0x64, 0xe0, 0x1b, 0xc7, 0xaa, 0xfd, 0x70,
0x68, 0x90, 0x0e, 0xf3, 0x71, 0x16, 0x9c, 0xbc, 0xe6, 0x32, 0xfa, 0xc8, 0x75, 0x38, 0x6e, 0xac,
0xb9, 0xb5, 0x65, 0x5d, 0x50, 0x09, 0x83, 0xf7, 0xc0, 0x84, 0xf0, 0x5e, 0x0d, 0x73, 0x2c, 0x63,
0x54, 0x5c, 0x7a, 0x77, 0x6f, 0xbe, 0x56, 0x85, 0x61, 0x95, 0x70, 0xdc, 0x8d, 0x6a, 0xf7, 0x1b,
0x8a, 0x50, 0xe1, 0x5d, 0x90, 0xf7, 0x5a, 0xc4, 0xd6, 0x91, 0xbc, 0x6c, 0xa5, 0x16, 0x76, 0x2b,
0xc5, 0xc6, 0xf5, 0x16, 0xb1, 0xbb, 0x75, 0x44, 0x9c, 0x90, 0x44, 0x84, 0xf7, 0xc0, 0xb8, 0x27,
0x73, 0x4d, 0x87, 0xed, 0xca, 0x08, 0xd8, 0x52, 0xbe, 0x32, 0xad, 0xd1, 0xc7, 0xd5, 0x19, 0x69,
0x5c, 0xf3, 0xdb, 0x1c, 0x58, 0x48, 0x91, 0xac, 0xba, 0x4e, 0x8d, 0x72, 0xea, 0x3a, 0xf0, 0x1a,
0xc8, 0xf3, 0x9d, 0x56, 0x98, 0xe2, 0x97, 0x42, 0x43, 0x37, 0x76, 0x5a, 0xe4, 0xa5, 0x6f, 0x9c,
0xdd, 0x4d, 0x5e, 0xf0, 0x21, 0x89, 0x00, 0x57, 0xa2, 0x3f, 0x94, 0x4d, 0x60, 0x69, 0xb3, 0x5e,
0xfa, 0xc6, 0x80, 0x66, 0x66, 0x45, 0x48, 0x49, 0xe3, 0x45, 0x45, 0x68, 0x60, 0x8f, 0x6f, 0x30,
0xec, 0x78, 0x4a, 0x13, 0x6d, 0x86, 0x19, 0xfe, 0xd6, 0xde, 0x82, 0x2c, 0x24, 0x2a, 0xf3, 0xda,
0x0a, 0xb8, 0xd2, 0x87, 0x86, 0x06, 0x68, 0x80, 0xe7, 0xc0, 0x38, 0x23, 0xd8, 0x73, 0x1d, 0x99,
0xdc, 0x93, 0x5d, 0xe7, 0x22, 0xf9, 0x15, 0x69, 0x2a, 0xfc, 0x3f, 0x38, 0xd2, 0x24, 0x9e, 0x87,
0xeb, 0x64, 0xae, 0x20, 0x19, 0x67, 0x34, 0xe3, 0x91, 0x55, 0xf5, 0x19, 0x85, 0x74, 0xf3, 0xf7,
0x0c, 0x38, 0x9d, 0xe2, 0xc7, 0x15, 0xea, 0x71, 0xf8, 0x45, 0x5f, 0x16, 0x5b, 0x7b, 0xac, 0x18,
0xd4, 0x53, 0x39, 0x3c, 0xab, 0x75, 0x4f, 0x84, 0x5f, 0x62, 0x19, 0xfc, 0x09, 0x28, 0x50, 0x4e,
0x9a, 0x22, 0x2a, 0xb9, 0xf3, 0xc5, 0xa5, 0xa5, 0xfd, 0xa7, 0x59, 0xe5, 0xa8, 0x86, 0x2f, 0x5c,
0x17, 0x40, 0x48, 0xe1, 0x99, 0x7f, 0x65, 0x53, 0xff, 0x96, 0x48, 0x73, 0xd8, 0x01, 0xd3, 0xf2,
0xa4, 0x4a, 0x31, 0x22, 0xf7, 0xf5, 0x9f, 0x1b, 0x76, 0x89, 0x86, 0x34, 0xef, 0xca, 0x09, 0x6d,
0xc5, 0xf4, 0x7a, 0x02, 0x15, 0xf5, 0x68, 0x81, 0x8b, 0xa0, 0xd8, 0xa4, 0x0e, 0x22, 0xad, 0x06,
0xb5, 0xb1, 0x4a, 0xc6, 0x82, 0x6a, 0x3f, 0xab, 0xdd, 0xcf, 0x28, 0xce, 0x03, 0xdf, 0x03, 0xc5,
0x26, 0x7e, 0x18, 0x89, 0xe4, 0xa4, 0xc8, 0x31, 0xad, 0xaf, 0xb8, 0xda, 0x25, 0xa1, 0x38, 0x1f,
0x7c, 0x00, 0x4a, 0xaa, 0xa7, 0x54, 0xd7, 0x6e, 0xdf, 0xe6, 0xb4, 0x41, 0x1f, 0x61, 0x91, 0x47,
0x6b, 0x84, 0xd9, 0xc4, 0xe1, 0x22, 0x35, 0xf2, 0x12, 0xc9, 0x0c, 0x7c, 0xa3, 0xb4, 0x31, 0x94,
0x13, 0xed, 0x82, 0x64, 0x3e, 0xc9, 0x81, 0x33, 0x43, 0xcb, 0x00, 0xbc, 0x0a, 0xa0, 0xbb, 0xe9,
0x11, 0xd6, 0x21, 0xb5, 0x8f, 0xd4, 0x5c, 0x24, 0x06, 0x14, 0xe1, 0xf3, 0x9c, 0xea, 0x89, 0x37,
0xfb, 0xa8, 0x68, 0x80, 0x04, 0xb4, 0xc1, 0x51, 0x71, 0x2f, 0x94, 0x97, 0xa9, 0x9e, 0x85, 0xf6,
0x77, 0xe9, 0xfe, 0x13, 0xf8, 0xc6, 0xd1, 0x95, 0x38, 0x08, 0x4a, 0x62, 0xc2, 0x65, 0x30, 0xa3,
0x8b, 0x7d, 0x8f, 0xd7, 0x4f, 0x6a, 0xaf, 0xcf, 0x54, 0x93, 0x64, 0xd4, 0xcb, 0x2f, 0x20, 0x6a,
0xc4, 0xa3, 0x8c, 0xd4, 0x22, 0x88, 0x7c, 0x12, 0xe2, 0x83, 0x24, 0x19, 0xf5, 0xf2, 0xc3, 0x26,
0x30, 0x34, 0x6a, 0x6a, 0x04, 0x0b, 0x12, 0xf2, 0x7f, 0x81, 0x6f, 0x18, 0xd5, 0xe1, 0xac, 0x68,
0x37, 0x2c, 0x31, 0x06, 0xea, 0xd9, 0x41, 0x5e, 0x90, 0x4b, 0x89, 0xd2, 0xbb, 0xd0, 0x53, 0x7a,
0x67, 0xe3, 0x83, 0x62, 0xac, 0xcc, 0xde, 0x02, 0xe3, 0xae, 0xbc, 0x19, 0x3a, 0x2e, 0x17, 0x86,
0x5c, 0xa7, 0xa8, 0xa5, 0x45, 0x40, 0x15, 0x20, 0x6a, 0x99, 0xbe, 0x5a, 0x1a, 0x08, 0x5e, 0x07,
0xf9, 0x96, 0x5b, 0x0b, 0x1b, 0xd1, 0xdb, 0x43, 0x00, 0xd7, 0xdc, 0x9a, 0x97, 0x80, 0x9b, 0x10,
0x16, 0x8b, 0xaf, 0x48, 0x42, 0xc0, 0x4f, 0xc1, 0x44, 0xd8, 0xf0, 0xf5, 0x74, 0x50, 0x1e, 0x02,
0x87, 0x34, 0x6b, 0x02, 0x72, 0x4a, 0x14, 0xb2, 0x90, 0x82, 0x22, 0x38, 0x01, 0x4d, 0xf4, 0xa8,
0x26, 0xa3, 0x32, 0x1c, 0x7a, 0xd0, 0xb8, 0xad, 0xa0, 0x43, 0x0a, 0x8a, 0xe0, 0xcc, 0x1f, 0x73,
0x60, 0x2a, 0x31, 0xfe, 0x1d, 0x72, 0x68, 0x54, 0x1f, 0x3f, 0xb0, 0xd0, 0x28, 0xb8, 0x03, 0x0d,
0x8d, 0x82, 0x7c, 0x2d, 0xa1, 0x89, 0x41, 0x0f, 0x08, 0xcd, 0xcf, 0x39, 0x00, 0xfb, 0xd3, 0x18,
0x7e, 0x09, 0xc6, 0x55, 0xc1, 0x7c, 0xc5, 0xa6, 0x12, 0xb5, 0x77, 0xdd, 0x3f, 0x34, 0x6a, 0xcf,
0xfc, 0x9f, 0xdd, 0xd3, 0xfc, 0x4f, 0x0e, 0x62, 0x4f, 0x8a, 0xba, 0x4e, 0xea, 0xae, 0xf4, 0x0e,
0x98, 0xf0, 0xc2, 0x05, 0x43, 0xcd, 0x28, 0x51, 0xfb, 0x8f, 0x36, 0x85, 0x88, 0x03, 0xd6, 0xc0,
0x14, 0x8e, 0x8f, 0xec, 0x85, 0x91, 0xac, 0x9a, 0x15, 0xfb, 0x41, 0x62, 0x56, 0x4f, 0xa0, 0x9a,
0xbf, 0xf4, 0x46, 0x49, 0x5d, 0xa3, 0x37, 0x31, 0x4a, 0x87, 0xb7, 0x34, 0xbd, 0x89, 0x81, 0x7a,
0x92, 0x05, 0xb3, 0xbd, 0x45, 0x7c, 0xa4, 0x65, 0xf7, 0xd1, 0xc0, 0x8d, 0x3d, 0x3b, 0x92, 0xd1,
0xd1, 0x8c, 0xbe, 0xb7, 0xad, 0x3d, 0xe1, 0xd8, 0xdc, 0xae, 0x8e, 0xbd, 0x09, 0x0a, 0x9d, 0x57,
0xd8, 0x56, 0x27, 0xc5, 0xe0, 0xab, 0x6c, 0x51, 0x38, 0xe6, 0x6f, 0x49, 0x1f, 0x8e, 0xfe, 0x60,
0xf0, 0xd5, 0xe0, 0xad, 0x7a, 0x34, 0x27, 0x9e, 0xd6, 0xca, 0xf6, 0xbc, 0x59, 0xff, 0xd3, 0x6e,
0xfc, 0x35, 0x0b, 0x8e, 0x0f, 0x1a, 0x00, 0x60, 0x55, 0xbf, 0xc1, 0x29, 0x27, 0x96, 0xe3, 0x6f,
0x70, 0x2f, 0x7d, 0xc3, 0x18, 0xb0, 0x44, 0x86, 0x30, 0xb1, 0x67, 0xba, 0xbb, 0x60, 0x2e, 0x91,
0x39, 0xb1, 0x89, 0x4c, 0xaf, 0x04, 0xff, 0x0d, 0x7c, 0x63, 0x6e, 0x23, 0x85, 0x07, 0xa5, 0x4a,
0xa7, 0xbc, 0x55, 0xe5, 0x5e, 0xfb, 0x5b, 0xd5, 0xe3, 0x7e, 0x7f, 0xa9, 0xd4, 0x3b, 0x10, 0x7f,
0x7d, 0x0e, 0x4e, 0x25, 0x73, 0xa4, 0xdf, 0x61, 0x67, 0x02, 0xdf, 0x38, 0x55, 0x4d, 0x63, 0x42,
0xe9, 0xf2, 0x69, 0x89, 0x9e, 0x3b, 0x9c, 0x44, 0x37, 0xbf, 0xc9, 0x82, 0x82, 0x5c, 0x3d, 0x0e,
0xe1, 0xc1, 0xe8, 0x6a, 0xe2, 0xc1, 0xe8, 0xec, 0x90, 0x86, 0x27, 0x2d, 0x4a, 0x7d, 0x1e, 0xba,
0xd1, 0xf3, 0x3c, 0x74, 0x6e, 0x57, 0xa4, 0xe1, 0x8f, 0x41, 0xef, 0x83, 0xc9, 0x48, 0xa1, 0xb8,
0xf9, 0x2c, 0xdc, 0x99, 0x32, 0x32, 0xb6, 0xd1, 0xcd, 0x8f, 0x96, 0xa5, 0x88, 0xc3, 0xa4, 0xa0,
0x18, 0xd3, 0xb0, 0x3f, 0xe1, 0x44, 0x91, 0xc9, 0xee, 0x56, 0x64, 0x2a, 0xe7, 0x9f, 0xbe, 0x28,
0x8d, 0x3d, 0x7b, 0x51, 0x1a, 0x7b, 0xfe, 0xa2, 0x34, 0xf6, 0x75, 0x50, 0xca, 0x3c, 0x0d, 0x4a,
0x99, 0x67, 0x41, 0x29, 0xf3, 0x3c, 0x28, 0x65, 0xfe, 0x08, 0x4a, 0x99, 0xef, 0xfe, 0x2c, 0x8d,
0x7d, 0x96, 0xed, 0x2c, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x85, 0x3c, 0x66, 0x84, 0xa7, 0x19,
0x00, 0x00,
>>>>>>> Update autoscaling conversion and validation for v2beta2 inclusion
} }

View File

@ -258,10 +258,11 @@ message ObjectMetricSource {
// targetValue is the target value of the metric (as a quantity). // targetValue is the target value of the metric (as a quantity).
optional k8s.io.apimachinery.pkg.api.resource.Quantity targetValue = 3; optional k8s.io.apimachinery.pkg.api.resource.Quantity targetValue = 3;
// selector is the selector for the given metric // selector is the string-encoded form of a standard kubernetes label selector for the given metric.
// it is the string-encoded form of a standard kubernetes label selector // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping
// When unset, just the metricName will be used to gather metrics.
// +optional // +optional
optional string selector = 4; optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4;
// averageValue is the target value of the average of the // averageValue is the target value of the average of the
// metric across all relevant pods (as a quantity) // metric across all relevant pods (as a quantity)
@ -281,10 +282,11 @@ message ObjectMetricStatus {
// currentValue is the current value of the metric (as a quantity). // currentValue is the current value of the metric (as a quantity).
optional k8s.io.apimachinery.pkg.api.resource.Quantity currentValue = 3; optional k8s.io.apimachinery.pkg.api.resource.Quantity currentValue = 3;
// selector is the selector for the given metric // selector is the string-encoded form of a standard kubernetes label selector for the given metric
// it is the string-encoded form of a standard kubernetes label selector // When set in the ObjectMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping.
// When unset, just the metricName will be used to gather metrics.
// +optional // +optional
optional string selector = 4; optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4;
// averageValue is the current value of the average of the // averageValue is the current value of the average of the
// metric across all relevant pods (as a quantity) // metric across all relevant pods (as a quantity)
@ -304,14 +306,11 @@ message PodsMetricSource {
// metric across all relevant pods (as a quantity) // metric across all relevant pods (as a quantity)
optional k8s.io.apimachinery.pkg.api.resource.Quantity targetAverageValue = 2; optional k8s.io.apimachinery.pkg.api.resource.Quantity targetAverageValue = 2;
// selector is the selector for the given metric // selector is the string-encoded form of a standard kubernetes label selector for the given metric
// it is the string-encoded form of a standard kubernetes label selector // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping
// When unset, just the metricName will be used to gather metrics.
// +optional // +optional
optional string selector = 3; optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3;
// value is the target value of the metric (as a quantity).
// +optional
optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 4;
} }
// PodsMetricStatus indicates the current value of a metric describing each pod in // PodsMetricStatus indicates the current value of a metric describing each pod in
@ -324,14 +323,11 @@ message PodsMetricStatus {
// metric across all relevant pods (as a quantity) // metric across all relevant pods (as a quantity)
optional k8s.io.apimachinery.pkg.api.resource.Quantity currentAverageValue = 2; optional k8s.io.apimachinery.pkg.api.resource.Quantity currentAverageValue = 2;
// selector is the selector for the given metric // selector is the string-encoded form of a standard kubernetes label selector for the given metric
// it is the string-encoded form of a standard kubernetes label selector // When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping.
// When unset, just the metricName will be used to gather metrics.
// +optional // +optional
optional string selector = 3; optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3;
// value is the current value of the metric (as a quantity)
// +optional
optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 4;
} }
// ResourceMetricSource indicates how to scale on a resource metric known to // ResourceMetricSource indicates how to scale on a resource metric known to

View File

@ -152,7 +152,7 @@ var map_ObjectMetricSource = map[string]string{
"target": "target is the described Kubernetes object.", "target": "target is the described Kubernetes object.",
"metricName": "metricName is the name of the metric in question.", "metricName": "metricName is the name of the metric in question.",
"targetValue": "targetValue is the target value of the metric (as a quantity).", "targetValue": "targetValue is the target value of the metric (as a quantity).",
"selector": "selector is the selector for the given metric it is the string-encoded form of a standard kubernetes label selector", "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric. When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping When unset, just the metricName will be used to gather metrics.",
"averageValue": "averageValue is the target value of the average of the metric across all relevant pods (as a quantity)", "averageValue": "averageValue is the target value of the average of the metric across all relevant pods (as a quantity)",
} }
@ -165,7 +165,7 @@ var map_ObjectMetricStatus = map[string]string{
"target": "target is the described Kubernetes object.", "target": "target is the described Kubernetes object.",
"metricName": "metricName is the name of the metric in question.", "metricName": "metricName is the name of the metric in question.",
"currentValue": "currentValue is the current value of the metric (as a quantity).", "currentValue": "currentValue is the current value of the metric (as a quantity).",
"selector": "selector is the selector for the given metric it is the string-encoded form of a standard kubernetes label selector", "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the ObjectMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.",
"averageValue": "averageValue is the current value of the average of the metric across all relevant pods (as a quantity)", "averageValue": "averageValue is the current value of the average of the metric across all relevant pods (as a quantity)",
} }
@ -177,8 +177,7 @@ var map_PodsMetricSource = map[string]string{
"": "PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.", "": "PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
"metricName": "metricName is the name of the metric in question", "metricName": "metricName is the name of the metric in question",
"targetAverageValue": "targetAverageValue is the target value of the average of the metric across all relevant pods (as a quantity)", "targetAverageValue": "targetAverageValue is the target value of the average of the metric across all relevant pods (as a quantity)",
"selector": "selector is the selector for the given metric it is the string-encoded form of a standard kubernetes label selector", "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping When unset, just the metricName will be used to gather metrics.",
"value": "value is the target value of the metric (as a quantity).",
} }
func (PodsMetricSource) SwaggerDoc() map[string]string { func (PodsMetricSource) SwaggerDoc() map[string]string {
@ -189,8 +188,7 @@ var map_PodsMetricStatus = map[string]string{
"": "PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second).", "": "PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second).",
"metricName": "metricName is the name of the metric in question", "metricName": "metricName is the name of the metric in question",
"currentAverageValue": "currentAverageValue is the current value of the average of the metric across all relevant pods (as a quantity)", "currentAverageValue": "currentAverageValue is the current value of the average of the metric across all relevant pods (as a quantity)",
"selector": "selector is the selector for the given metric it is the string-encoded form of a standard kubernetes label selector", "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.",
"value": "value is the current value of the metric (as a quantity)",
} }
func (PodsMetricStatus) SwaggerDoc() map[string]string { func (PodsMetricStatus) SwaggerDoc() map[string]string {

View File

@ -311,6 +311,11 @@ func (in *ObjectMetricSource) DeepCopyInto(out *ObjectMetricSource) {
*out = *in *out = *in
out.Target = in.Target out.Target = in.Target
out.TargetValue = in.TargetValue.DeepCopy() out.TargetValue = in.TargetValue.DeepCopy()
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(metav1.LabelSelector)
(*in).DeepCopyInto(*out)
}
if in.AverageValue != nil { if in.AverageValue != nil {
in, out := &in.AverageValue, &out.AverageValue in, out := &in.AverageValue, &out.AverageValue
x := (*in).DeepCopy() x := (*in).DeepCopy()
@ -334,6 +339,11 @@ func (in *ObjectMetricStatus) DeepCopyInto(out *ObjectMetricStatus) {
*out = *in *out = *in
out.Target = in.Target out.Target = in.Target
out.CurrentValue = in.CurrentValue.DeepCopy() out.CurrentValue = in.CurrentValue.DeepCopy()
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(metav1.LabelSelector)
(*in).DeepCopyInto(*out)
}
if in.AverageValue != nil { if in.AverageValue != nil {
in, out := &in.AverageValue, &out.AverageValue in, out := &in.AverageValue, &out.AverageValue
x := (*in).DeepCopy() x := (*in).DeepCopy()
@ -356,10 +366,10 @@ func (in *ObjectMetricStatus) DeepCopy() *ObjectMetricStatus {
func (in *PodsMetricSource) DeepCopyInto(out *PodsMetricSource) { func (in *PodsMetricSource) DeepCopyInto(out *PodsMetricSource) {
*out = *in *out = *in
out.TargetAverageValue = in.TargetAverageValue.DeepCopy() out.TargetAverageValue = in.TargetAverageValue.DeepCopy()
if in.Value != nil { if in.Selector != nil {
in, out := &in.Value, &out.Value in, out := &in.Selector, &out.Selector
x := (*in).DeepCopy() *out = new(metav1.LabelSelector)
*out = &x (*in).DeepCopyInto(*out)
} }
return return
} }
@ -378,10 +388,10 @@ func (in *PodsMetricSource) DeepCopy() *PodsMetricSource {
func (in *PodsMetricStatus) DeepCopyInto(out *PodsMetricStatus) { func (in *PodsMetricStatus) DeepCopyInto(out *PodsMetricStatus) {
*out = *in *out = *in
out.CurrentAverageValue = in.CurrentAverageValue.DeepCopy() out.CurrentAverageValue = in.CurrentAverageValue.DeepCopy()
if in.Value != nil { if in.Selector != nil {
in, out := &in.Value, &out.Value in, out := &in.Selector, &out.Selector
x := (*in).DeepCopy() *out = new(metav1.LabelSelector)
*out = &x (*in).DeepCopyInto(*out)
} }
return return
} }

View File

@ -683,20 +683,26 @@ func (m *ObjectMetricSource) MarshalTo(dAtA []byte) (int, error) {
return 0, err return 0, err
} }
i += n23 i += n23
if m.Selector != nil {
dAtA[i] = 0x22 dAtA[i] = 0x22
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Selector))) i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
i += copy(dAtA[i:], m.Selector) n24, err := m.Selector.MarshalTo(dAtA[i:])
if m.AverageValue != nil {
dAtA[i] = 0x2a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.AverageValue.Size()))
n24, err := m.AverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n24 i += n24
} }
if m.AverageValue != nil {
dAtA[i] = 0x2a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.AverageValue.Size()))
n25, err := m.AverageValue.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n25
}
return i, nil return i, nil
} }
@ -718,11 +724,11 @@ func (m *ObjectMetricStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size()))
n25, err := m.Target.MarshalTo(dAtA[i:]) n26, err := m.Target.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n25 i += n26
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName))) i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName)))
@ -730,24 +736,30 @@ func (m *ObjectMetricStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x1a dAtA[i] = 0x1a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentValue.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentValue.Size()))
n26, err := m.CurrentValue.MarshalTo(dAtA[i:]) n27, err := m.CurrentValue.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n26
dAtA[i] = 0x22
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Selector)))
i += copy(dAtA[i:], m.Selector)
if m.AverageValue != nil {
dAtA[i] = 0x2a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.AverageValue.Size()))
n27, err := m.AverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n27 i += n27
if m.Selector != nil {
dAtA[i] = 0x22
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
n28, err := m.Selector.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n28
}
if m.AverageValue != nil {
dAtA[i] = 0x2a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.AverageValue.Size()))
n29, err := m.AverageValue.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n29
} }
return i, nil return i, nil
} }
@ -774,24 +786,20 @@ func (m *PodsMetricSource) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size()))
n28, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) n30, err := m.TargetAverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n28 i += n30
if m.Selector != nil {
dAtA[i] = 0x1a dAtA[i] = 0x1a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Selector))) i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
i += copy(dAtA[i:], m.Selector) n31, err := m.Selector.MarshalTo(dAtA[i:])
if m.Value != nil {
dAtA[i] = 0x22
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Value.Size()))
n29, err := m.Value.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n29 i += n31
} }
return i, nil return i, nil
} }
@ -818,24 +826,20 @@ func (m *PodsMetricStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size()))
n30, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) n32, err := m.CurrentAverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n30 i += n32
if m.Selector != nil {
dAtA[i] = 0x1a dAtA[i] = 0x1a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Selector))) i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
i += copy(dAtA[i:], m.Selector) n33, err := m.Selector.MarshalTo(dAtA[i:])
if m.Value != nil {
dAtA[i] = 0x22
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Value.Size()))
n31, err := m.Value.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n31 i += n33
} }
return i, nil return i, nil
} }
@ -868,11 +872,11 @@ func (m *ResourceMetricSource) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x1a dAtA[i] = 0x1a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size()))
n32, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) n34, err := m.TargetAverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n32 i += n34
} }
return i, nil return i, nil
} }
@ -904,11 +908,11 @@ func (m *ResourceMetricStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x1a dAtA[i] = 0x1a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size()))
n33, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) n35, err := m.CurrentAverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n33 i += n35
return i, nil return i, nil
} }
@ -1133,8 +1137,10 @@ func (m *ObjectMetricSource) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = m.TargetValue.Size() l = m.TargetValue.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = len(m.Selector) if m.Selector != nil {
l = m.Selector.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
}
if m.AverageValue != nil { if m.AverageValue != nil {
l = m.AverageValue.Size() l = m.AverageValue.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
@ -1151,8 +1157,10 @@ func (m *ObjectMetricStatus) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = m.CurrentValue.Size() l = m.CurrentValue.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = len(m.Selector) if m.Selector != nil {
l = m.Selector.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
}
if m.AverageValue != nil { if m.AverageValue != nil {
l = m.AverageValue.Size() l = m.AverageValue.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
@ -1167,10 +1175,8 @@ func (m *PodsMetricSource) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = m.TargetAverageValue.Size() l = m.TargetAverageValue.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = len(m.Selector) if m.Selector != nil {
n += 1 + l + sovGenerated(uint64(l)) l = m.Selector.Size()
if m.Value != nil {
l = m.Value.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
} }
return n return n
@ -1183,10 +1189,8 @@ func (m *PodsMetricStatus) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = m.CurrentAverageValue.Size() l = m.CurrentAverageValue.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = len(m.Selector) if m.Selector != nil {
n += 1 + l + sovGenerated(uint64(l)) l = m.Selector.Size()
if m.Value != nil {
l = m.Value.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
} }
return n return n
@ -1372,7 +1376,7 @@ func (this *ObjectMetricSource) String() string {
`Target:` + strings.Replace(strings.Replace(this.Target.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`, `Target:` + strings.Replace(strings.Replace(this.Target.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
`MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`, `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
`TargetValue:` + strings.Replace(strings.Replace(this.TargetValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, `TargetValue:` + strings.Replace(strings.Replace(this.TargetValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
`Selector:` + fmt.Sprintf("%v", this.Selector) + `,`, `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`,
`AverageValue:` + strings.Replace(fmt.Sprintf("%v", this.AverageValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`, `AverageValue:` + strings.Replace(fmt.Sprintf("%v", this.AverageValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`,
`}`, `}`,
}, "") }, "")
@ -1386,7 +1390,7 @@ func (this *ObjectMetricStatus) String() string {
`Target:` + strings.Replace(strings.Replace(this.Target.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`, `Target:` + strings.Replace(strings.Replace(this.Target.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
`MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`, `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
`CurrentValue:` + strings.Replace(strings.Replace(this.CurrentValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, `CurrentValue:` + strings.Replace(strings.Replace(this.CurrentValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
`Selector:` + fmt.Sprintf("%v", this.Selector) + `,`, `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`,
`AverageValue:` + strings.Replace(fmt.Sprintf("%v", this.AverageValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`, `AverageValue:` + strings.Replace(fmt.Sprintf("%v", this.AverageValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`,
`}`, `}`,
}, "") }, "")
@ -1399,8 +1403,7 @@ func (this *PodsMetricSource) String() string {
s := strings.Join([]string{`&PodsMetricSource{`, s := strings.Join([]string{`&PodsMetricSource{`,
`MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`, `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
`TargetAverageValue:` + strings.Replace(strings.Replace(this.TargetAverageValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, `TargetAverageValue:` + strings.Replace(strings.Replace(this.TargetAverageValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
`Selector:` + fmt.Sprintf("%v", this.Selector) + `,`, `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`,
`Value:` + strings.Replace(fmt.Sprintf("%v", this.Value), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s
@ -1412,8 +1415,7 @@ func (this *PodsMetricStatus) String() string {
s := strings.Join([]string{`&PodsMetricStatus{`, s := strings.Join([]string{`&PodsMetricStatus{`,
`MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`, `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`,
`CurrentAverageValue:` + strings.Replace(strings.Replace(this.CurrentAverageValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, `CurrentAverageValue:` + strings.Replace(strings.Replace(this.CurrentAverageValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
`Selector:` + fmt.Sprintf("%v", this.Selector) + `,`, `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`,
`Value:` + strings.Replace(fmt.Sprintf("%v", this.Value), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s
@ -3284,7 +3286,7 @@ func (m *ObjectMetricSource) Unmarshal(dAtA []byte) error {
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType) return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
} }
var stringLen uint64 var msglen int
for shift := uint(0); ; shift += 7 { for shift := uint(0); ; shift += 7 {
if shift >= 64 { if shift >= 64 {
return ErrIntOverflowGenerated return ErrIntOverflowGenerated
@ -3294,20 +3296,24 @@ func (m *ObjectMetricSource) Unmarshal(dAtA []byte) error {
} }
b := dAtA[iNdEx] b := dAtA[iNdEx]
iNdEx++ iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift msglen |= (int(b) & 0x7F) << shift
if b < 0x80 { if b < 0x80 {
break break
} }
} }
intStringLen := int(stringLen) if msglen < 0 {
if intStringLen < 0 {
return ErrInvalidLengthGenerated return ErrInvalidLengthGenerated
} }
postIndex := iNdEx + intStringLen postIndex := iNdEx + msglen
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
m.Selector = string(dAtA[iNdEx:postIndex]) if m.Selector == nil {
m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{}
}
if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex iNdEx = postIndex
case 5: case 5:
if wireType != 2 { if wireType != 2 {
@ -3485,7 +3491,7 @@ func (m *ObjectMetricStatus) Unmarshal(dAtA []byte) error {
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType) return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
} }
var stringLen uint64 var msglen int
for shift := uint(0); ; shift += 7 { for shift := uint(0); ; shift += 7 {
if shift >= 64 { if shift >= 64 {
return ErrIntOverflowGenerated return ErrIntOverflowGenerated
@ -3495,20 +3501,24 @@ func (m *ObjectMetricStatus) Unmarshal(dAtA []byte) error {
} }
b := dAtA[iNdEx] b := dAtA[iNdEx]
iNdEx++ iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift msglen |= (int(b) & 0x7F) << shift
if b < 0x80 { if b < 0x80 {
break break
} }
} }
intStringLen := int(stringLen) if msglen < 0 {
if intStringLen < 0 {
return ErrInvalidLengthGenerated return ErrInvalidLengthGenerated
} }
postIndex := iNdEx + intStringLen postIndex := iNdEx + msglen
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
m.Selector = string(dAtA[iNdEx:postIndex]) if m.Selector == nil {
m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{}
}
if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex iNdEx = postIndex
case 5: case 5:
if wireType != 2 { if wireType != 2 {
@ -3656,35 +3666,6 @@ func (m *PodsMetricSource) Unmarshal(dAtA []byte) error {
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType) return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
} }
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Selector = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
}
var msglen int var msglen int
for shift := uint(0); ; shift += 7 { for shift := uint(0); ; shift += 7 {
if shift >= 64 { if shift >= 64 {
@ -3707,10 +3688,10 @@ func (m *PodsMetricSource) Unmarshal(dAtA []byte) error {
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
if m.Value == nil { if m.Selector == nil {
m.Value = &k8s_io_apimachinery_pkg_api_resource.Quantity{} m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{}
} }
if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err return err
} }
iNdEx = postIndex iNdEx = postIndex
@ -3827,35 +3808,6 @@ func (m *PodsMetricStatus) Unmarshal(dAtA []byte) error {
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType) return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
} }
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Selector = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
}
var msglen int var msglen int
for shift := uint(0); ; shift += 7 { for shift := uint(0); ; shift += 7 {
if shift >= 64 { if shift >= 64 {
@ -3878,10 +3830,10 @@ func (m *PodsMetricStatus) Unmarshal(dAtA []byte) error {
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
if m.Value == nil { if m.Selector == nil {
m.Value = &k8s_io_apimachinery_pkg_api_resource.Quantity{} m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{}
} }
if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err return err
} }
iNdEx = postIndex iNdEx = postIndex
@ -4277,193 +4229,98 @@ func init() {
} }
var fileDescriptorGenerated = []byte{ var fileDescriptorGenerated = []byte{
<<<<<<< HEAD // 1475 bytes of a gzipped FileDescriptorProto
// 1426 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0xcb, 0x8f, 0x1b, 0x45,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0xcb, 0x8f, 0x1b, 0x45, 0x13, 0x5f, 0x3f, 0x76, 0xb3, 0x69, 0x6f, 0x76, 0xf7, 0xeb, 0x44, 0x89, 0xb3, 0xf9, 0x62, 0xaf,
0x13, 0x5f, 0x3f, 0x76, 0xb3, 0x69, 0x6f, 0x76, 0xf3, 0x75, 0xa2, 0xc4, 0xd9, 0x7c, 0xf1, 0xac, 0x2c, 0x84, 0x42, 0x44, 0x66, 0x12, 0xb3, 0x3c, 0x24, 0x84, 0xc4, 0xda, 0x40, 0x12, 0xb1, 0x4e,
0x46, 0x08, 0x85, 0x88, 0xcc, 0x24, 0x66, 0x79, 0x48, 0x08, 0x89, 0xb5, 0x81, 0x24, 0x62, 0x9d, 0x42, 0xef, 0x26, 0x42, 0x90, 0x20, 0xda, 0x33, 0x1d, 0x6f, 0xb3, 0x9e, 0x19, 0x6b, 0xba, 0x6d,
0x84, 0xde, 0x4d, 0x84, 0x20, 0x20, 0xda, 0xe3, 0x8e, 0xb7, 0x59, 0xcf, 0x8c, 0x35, 0xdd, 0xb6, 0x65, 0x83, 0x90, 0xb8, 0x70, 0xe7, 0x02, 0x67, 0x90, 0x38, 0x21, 0xb8, 0xc2, 0x99, 0x5b, 0x8e,
0xb2, 0x41, 0x48, 0x5c, 0xb8, 0x73, 0xe0, 0x71, 0xe5, 0x8c, 0xe0, 0x0a, 0x67, 0x90, 0x90, 0x72, 0x39, 0x26, 0x02, 0x59, 0x64, 0xf8, 0x2f, 0x72, 0x42, 0xfd, 0x98, 0xf1, 0x8c, 0x1f, 0x6b, 0xc7,
0xcc, 0x31, 0x08, 0xc9, 0x22, 0xc3, 0x7f, 0x91, 0x13, 0xea, 0xc7, 0x8c, 0x67, 0xfc, 0x58, 0x3b, 0x38, 0xe1, 0x71, 0x9b, 0xee, 0xaa, 0xfa, 0x55, 0x4f, 0xfd, 0xaa, 0xab, 0xbb, 0x1a, 0x5c, 0xdc,
0x66, 0x13, 0xe0, 0x36, 0xdd, 0x55, 0xf5, 0xab, 0xea, 0xaa, 0xea, 0xea, 0xaa, 0x01, 0x97, 0x76, 0x7b, 0x8d, 0x19, 0xd4, 0x33, 0xf7, 0xda, 0x75, 0xe2, 0xbb, 0x84, 0x13, 0x66, 0x76, 0x88, 0x6b,
0x5f, 0x61, 0x16, 0xf5, 0xed, 0xdd, 0x4e, 0x9d, 0x04, 0x1e, 0xe1, 0x84, 0xd9, 0x5d, 0xe2, 0x35, 0x7b, 0xbe, 0xa9, 0x05, 0xb8, 0x45, 0x4d, 0xdc, 0xe6, 0x1e, 0xb3, 0x70, 0x93, 0xba, 0x0d, 0xb3,
0xfc, 0xc0, 0xd6, 0x04, 0xdc, 0xa6, 0x36, 0xee, 0x70, 0x9f, 0x39, 0xb8, 0x45, 0xbd, 0xa6, 0xdd, 0x53, 0xae, 0x13, 0x8e, 0x2f, 0x98, 0x0d, 0xe2, 0x12, 0x1f, 0x73, 0x62, 0x1b, 0x2d, 0xdf, 0xe3,
0x2d, 0xd7, 0x09, 0xc7, 0x17, 0xed, 0x26, 0xf1, 0x48, 0x80, 0x39, 0x69, 0x58, 0xed, 0xc0, 0xe7, 0x1e, 0x2c, 0x28, 0x7d, 0x03, 0xb7, 0xa8, 0x11, 0xd3, 0x37, 0xb4, 0xfe, 0xda, 0xb9, 0x06, 0xe5,
0x3e, 0x2c, 0x29, 0x7e, 0x0b, 0xb7, 0xa9, 0x95, 0xe0, 0xb7, 0x34, 0xff, 0xea, 0xf9, 0x26, 0xe5, 0xbb, 0xed, 0xba, 0x61, 0x79, 0x8e, 0xd9, 0xf0, 0x1a, 0x9e, 0x29, 0xcd, 0xea, 0xed, 0xdb, 0x72,
0x3b, 0x9d, 0xba, 0xe5, 0xf8, 0xae, 0xdd, 0xf4, 0x9b, 0xbe, 0x2d, 0xc5, 0xea, 0x9d, 0xdb, 0x72, 0x24, 0x07, 0xf2, 0x4b, 0xc1, 0xad, 0x95, 0x62, 0xee, 0x2d, 0xcf, 0x27, 0x66, 0x67, 0xc0, 0xe5,
0x25, 0x17, 0xf2, 0x4b, 0xc1, 0xad, 0x9a, 0x09, 0xf5, 0x8e, 0x1f, 0x10, 0xbb, 0x3b, 0xa4, 0x72, 0xda, 0x46, 0x4f, 0xc7, 0xc1, 0xd6, 0x2e, 0x75, 0x89, 0xbf, 0x6f, 0xb6, 0xf6, 0x1a, 0xd2, 0xc8,
0x75, 0xbd, 0xcf, 0xe3, 0x62, 0x67, 0x87, 0x7a, 0x24, 0xd8, 0xb3, 0xdb, 0xbb, 0x4d, 0x29, 0x14, 0x27, 0xcc, 0x6b, 0xfb, 0x16, 0x79, 0x22, 0x2b, 0x66, 0x3a, 0x84, 0xe3, 0x61, 0xbe, 0xcc, 0x51,
0x10, 0xe6, 0x77, 0x02, 0x87, 0x3c, 0x96, 0x14, 0xb3, 0x5d, 0xc2, 0xf1, 0x28, 0x5d, 0xf6, 0x38, 0x56, 0x7e, 0xdb, 0xe5, 0xd4, 0x19, 0x74, 0xf3, 0xca, 0x38, 0x03, 0x66, 0xed, 0x12, 0x07, 0xf7,
0xa9, 0xa0, 0xe3, 0x71, 0xea, 0x0e, 0xab, 0x79, 0x69, 0x92, 0x00, 0x73, 0x76, 0x88, 0x8b, 0x07, 0xdb, 0x95, 0xbe, 0x4a, 0x81, 0x53, 0x55, 0xdf, 0x63, 0xec, 0x06, 0xf1, 0x19, 0xf5, 0xdc, 0xab,
0xe5, 0xcc, 0xaf, 0x32, 0xe0, 0x74, 0x35, 0xf0, 0x19, 0xbb, 0x49, 0x02, 0x46, 0x7d, 0xef, 0x5a, 0xf5, 0x4f, 0x88, 0xc5, 0x11, 0xb9, 0x4d, 0x7c, 0xe2, 0x5a, 0x04, 0xae, 0x83, 0xec, 0x1e, 0x75,
0xfd, 0x63, 0xe2, 0x70, 0x44, 0x6e, 0x93, 0x80, 0x78, 0x0e, 0x81, 0x6b, 0x20, 0xbf, 0x4b, 0xbd, 0xed, 0x7c, 0x6a, 0x3d, 0x75, 0xe6, 0x70, 0x65, 0xe9, 0x5e, 0xb7, 0x38, 0x17, 0x74, 0x8b, 0xd9,
0x46, 0x31, 0xb3, 0x96, 0x39, 0x7b, 0xb8, 0xb2, 0x74, 0xaf, 0x67, 0xcc, 0x85, 0x3d, 0x23, 0xff, 0x77, 0xa9, 0x6b, 0x23, 0x29, 0x11, 0x1a, 0x2e, 0x76, 0x48, 0x3e, 0x9d, 0xd4, 0xb8, 0x82, 0x1d,
0x36, 0xf5, 0x1a, 0x48, 0x52, 0x04, 0x87, 0x87, 0x5d, 0x52, 0xcc, 0xa6, 0x39, 0xae, 0x62, 0x97, 0x82, 0xa4, 0x04, 0x96, 0x01, 0xc0, 0x2d, 0xaa, 0x1d, 0xe4, 0x33, 0x52, 0x0f, 0x6a, 0x3d, 0xb0,
0x20, 0x49, 0x81, 0x65, 0x00, 0x70, 0x9b, 0x6a, 0x05, 0xc5, 0x9c, 0xe4, 0x83, 0x9a, 0x0f, 0x6c, 0x79, 0xed, 0xb2, 0x96, 0xa0, 0x98, 0x56, 0xe9, 0xeb, 0x0c, 0x38, 0xf6, 0xf6, 0x1d, 0x4e, 0x7c,
0x5c, 0xbf, 0xa2, 0x29, 0x28, 0xc1, 0x65, 0x7e, 0x9d, 0x03, 0xc7, 0xdf, 0xbc, 0xc3, 0x49, 0xe0, 0x17, 0x37, 0x6b, 0x84, 0xfb, 0xd4, 0xda, 0x96, 0xf1, 0x15, 0x60, 0x8e, 0x1c, 0x0b, 0x07, 0x7a,
0xe1, 0x56, 0x8d, 0xf0, 0x80, 0x3a, 0x5b, 0xd2, 0xbf, 0x02, 0xcc, 0x95, 0x6b, 0xa1, 0x40, 0x9b, 0x59, 0x11, 0x58, 0x2d, 0x92, 0xa0, 0x98, 0x16, 0xf4, 0xc0, 0xb2, 0x1a, 0x6d, 0x93, 0x26, 0xb1,
0x15, 0x83, 0xd5, 0x62, 0x0a, 0x4a, 0x70, 0x41, 0x1f, 0x2c, 0xab, 0xd5, 0x16, 0x69, 0x11, 0x87, 0xb8, 0xe7, 0xcb, 0xc5, 0xe6, 0xca, 0x2f, 0x19, 0xbd, 0x2c, 0x8a, 0xa2, 0x66, 0xb4, 0xf6, 0x1a,
0xfb, 0x81, 0x34, 0xb6, 0x50, 0x7e, 0xc1, 0xea, 0x67, 0x51, 0xec, 0x35, 0xab, 0xbd, 0xdb, 0x14, 0x62, 0x82, 0x19, 0x82, 0x1c, 0xa3, 0x73, 0xc1, 0xd8, 0xc2, 0x75, 0xd2, 0x0c, 0x4d, 0x2b, 0x30,
0x1b, 0xcc, 0x12, 0xc1, 0xb1, 0xba, 0x17, 0xad, 0x4d, 0x5c, 0x27, 0xad, 0x48, 0xb4, 0x02, 0xc3, 0xe8, 0x16, 0x97, 0x6b, 0x09, 0x38, 0xd4, 0x07, 0x0f, 0x31, 0xc8, 0x71, 0xec, 0x37, 0x08, 0xbf,
0x9e, 0xb1, 0x5c, 0x4b, 0xc1, 0xa1, 0x01, 0x78, 0x88, 0x41, 0x81, 0xe3, 0xa0, 0x49, 0xf8, 0x4d, 0x81, 0x9b, 0x6d, 0x22, 0x7f, 0x39, 0x57, 0x36, 0x0e, 0xf2, 0x66, 0x84, 0x09, 0x64, 0xbc, 0xd7,
0xdc, 0xea, 0x10, 0x79, 0xe4, 0x42, 0xd9, 0xda, 0x4f, 0x9b, 0x15, 0x25, 0x90, 0xf5, 0x4e, 0x07, 0xc6, 0x2e, 0xa7, 0x7c, 0xbf, 0xb2, 0x12, 0x74, 0x8b, 0xb9, 0x9d, 0x1e, 0x0c, 0x8a, 0x63, 0xc2,
0x7b, 0x9c, 0xf2, 0xbd, 0xca, 0x4a, 0xd8, 0x33, 0x0a, 0xdb, 0x7d, 0x18, 0x94, 0xc4, 0x84, 0x5d, 0x0e, 0x80, 0x6a, 0xb8, 0xd9, 0x21, 0x3e, 0x6e, 0x10, 0xe5, 0x29, 0x3b, 0x95, 0xa7, 0xe3, 0x41,
0x00, 0xd5, 0x72, 0xa3, 0x4b, 0x02, 0xdc, 0x24, 0x4a, 0x53, 0x7e, 0x26, 0x4d, 0x27, 0xc2, 0x9e, 0xb7, 0x08, 0x77, 0x06, 0xd0, 0xd0, 0x10, 0x0f, 0xa5, 0x6f, 0x06, 0x89, 0xe1, 0x98, 0xb7, 0xd9,
0x01, 0xb7, 0x87, 0xd0, 0xd0, 0x08, 0x0d, 0xe6, 0xb7, 0xc3, 0x81, 0xe1, 0x98, 0x77, 0xd8, 0x7f, 0xbf, 0x83, 0x98, 0x5d, 0xb0, 0x64, 0xb5, 0x7d, 0x9f, 0xb8, 0x7f, 0x89, 0x99, 0x63, 0xfa, 0xb7,
0x23, 0x30, 0x3b, 0x60, 0xc9, 0xe9, 0x04, 0x01, 0xf1, 0xfe, 0x56, 0x64, 0x8e, 0xeb, 0x63, 0x2d, 0x96, 0xaa, 0x31, 0x2c, 0x94, 0x40, 0x86, 0xfb, 0xe0, 0xa8, 0x1e, 0xcf, 0x80, 0xa0, 0x13, 0x41,
0x55, 0x13, 0x58, 0x28, 0x85, 0x0c, 0xf7, 0xc0, 0x31, 0xbd, 0x3e, 0x80, 0x00, 0x9d, 0x0c, 0x7b, 0xb7, 0x78, 0xb4, 0x3a, 0x08, 0x87, 0x86, 0xf9, 0x28, 0xfd, 0x92, 0x06, 0x27, 0x2e, 0x79, 0x3e,
0xc6, 0xb1, 0xea, 0x30, 0x1c, 0x1a, 0xa5, 0xc3, 0xfc, 0x39, 0x0b, 0x4e, 0x5e, 0xf6, 0x03, 0x7a, 0xbd, 0xeb, 0xb9, 0x1c, 0x37, 0xaf, 0x79, 0xf6, 0xa6, 0x2e, 0x90, 0xc4, 0x87, 0x1f, 0x83, 0x45,
0xd7, 0xf7, 0x38, 0x6e, 0x5d, 0xf7, 0x1b, 0x1b, 0xba, 0x40, 0x92, 0x00, 0x7e, 0x04, 0x16, 0x85, 0x11, 0x3d, 0x1b, 0x73, 0x2c, 0x39, 0xca, 0x95, 0xcf, 0x4f, 0x16, 0x6b, 0x55, 0x18, 0x6a, 0x84,
0xf7, 0x1a, 0x98, 0x63, 0x19, 0xa3, 0x42, 0xf9, 0xc2, 0x74, 0xbe, 0x56, 0x85, 0xa1, 0x46, 0x38, 0xe3, 0x1e, 0xab, 0xbd, 0x39, 0x14, 0xa1, 0xc2, 0x5b, 0x20, 0xcb, 0x5a, 0xc4, 0xd2, 0x4c, 0xbe,
0xee, 0x47, 0xb5, 0xbf, 0x87, 0x62, 0x54, 0xf8, 0x01, 0xc8, 0xb3, 0x36, 0x71, 0x74, 0x24, 0x5f, 0x6e, 0x1c, 0x5c, 0xa8, 0x8d, 0x11, 0x0b, 0xdd, 0x6e, 0x11, 0xab, 0x57, 0x4c, 0xc4, 0x08, 0x49,
0xb5, 0xf6, 0x2f, 0xd4, 0xd6, 0x18, 0x43, 0xb7, 0xda, 0xc4, 0xe9, 0x17, 0x13, 0xb1, 0x42, 0x12, 0x58, 0x48, 0xc0, 0x02, 0x93, 0x09, 0xa7, 0xb9, 0x7b, 0x63, 0x5a, 0x07, 0x12, 0xa4, 0xb2, 0xac,
0x16, 0x12, 0xb0, 0xc0, 0x64, 0xc2, 0xe9, 0xd8, 0xbd, 0x36, 0xab, 0x02, 0x09, 0x52, 0x59, 0xd6, 0x5d, 0x2c, 0xa8, 0x31, 0xd2, 0xe0, 0xa5, 0x2f, 0x32, 0x60, 0x7d, 0x84, 0x65, 0xd5, 0x73, 0x6d,
0x2a, 0x16, 0xd4, 0x1a, 0x69, 0x70, 0xf3, 0xf3, 0x1c, 0x58, 0x1b, 0x23, 0x59, 0xf5, 0xbd, 0x06, 0xca, 0xa9, 0xe7, 0xc2, 0x4b, 0x20, 0xcb, 0xf7, 0x5b, 0x61, 0xb2, 0x6f, 0x84, 0xab, 0xdd, 0xd9,
0xe5, 0xd4, 0xf7, 0xe0, 0x65, 0x90, 0xe7, 0x7b, 0xed, 0x28, 0xd9, 0xd7, 0x23, 0x6b, 0xb7, 0xf7, 0x6f, 0x91, 0xc7, 0xdd, 0xe2, 0x73, 0xe3, 0xec, 0x85, 0x1e, 0x92, 0x08, 0x70, 0x2b, 0xfa, 0xab,
0xda, 0xe4, 0x51, 0xcf, 0x78, 0x66, 0x92, 0xbc, 0xe0, 0x43, 0x12, 0x01, 0x6e, 0xc6, 0xa7, 0xca, 0x74, 0x02, 0x4b, 0x2f, 0xeb, 0x71, 0xb7, 0x38, 0xe4, 0x84, 0x32, 0x22, 0xa4, 0xe4, 0xe2, 0x45,
0xa6, 0xb0, 0xb4, 0x59, 0x8f, 0x7a, 0xc6, 0x88, 0x17, 0xca, 0x8a, 0x91, 0xd2, 0xc6, 0x8b, 0xda, 0x6d, 0x68, 0x62, 0xc6, 0x77, 0x7c, 0xec, 0x32, 0xe5, 0x89, 0x3a, 0x61, 0xae, 0x9f, 0x9d, 0x8c,
0xd0, 0xc2, 0x8c, 0x6f, 0x07, 0xd8, 0x63, 0x4a, 0x13, 0x75, 0xa3, 0x5c, 0x3f, 0x37, 0x5d, 0xb8, 0x6e, 0x61, 0x51, 0x59, 0xd3, 0xab, 0x80, 0x5b, 0x03, 0x68, 0x68, 0x88, 0x07, 0xf8, 0x3c, 0x58,
0x85, 0x44, 0x65, 0x55, 0x5b, 0x01, 0x37, 0x87, 0xd0, 0xd0, 0x08, 0x0d, 0xf0, 0x59, 0xb0, 0x10, 0xf0, 0x09, 0x66, 0x9e, 0x2b, 0xd3, 0xfc, 0x70, 0x2f, 0xb8, 0x48, 0xce, 0x22, 0x2d, 0x85, 0x2f,
0x10, 0xcc, 0x7c, 0x4f, 0xa6, 0xf9, 0xe1, 0xbe, 0x73, 0x91, 0xdc, 0x45, 0x9a, 0x0a, 0x9f, 0x03, 0x80, 0x43, 0x0e, 0x61, 0x0c, 0x37, 0x48, 0x7e, 0x5e, 0x2a, 0xae, 0x68, 0xc5, 0x43, 0x35, 0x35,
0x87, 0x5c, 0xc2, 0x18, 0x6e, 0x92, 0xe2, 0xbc, 0x64, 0x5c, 0xd1, 0x8c, 0x87, 0x6a, 0x6a, 0x1b, 0x8d, 0x42, 0x79, 0xe9, 0x61, 0x0a, 0x9c, 0x1a, 0x11, 0xc7, 0x2d, 0xca, 0x38, 0xbc, 0x39, 0x90,
0x45, 0x74, 0xf3, 0xb7, 0x0c, 0x38, 0x3d, 0xc6, 0x8f, 0x9b, 0x94, 0x71, 0x78, 0x6b, 0x28, 0x9f, 0xcf, 0xc6, 0x84, 0xb5, 0x83, 0x32, 0x95, 0xcd, 0xab, 0xda, 0xf7, 0x62, 0x38, 0x13, 0xcb, 0xe5,
0xad, 0x29, 0x6b, 0x07, 0x65, 0x2a, 0x9b, 0x8f, 0x6a, 0xdd, 0x8b, 0xd1, 0x4e, 0x22, 0x97, 0x6f, 0x9b, 0x60, 0x9e, 0x72, 0xe2, 0x08, 0x56, 0x32, 0x67, 0x72, 0xe5, 0x57, 0xa7, 0xcc, 0xb5, 0xca,
0x81, 0x79, 0xca, 0x89, 0x2b, 0xa2, 0x92, 0x3b, 0x5b, 0x28, 0xbf, 0x3c, 0x63, 0xae, 0x55, 0x8e, 0x11, 0xed, 0x63, 0xfe, 0xb2, 0x40, 0x43, 0x0a, 0xb4, 0xf4, 0x6b, 0x7a, 0xe4, 0xbf, 0x89, 0x84,
0x68, 0x1d, 0xf3, 0x57, 0x04, 0x1a, 0x52, 0xa0, 0xe6, 0xef, 0xd9, 0xb1, 0x67, 0x13, 0x09, 0x0f, 0x87, 0x9f, 0x82, 0x65, 0x39, 0x52, 0x95, 0x19, 0x91, 0xdb, 0xfa, 0x0f, 0xc7, 0xee, 0xa9, 0x03,
0x3f, 0x01, 0xcb, 0x72, 0xa5, 0x2a, 0x33, 0x22, 0xb7, 0xf5, 0x09, 0x27, 0xde, 0xa9, 0x7d, 0x1e, 0x0e, 0xf4, 0xca, 0x71, 0xbd, 0x94, 0xe5, 0xed, 0x04, 0x34, 0xea, 0x73, 0x05, 0x2f, 0x80, 0x9c,
0xf4, 0xca, 0x09, 0x6d, 0xca, 0xf2, 0x56, 0x0a, 0x1a, 0x0d, 0xa8, 0x82, 0x17, 0x41, 0xc1, 0xa5, 0x43, 0x5d, 0x44, 0x5a, 0x4d, 0x6a, 0x61, 0x95, 0x96, 0xf3, 0xea, 0x48, 0xaa, 0xf5, 0xa6, 0x51,
0x1e, 0x22, 0xed, 0x16, 0x75, 0xb0, 0x4a, 0xcb, 0x79, 0xf5, 0x24, 0xd5, 0xfa, 0xdb, 0x28, 0xc9, 0x5c, 0x07, 0xbe, 0x0c, 0x72, 0x0e, 0xbe, 0x13, 0x99, 0x64, 0xa4, 0xc9, 0x51, 0xed, 0x2f, 0x57,
0x03, 0x5f, 0x04, 0x05, 0x17, 0xdf, 0x89, 0x45, 0x72, 0x52, 0xe4, 0x98, 0xd6, 0x57, 0xa8, 0xf5, 0xeb, 0x89, 0x50, 0x5c, 0x0f, 0x5e, 0x17, 0xd9, 0x20, 0xaa, 0x34, 0xcb, 0x67, 0x65, 0x98, 0xcf,
0x49, 0x28, 0xc9, 0x07, 0x6f, 0x88, 0x6c, 0x10, 0x55, 0x9a, 0x15, 0xf3, 0xd2, 0xcd, 0xe7, 0x26, 0x8e, 0xfb, 0x3f, 0x5d, 0xe4, 0x45, 0x89, 0x88, 0x65, 0x8e, 0x84, 0x40, 0x21, 0x56, 0xe9, 0xa7,
0x9d, 0x4f, 0x17, 0x79, 0x51, 0x22, 0x12, 0x99, 0x23, 0x21, 0x50, 0x84, 0x65, 0xfe, 0x98, 0x07, 0x2c, 0x38, 0x7d, 0xe0, 0xde, 0x87, 0xef, 0x00, 0xe8, 0xd5, 0x19, 0xf1, 0x3b, 0xc4, 0xbe, 0xa8,
0x67, 0xf6, 0xbd, 0xfb, 0xf0, 0x2d, 0x00, 0xfd, 0x3a, 0x23, 0x41, 0x97, 0x34, 0x2e, 0xa9, 0xb6, 0xae, 0x45, 0xe2, 0x7e, 0x22, 0x62, 0x9c, 0x51, 0x47, 0xe2, 0xd5, 0x01, 0x29, 0x1a, 0x62, 0x01,
0x48, 0xf4, 0x27, 0xc2, 0xc7, 0x39, 0xf5, 0x24, 0x5e, 0x1b, 0xa2, 0xa2, 0x11, 0x12, 0xd0, 0x01, 0x2d, 0x70, 0x44, 0x6c, 0x06, 0x15, 0x50, 0xaa, 0xaf, 0x42, 0x4f, 0xb6, 0xd3, 0xfe, 0x17, 0x74,
0x47, 0xc4, 0x65, 0x50, 0x0e, 0xa5, 0xba, 0x15, 0x7a, 0xbc, 0x9b, 0xf6, 0xbf, 0xb0, 0x67, 0x1c, 0x8b, 0x47, 0xb6, 0xe2, 0x20, 0x28, 0x89, 0x09, 0x37, 0xc1, 0x8a, 0xae, 0xf5, 0x7d, 0x01, 0x3e,
0xd9, 0x4c, 0x82, 0xa0, 0x34, 0x26, 0xdc, 0x00, 0x2b, 0xba, 0xd6, 0x0f, 0x38, 0xf8, 0xa4, 0xf6, 0xa1, 0x23, 0xb0, 0x52, 0x4d, 0x8a, 0x51, 0xbf, 0xbe, 0x80, 0xb0, 0x09, 0xa3, 0x3e, 0xb1, 0x23,
0xc0, 0x4a, 0x35, 0x4d, 0x46, 0x83, 0xfc, 0x02, 0xa2, 0x41, 0x18, 0x0d, 0x48, 0x23, 0x86, 0xc8, 0x88, 0x6c, 0x12, 0xe2, 0xad, 0xa4, 0x18, 0xf5, 0xeb, 0xc3, 0x26, 0x58, 0xd6, 0xa8, 0x3a, 0xde,
0xa7, 0x21, 0xde, 0x48, 0x93, 0xd1, 0x20, 0x3f, 0x6c, 0x81, 0x65, 0x8d, 0xaa, 0xfd, 0x5d, 0x9c, 0xf9, 0x79, 0x49, 0xd9, 0x8b, 0x13, 0x52, 0xa6, 0x8a, 0x6e, 0x94, 0x83, 0xd5, 0x04, 0x16, 0xea,
0x97, 0x21, 0x7b, 0x7e, 0xca, 0x90, 0xa9, 0xa2, 0x1b, 0xe7, 0x60, 0x35, 0x85, 0x85, 0x06, 0xb0, 0xc3, 0x86, 0x1c, 0x00, 0x2b, 0x2c, 0x71, 0x2c, 0xbf, 0x20, 0x3d, 0xbd, 0x39, 0xe5, 0x1e, 0x8c,
0x21, 0x07, 0xc0, 0x89, 0x4a, 0x1c, 0x2b, 0x2e, 0x48, 0x4d, 0xaf, 0xcf, 0x78, 0x07, 0xe3, 0x5a, 0x6a, 0x65, 0xef, 0xf8, 0x8a, 0xa6, 0x18, 0x8a, 0xf9, 0x29, 0x7d, 0x9f, 0x01, 0xa0, 0x97, 0x61,
0xd9, 0x7f, 0xbe, 0xe2, 0x2d, 0x86, 0x12, 0x7a, 0xcc, 0xef, 0x72, 0x00, 0xf4, 0x33, 0x0c, 0xae, 0x70, 0x23, 0x51, 0xe4, 0xd7, 0xfb, 0x8a, 0xfc, 0x6a, 0xfc, 0x72, 0x1a, 0x2b, 0xe8, 0x37, 0xc0,
0xa7, 0x8a, 0xfc, 0xda, 0x40, 0x91, 0x3f, 0x9a, 0x6c, 0x4e, 0x13, 0x05, 0xfd, 0x26, 0x58, 0xf0, 0x82, 0x27, 0x77, 0x9e, 0x4e, 0x86, 0xf2, 0xb8, 0x65, 0x47, 0x67, 0x69, 0x84, 0x56, 0x01, 0xa2,
0xe5, 0xcd, 0xd3, 0xc9, 0x50, 0x9e, 0x64, 0x76, 0xfc, 0x96, 0xc6, 0x68, 0x15, 0x20, 0x4a, 0xa7, 0x74, 0xea, 0xfd, 0xab, 0xd1, 0xe0, 0x15, 0x90, 0x6d, 0x79, 0x76, 0x78, 0xf8, 0x9d, 0x1f, 0x87,
0xbe, 0xbf, 0x1a, 0x0d, 0x5e, 0x05, 0xf9, 0xb6, 0xdf, 0x88, 0x1e, 0xbf, 0x0b, 0x93, 0x50, 0xaf, 0x7a, 0xcd, 0xb3, 0x59, 0x02, 0x73, 0x51, 0xac, 0x5d, 0xcc, 0x22, 0x89, 0x03, 0x3f, 0x02, 0x8b,
0xfb, 0x0d, 0x96, 0xc2, 0x5c, 0x14, 0xb6, 0x8b, 0x5d, 0x24, 0x71, 0xe0, 0x87, 0x60, 0x31, 0x6a, 0xe1, 0x75, 0x43, 0xdf, 0x4d, 0x36, 0xc6, 0x61, 0x22, 0xad, 0x9f, 0xc0, 0x5d, 0x12, 0x15, 0x34,
0x37, 0x74, 0x6f, 0xb2, 0x3e, 0x09, 0x13, 0x69, 0xfe, 0x14, 0xee, 0x92, 0xa8, 0xa0, 0x11, 0x05, 0x94, 0xa0, 0x08, 0x53, 0xe0, 0x13, 0x7d, 0x5b, 0x94, 0xb5, 0x7e, 0x02, 0xfc, 0x61, 0xd7, 0x7e,
0xc5, 0x98, 0x02, 0x9f, 0xe8, 0x6e, 0x51, 0xd6, 0xfa, 0x29, 0xf0, 0x47, 0xb5, 0xfd, 0x0a, 0x3f, 0x85, 0x1f, 0x4a, 0x50, 0x84, 0x59, 0xfa, 0x21, 0x03, 0x96, 0x12, 0xd7, 0xd0, 0xbf, 0x83, 0x2e,
0xa2, 0xa0, 0x18, 0xd3, 0xfc, 0x3e, 0x07, 0x96, 0x52, 0x6d, 0xe8, 0x3f, 0x11, 0x2e, 0x95, 0xd5, 0x95, 0xd5, 0xb3, 0xa5, 0x4b, 0x61, 0xce, 0x9e, 0x2e, 0x85, 0xfb, 0xf4, 0xe8, 0x8a, 0xe1, 0x0f,
0x07, 0x1b, 0x2e, 0x85, 0x79, 0xf0, 0xe1, 0x52, 0xb8, 0x4f, 0x2e, 0x5c, 0x09, 0xfc, 0x11, 0xe1, 0xa1, 0xeb, 0x61, 0x06, 0xc0, 0xc1, 0x4c, 0x87, 0x16, 0x58, 0x50, 0xad, 0xc6, 0x2c, 0x4e, 0xb8,
0xfa, 0x32, 0x0b, 0xe0, 0x70, 0xa6, 0x43, 0x07, 0x2c, 0xa8, 0x51, 0xe3, 0x20, 0x5e, 0xb8, 0xb8, 0xe8, 0xd6, 0xa1, 0x0f, 0x33, 0x0d, 0xdd, 0xd7, 0xa0, 0xa4, 0x27, 0x6a, 0x50, 0xc8, 0x2c, 0x1a,
0xeb, 0xd0, 0x8f, 0x99, 0x86, 0x1e, 0x18, 0x50, 0xb2, 0x53, 0x0d, 0x28, 0xe4, 0x20, 0x06, 0xb9, 0xb9, 0xe8, 0x08, 0x1c, 0xd9, 0xcc, 0xdd, 0x02, 0x8b, 0x2c, 0xec, 0x80, 0xb2, 0xd3, 0x77, 0x40,
0xf8, 0x09, 0x1c, 0x37, 0xcc, 0x99, 0xdf, 0x0c, 0xba, 0x45, 0xe5, 0xf2, 0xbf, 0xd6, 0x2d, 0x4f, 0x32, 0xea, 0x51, 0xef, 0x13, 0x41, 0x42, 0x1b, 0x2c, 0xe1, 0x78, 0x13, 0x32, 0x3f, 0xd5, 0x6f,
0x6d, 0x8c, 0x32, 0x7f, 0xc9, 0x80, 0xa3, 0x83, 0x45, 0x6c, 0xa6, 0x51, 0xf3, 0xee, 0xc8, 0x79, 0xac, 0x8a, 0x8e, 0x27, 0xd1, 0x7d, 0x24, 0x50, 0x4b, 0xbf, 0xf5, 0x73, 0xab, 0x36, 0xe4, 0x3f,
0x39, 0x3b, 0x93, 0xe1, 0x71, 0x5f, 0x3c, 0xe5, 0xcc, 0xfc, 0x6b, 0xfa, 0x10, 0xb3, 0xcf, 0xcb, 0x96, 0xdb, 0x67, 0xd7, 0x0b, 0xfe, 0x27, 0xe8, 0xfd, 0x36, 0x0d, 0x56, 0xfb, 0x8f, 0x93, 0xa9,
0x9f, 0x8e, 0x1e, 0x2a, 0x67, 0x3b, 0xc5, 0x69, 0xad, 0x6c, 0xfa, 0xc1, 0xf2, 0x87, 0x2c, 0x38, 0x9a, 0xfe, 0xbb, 0x43, 0x5f, 0x2e, 0xd2, 0x53, 0x2d, 0x3a, 0xea, 0x50, 0x26, 0x7b, 0xbd, 0x48,
0x3e, 0xaa, 0xfa, 0xc3, 0xaa, 0xfe, 0x07, 0xa4, 0x4e, 0x61, 0x27, 0xff, 0x01, 0x3d, 0xea, 0x19, 0x30, 0x91, 0x99, 0x39, 0x13, 0xa5, 0xef, 0x92, 0x31, 0x9a, 0xfe, 0x61, 0xe4, 0xb3, 0xe1, 0xaf,
0xc6, 0x88, 0xd1, 0x25, 0x82, 0x49, 0xfc, 0x26, 0x7a, 0x17, 0x14, 0x53, 0xbe, 0xbb, 0xc1, 0x69, 0x07, 0xd3, 0x05, 0xe9, 0x94, 0x76, 0x36, 0xf1, 0x0b, 0xc2, 0xd3, 0x0e, 0xd3, 0x8f, 0x69, 0x70,
0x8b, 0xde, 0x55, 0x4d, 0x99, 0x6a, 0x3f, 0xff, 0x1f, 0xf6, 0x8c, 0xe2, 0xf6, 0x18, 0x1e, 0x34, 0x6c, 0xd8, 0x2d, 0x02, 0x56, 0xf5, 0x5b, 0xa2, 0x0a, 0x92, 0x19, 0x7f, 0x4b, 0x7c, 0xdc, 0x2d,
0x56, 0x7a, 0xcc, 0xbf, 0x92, 0xdc, 0x13, 0xff, 0x57, 0xf2, 0xd3, 0xb0, 0xbf, 0x54, 0xec, 0x0f, 0x16, 0x87, 0xb4, 0xc0, 0x21, 0x4c, 0xec, 0xb9, 0xf1, 0x7d, 0x90, 0x4f, 0x30, 0x7f, 0x9d, 0xd3,
0xc4, 0x5f, 0xef, 0x83, 0x53, 0xe9, 0x20, 0x0d, 0x3b, 0xec, 0x4c, 0xd8, 0x33, 0x4e, 0x55, 0xc7, 0x26, 0xbd, 0xab, 0x2e, 0xf7, 0xaa, 0x8d, 0xf9, 0x7f, 0xd0, 0x2d, 0xe6, 0x77, 0x46, 0xe8, 0xa0,
0x31, 0xa1, 0xf1, 0xf2, 0xe3, 0x32, 0x2d, 0xf7, 0x74, 0x32, 0xad, 0x72, 0xfe, 0xde, 0xc3, 0xd2, 0x91, 0xd6, 0x23, 0xde, 0xdc, 0x32, 0x4f, 0xfd, 0xcd, 0xed, 0xe7, 0xc1, 0x78, 0xa9, 0xd4, 0x9a,
0xdc, 0xfd, 0x87, 0xa5, 0xb9, 0x07, 0x0f, 0x4b, 0x73, 0x9f, 0x85, 0xa5, 0xcc, 0xbd, 0xb0, 0x94, 0x49, 0xbc, 0x3e, 0x04, 0x27, 0x93, 0x39, 0x30, 0x18, 0xb0, 0xd3, 0x41, 0xb7, 0x78, 0xb2, 0x3a,
0xb9, 0x1f, 0x96, 0x32, 0x0f, 0xc2, 0x52, 0xe6, 0x8f, 0xb0, 0x94, 0xf9, 0xe2, 0xcf, 0xd2, 0xdc, 0x4a, 0x09, 0x8d, 0xb6, 0x1f, 0x95, 0xc8, 0x99, 0x67, 0x93, 0xc8, 0x95, 0x73, 0xf7, 0x1e, 0x15,
0x7b, 0x87, 0x74, 0xdd, 0xfb, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xe1, 0xb1, 0xdd, 0xcd, 0x57, 0x16, 0xe6, 0xee, 0x3f, 0x2a, 0xcc, 0x3d, 0x78, 0x54, 0x98, 0xfb, 0x3c, 0x28, 0xa4, 0xee, 0x05, 0x85,
0x00, 0x00, 0xd4, 0xfd, 0xa0, 0x90, 0x7a, 0x10, 0x14, 0x52, 0xbf, 0x07, 0x85, 0xd4, 0x97, 0x7f, 0x14, 0xe6,
======= 0x3e, 0x38, 0xa4, 0x8f, 0x9e, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x05, 0x26, 0x31, 0x5d, 0x9f,
// 1498 bytes of a gzipped FileDescriptorProto 0x18, 0x00, 0x00,
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0xcd, 0x6f, 0x1b, 0x45,
0x14, 0x8f, 0x3f, 0x92, 0xa6, 0xe3, 0x34, 0x09, 0xd3, 0xaa, 0x75, 0x53, 0x6a, 0x47, 0x16, 0x42,
0xa5, 0x6a, 0x77, 0x5b, 0x37, 0x7c, 0x48, 0x08, 0x89, 0xd8, 0x40, 0x5b, 0x11, 0xb7, 0x65, 0x92,
0x56, 0x08, 0x0a, 0x62, 0xbc, 0x9e, 0x3a, 0x43, 0xec, 0x5d, 0x6b, 0x66, 0x6c, 0x35, 0x45, 0x48,
0x5c, 0xb8, 0x73, 0x81, 0x33, 0x47, 0xc4, 0xc7, 0x15, 0xce, 0x95, 0x38, 0xf4, 0xd8, 0x63, 0x11,
0x92, 0x45, 0xcd, 0x7f, 0xd1, 0x13, 0x9a, 0x8f, 0x5d, 0xef, 0xda, 0xde, 0xd8, 0x75, 0xd3, 0x0f,
0x6e, 0x3b, 0xf3, 0xde, 0xfb, 0xbd, 0xb7, 0xef, 0xbd, 0x79, 0xf3, 0xde, 0x80, 0x8b, 0x3b, 0x6f,
0x71, 0x8b, 0x7a, 0xf6, 0x4e, 0xbb, 0x4a, 0x98, 0x4b, 0x04, 0xe1, 0x76, 0x87, 0xb8, 0x35, 0x8f,
0xd9, 0x86, 0x80, 0x5b, 0xd4, 0xc6, 0x6d, 0xe1, 0x71, 0x07, 0x37, 0xa8, 0x5b, 0xb7, 0x3b, 0xc5,
0x2a, 0x11, 0xf8, 0xbc, 0x5d, 0x27, 0x2e, 0x61, 0x58, 0x90, 0x9a, 0xd5, 0x62, 0x9e, 0xf0, 0x60,
0x4e, 0xf3, 0x5b, 0xb8, 0x45, 0xad, 0x10, 0xbf, 0x65, 0xf8, 0x57, 0xce, 0xd6, 0xa9, 0xd8, 0x6e,
0x57, 0x2d, 0xc7, 0x6b, 0xda, 0x75, 0xaf, 0xee, 0xd9, 0x4a, 0xac, 0xda, 0xbe, 0xa5, 0x56, 0x6a,
0xa1, 0xbe, 0x34, 0xdc, 0x4a, 0x21, 0xa4, 0xde, 0xf1, 0x18, 0xb1, 0x3b, 0x43, 0x2a, 0x57, 0xd6,
0xfa, 0x3c, 0x4d, 0xec, 0x6c, 0x53, 0x97, 0xb0, 0x5d, 0xbb, 0xb5, 0x53, 0x57, 0x42, 0x8c, 0x70,
0xaf, 0xcd, 0x1c, 0xf2, 0x58, 0x52, 0xdc, 0x6e, 0x12, 0x81, 0x47, 0xe9, 0xb2, 0xe3, 0xa4, 0x58,
0xdb, 0x15, 0xb4, 0x39, 0xac, 0xe6, 0x8d, 0x71, 0x02, 0xdc, 0xd9, 0x26, 0x4d, 0x3c, 0x24, 0x77,
0x21, 0x4e, 0xae, 0x2d, 0x68, 0xc3, 0xa6, 0xae, 0xe0, 0x82, 0x0d, 0x0a, 0x15, 0xbe, 0x4f, 0x80,
0x13, 0x65, 0xe6, 0x71, 0x7e, 0x83, 0x30, 0x4e, 0x3d, 0xf7, 0x6a, 0xf5, 0x4b, 0xe2, 0x08, 0x44,
0x6e, 0x11, 0x46, 0x5c, 0x87, 0xc0, 0x55, 0x90, 0xde, 0xa1, 0x6e, 0x2d, 0x9b, 0x58, 0x4d, 0x9c,
0x3a, 0x58, 0x5a, 0xb8, 0xd7, 0xcd, 0xcf, 0xf4, 0xba, 0xf9, 0xf4, 0x87, 0xd4, 0xad, 0x21, 0x45,
0x91, 0x1c, 0x2e, 0x6e, 0x92, 0x6c, 0x32, 0xca, 0x71, 0x05, 0x37, 0x09, 0x52, 0x14, 0x58, 0x04,
0x00, 0xb7, 0xa8, 0x51, 0x90, 0x4d, 0x29, 0x3e, 0x68, 0xf8, 0xc0, 0xfa, 0xb5, 0xcb, 0x86, 0x82,
0x42, 0x5c, 0x85, 0x1f, 0x52, 0xe0, 0xc8, 0xfb, 0xb7, 0x05, 0x61, 0x2e, 0x6e, 0x54, 0x88, 0x60,
0xd4, 0xd9, 0x54, 0x41, 0x91, 0x60, 0x4d, 0xb5, 0x96, 0x0a, 0x8c, 0x59, 0x01, 0x58, 0x25, 0xa0,
0xa0, 0x10, 0x17, 0xf4, 0xc0, 0xa2, 0x5e, 0x6d, 0x92, 0x06, 0x71, 0x84, 0xc7, 0x94, 0xb1, 0x99,
0xe2, 0x05, 0xab, 0x9f, 0x7a, 0x81, 0xcb, 0xac, 0xd6, 0x4e, 0x5d, 0x6e, 0x70, 0x4b, 0x46, 0xd4,
0xea, 0x9c, 0xb7, 0x36, 0x70, 0x95, 0x34, 0x7c, 0xd1, 0x12, 0xec, 0x75, 0xf3, 0x8b, 0x95, 0x08,
0x1c, 0x1a, 0x80, 0x87, 0x18, 0x64, 0x04, 0x66, 0x75, 0x22, 0x6e, 0xe0, 0x46, 0x9b, 0xa8, 0x5f,
0xce, 0x14, 0xad, 0xbd, 0xb4, 0x59, 0x7e, 0xd6, 0x59, 0x1f, 0xb5, 0xb1, 0x2b, 0xa8, 0xd8, 0x2d,
0x2d, 0xf5, 0xba, 0xf9, 0xcc, 0x56, 0x1f, 0x06, 0x85, 0x31, 0x61, 0x07, 0x40, 0xbd, 0x5c, 0xef,
0x10, 0x86, 0xeb, 0x44, 0x6b, 0x4a, 0x4f, 0xa5, 0xe9, 0x68, 0xaf, 0x9b, 0x87, 0x5b, 0x43, 0x68,
0x68, 0x84, 0x86, 0xc2, 0x8f, 0xc3, 0x81, 0x11, 0x58, 0xb4, 0xf9, 0xff, 0x23, 0x30, 0xdb, 0x60,
0xc1, 0x69, 0x33, 0x46, 0xdc, 0x27, 0x8a, 0xcc, 0x11, 0xf3, 0x5b, 0x0b, 0xe5, 0x10, 0x16, 0x8a,
0x20, 0xc3, 0x5d, 0x70, 0xd8, 0xac, 0xf7, 0x21, 0x40, 0xc7, 0x7a, 0xdd, 0xfc, 0xe1, 0xf2, 0x30,
0x1c, 0x1a, 0xa5, 0xa3, 0x70, 0x37, 0x09, 0x8e, 0x5d, 0xf2, 0x18, 0xbd, 0xe3, 0xb9, 0x02, 0x37,
0xae, 0x79, 0xb5, 0x75, 0x53, 0x55, 0x09, 0x83, 0x5f, 0x80, 0x79, 0xe9, 0xbd, 0x1a, 0x16, 0x58,
0xc5, 0x28, 0x53, 0x3c, 0x37, 0x99, 0xaf, 0x75, 0x61, 0xa8, 0x10, 0x81, 0xfb, 0x51, 0xed, 0xef,
0xa1, 0x00, 0x15, 0x7e, 0x06, 0xd2, 0xbc, 0x45, 0x1c, 0x13, 0xc9, 0xb7, 0xad, 0xbd, 0xab, 0xbb,
0x15, 0x63, 0xe8, 0x66, 0x8b, 0x38, 0xfd, 0x62, 0x22, 0x57, 0x48, 0xc1, 0x42, 0x02, 0xe6, 0xb8,
0x4a, 0x38, 0x13, 0xbb, 0x77, 0xa6, 0x55, 0xa0, 0x40, 0x4a, 0x8b, 0x46, 0xc5, 0x9c, 0x5e, 0x23,
0x03, 0x5e, 0xf8, 0x36, 0x05, 0x56, 0x63, 0x24, 0xcb, 0x9e, 0x5b, 0xa3, 0x82, 0x7a, 0x2e, 0xbc,
0x04, 0xd2, 0x62, 0xb7, 0xe5, 0x27, 0xfb, 0x9a, 0x6f, 0xed, 0xd6, 0x6e, 0x8b, 0x3c, 0xea, 0xe6,
0x5f, 0x19, 0x27, 0x2f, 0xf9, 0x90, 0x42, 0x80, 0x1b, 0xc1, 0x5f, 0x25, 0x23, 0x58, 0xc6, 0xac,
0x47, 0xdd, 0xfc, 0x88, 0x6b, 0xcd, 0x0a, 0x90, 0xa2, 0xc6, 0xcb, 0xda, 0xd0, 0xc0, 0x5c, 0x6c,
0x31, 0xec, 0x72, 0xad, 0x89, 0x36, 0xfd, 0x5c, 0x3f, 0x3d, 0x59, 0xb8, 0xa5, 0x44, 0x69, 0xc5,
0x58, 0x01, 0x37, 0x86, 0xd0, 0xd0, 0x08, 0x0d, 0xf0, 0x55, 0x30, 0xc7, 0x08, 0xe6, 0x9e, 0xab,
0xd2, 0xfc, 0x60, 0xdf, 0xb9, 0x48, 0xed, 0x22, 0x43, 0x85, 0xaf, 0x81, 0x03, 0x4d, 0xc2, 0x39,
0xae, 0x93, 0xec, 0xac, 0x62, 0x5c, 0x32, 0x8c, 0x07, 0x2a, 0x7a, 0x1b, 0xf9, 0xf4, 0xc2, 0x5f,
0x09, 0x70, 0x22, 0xc6, 0x8f, 0x1b, 0x94, 0x0b, 0x78, 0x73, 0x28, 0x9f, 0xad, 0x09, 0x6b, 0x07,
0xe5, 0x3a, 0x9b, 0x97, 0x8d, 0xee, 0x79, 0x7f, 0x27, 0x94, 0xcb, 0x37, 0xc1, 0x2c, 0x15, 0xa4,
0x29, 0xa3, 0x92, 0x3a, 0x95, 0x29, 0xbe, 0x39, 0x65, 0xae, 0x95, 0x0e, 0x19, 0x1d, 0xb3, 0x97,
0x25, 0x1a, 0xd2, 0xa0, 0x85, 0xbf, 0x93, 0xb1, 0xff, 0x26, 0x13, 0x1e, 0x7e, 0x05, 0x16, 0xd5,
0x4a, 0x57, 0x66, 0x44, 0x6e, 0x99, 0x3f, 0x1c, 0x7b, 0xa6, 0xf6, 0xb8, 0xd0, 0x4b, 0x47, 0x8d,
0x29, 0x8b, 0x9b, 0x11, 0x68, 0x34, 0xa0, 0x0a, 0x9e, 0x07, 0x99, 0x26, 0x75, 0x11, 0x69, 0x35,
0xa8, 0x83, 0x75, 0x5a, 0xce, 0xea, 0x2b, 0xa9, 0xd2, 0xdf, 0x46, 0x61, 0x1e, 0xf8, 0x3a, 0xc8,
0x34, 0xf1, 0xed, 0x40, 0x24, 0xa5, 0x44, 0x0e, 0x1b, 0x7d, 0x99, 0x4a, 0x9f, 0x84, 0xc2, 0x7c,
0xf0, 0xba, 0xcc, 0x06, 0x59, 0xa5, 0x79, 0x36, 0xad, 0xdc, 0x7c, 0x7a, 0xdc, 0xff, 0x99, 0x22,
0x2f, 0x4b, 0x44, 0x28, 0x73, 0x14, 0x04, 0xf2, 0xb1, 0x0a, 0xbf, 0xa7, 0xc1, 0xc9, 0x3d, 0xcf,
0x3e, 0xfc, 0x00, 0x40, 0xaf, 0xca, 0x09, 0xeb, 0x90, 0xda, 0x45, 0xdd, 0x16, 0xc9, 0xfe, 0x44,
0xfa, 0x38, 0xa5, 0xaf, 0xc4, 0xab, 0x43, 0x54, 0x34, 0x42, 0x02, 0x3a, 0xe0, 0x90, 0x3c, 0x0c,
0xda, 0xa1, 0xd4, 0xb4, 0x42, 0x8f, 0x77, 0xd2, 0x5e, 0xea, 0x75, 0xf3, 0x87, 0x36, 0xc2, 0x20,
0x28, 0x8a, 0x09, 0xd7, 0xc1, 0x92, 0xa9, 0xf5, 0x03, 0x0e, 0x3e, 0x66, 0x3c, 0xb0, 0x54, 0x8e,
0x92, 0xd1, 0x20, 0xbf, 0x84, 0xa8, 0x11, 0x4e, 0x19, 0xa9, 0x05, 0x10, 0xe9, 0x28, 0xc4, 0x7b,
0x51, 0x32, 0x1a, 0xe4, 0x87, 0x0d, 0xb0, 0x68, 0x50, 0x8d, 0xbf, 0xb3, 0xb3, 0x2a, 0x64, 0x67,
0x26, 0x0c, 0x99, 0x2e, 0xba, 0x41, 0x0e, 0x96, 0x23, 0x58, 0x68, 0x00, 0x1b, 0x0a, 0x00, 0x1c,
0xbf, 0xc4, 0xf1, 0xec, 0x9c, 0xd2, 0xf4, 0xee, 0x94, 0x67, 0x30, 0xa8, 0x95, 0xfd, 0xeb, 0x2b,
0xd8, 0xe2, 0x28, 0xa4, 0xa7, 0xf0, 0x73, 0x0a, 0x80, 0x7e, 0x86, 0xc1, 0xb5, 0x48, 0x91, 0x5f,
0x1d, 0x28, 0xf2, 0xcb, 0xe1, 0xe6, 0x34, 0x54, 0xd0, 0x6f, 0x80, 0x39, 0x4f, 0x9d, 0x3c, 0x93,
0x0c, 0xc5, 0x71, 0x66, 0x07, 0x77, 0x69, 0x80, 0x56, 0x02, 0xb2, 0x74, 0x9a, 0xf3, 0x6b, 0xd0,
0xe0, 0x15, 0x90, 0x6e, 0x79, 0x35, 0xff, 0xf2, 0x3b, 0x37, 0x0e, 0xf5, 0x9a, 0x57, 0xe3, 0x11,
0xcc, 0x79, 0x69, 0xbb, 0xdc, 0x45, 0x0a, 0x07, 0x7e, 0x0e, 0xe6, 0xfd, 0x76, 0xc3, 0xf4, 0x26,
0x6b, 0xe3, 0x30, 0x91, 0xe1, 0x8f, 0xe0, 0x2e, 0xc8, 0x0a, 0xea, 0x53, 0x50, 0x80, 0x29, 0xf1,
0x89, 0xe9, 0x16, 0x55, 0xad, 0x9f, 0x00, 0x7f, 0x54, 0xdb, 0xaf, 0xf1, 0x7d, 0x0a, 0x0a, 0x30,
0x0b, 0xbf, 0xa6, 0xc0, 0x42, 0xa4, 0x0d, 0x7d, 0x1e, 0xe1, 0xd2, 0x59, 0xbd, 0xbf, 0xe1, 0xd2,
0x98, 0xfb, 0x1f, 0x2e, 0x8d, 0xfb, 0xf4, 0xc2, 0x15, 0xc2, 0x1f, 0x11, 0xae, 0x9f, 0x52, 0x00,
0x0e, 0x67, 0x3a, 0x74, 0xc0, 0x9c, 0x1e, 0x35, 0xf6, 0xe3, 0x86, 0x0b, 0xba, 0x0e, 0x73, 0x99,
0x19, 0xe8, 0x81, 0x01, 0x25, 0x39, 0xd1, 0x80, 0x42, 0xf6, 0x63, 0x90, 0x0b, 0xae, 0xc0, 0xd8,
0x61, 0xee, 0x0c, 0x98, 0xe7, 0xfe, 0x04, 0xa4, 0x5b, 0xa7, 0xa0, 0x2b, 0x09, 0x46, 0x99, 0x80,
0x03, 0xd6, 0xc0, 0x02, 0x0e, 0xcf, 0x14, 0xb3, 0x53, 0x59, 0xb5, 0x2c, 0x07, 0x98, 0xc8, 0x30,
0x11, 0x41, 0x2d, 0xfc, 0x32, 0x18, 0x2a, 0x7d, 0xbe, 0x5e, 0xd8, 0x50, 0x3d, 0xbb, 0xd1, 0xee,
0x45, 0x8c, 0xd6, 0xdd, 0x24, 0x58, 0x1e, 0x2c, 0xf6, 0x53, 0x8d, 0xe4, 0x77, 0x46, 0xbe, 0x2b,
0x24, 0xa7, 0x32, 0x3a, 0x98, 0x1f, 0x26, 0x7b, 0x5b, 0x88, 0x38, 0x36, 0x35, 0xd6, 0xb1, 0x57,
0xc1, 0x6c, 0xe7, 0x09, 0x66, 0xea, 0x83, 0xb2, 0x1f, 0xd7, 0xb6, 0x68, 0x9c, 0xc2, 0x9f, 0x51,
0x1f, 0x4e, 0xff, 0xac, 0xf1, 0xf5, 0xe8, 0xd9, 0x7f, 0x3a, 0x27, 0x9e, 0x30, 0xca, 0x26, 0x9e,
0xff, 0x9f, 0xb7, 0x1b, 0x7f, 0x4b, 0x82, 0x23, 0xa3, 0x7a, 0x04, 0x58, 0x36, 0x2f, 0x85, 0xda,
0x89, 0x76, 0xf8, 0xa5, 0xf0, 0x51, 0x37, 0x9f, 0x1f, 0x31, 0xe0, 0xfa, 0x30, 0xa1, 0xc7, 0xc4,
0x8f, 0x41, 0x36, 0x92, 0x39, 0xd7, 0x05, 0x6d, 0xd0, 0x3b, 0xba, 0x75, 0xd7, 0x43, 0xca, 0xcb,
0xbd, 0x6e, 0x3e, 0xbb, 0x15, 0xc3, 0x83, 0x62, 0xa5, 0x63, 0x5e, 0xd4, 0x52, 0x4f, 0xfd, 0x45,
0xed, 0x8f, 0x61, 0x7f, 0xe9, 0xd4, 0xdb, 0x17, 0x7f, 0x7d, 0x0a, 0x8e, 0x47, 0x73, 0x64, 0xd8,
0x61, 0x27, 0x7b, 0xdd, 0xfc, 0xf1, 0x72, 0x1c, 0x13, 0x8a, 0x97, 0x8f, 0x4b, 0xf4, 0xd4, 0xb3,
0x49, 0xf4, 0xd2, 0xd9, 0x7b, 0x0f, 0x73, 0x33, 0xf7, 0x1f, 0xe6, 0x66, 0x1e, 0x3c, 0xcc, 0xcd,
0x7c, 0xd3, 0xcb, 0x25, 0xee, 0xf5, 0x72, 0x89, 0xfb, 0xbd, 0x5c, 0xe2, 0x41, 0x2f, 0x97, 0xf8,
0xa7, 0x97, 0x4b, 0x7c, 0xf7, 0x6f, 0x6e, 0xe6, 0x93, 0x03, 0xe6, 0x26, 0xfa, 0x2f, 0x00, 0x00,
0xff, 0xff, 0x8e, 0x62, 0x63, 0xbc, 0xb2, 0x18, 0x00, 0x00,
>>>>>>> Update autoscaling conversion and validation for v2beta2 inclusion
} }

View File

@ -275,10 +275,11 @@ message ObjectMetricSource {
// targetValue is the target value of the metric (as a quantity). // targetValue is the target value of the metric (as a quantity).
optional k8s.io.apimachinery.pkg.api.resource.Quantity targetValue = 3; optional k8s.io.apimachinery.pkg.api.resource.Quantity targetValue = 3;
// selector is the selector for the given metric // selector is the string-encoded form of a standard kubernetes label selector for the given metric
// it is the string-encoded form of a standard kubernetes label selector // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping
// When unset, just the metricName will be used to gather metrics.
// +optional // +optional
optional string selector = 4; optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4;
// averageValue is the target value of the average of the // averageValue is the target value of the average of the
// metric across all relevant pods (as a quantity) // metric across all relevant pods (as a quantity)
@ -298,10 +299,11 @@ message ObjectMetricStatus {
// currentValue is the current value of the metric (as a quantity). // currentValue is the current value of the metric (as a quantity).
optional k8s.io.apimachinery.pkg.api.resource.Quantity currentValue = 3; optional k8s.io.apimachinery.pkg.api.resource.Quantity currentValue = 3;
// selector is the selector for the given metric // selector is the string-encoded form of a standard kubernetes label selector for the given metric
// it is the string-encoded form of a standard kubernetes label selector // When set in the ObjectMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping.
// When unset, just the metricName will be used to gather metrics.
// +optional // +optional
optional string selector = 4; optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4;
// averageValue is the current value of the average of the // averageValue is the current value of the average of the
// metric across all relevant pods (as a quantity) // metric across all relevant pods (as a quantity)
@ -321,14 +323,11 @@ message PodsMetricSource {
// metric across all relevant pods (as a quantity) // metric across all relevant pods (as a quantity)
optional k8s.io.apimachinery.pkg.api.resource.Quantity targetAverageValue = 2; optional k8s.io.apimachinery.pkg.api.resource.Quantity targetAverageValue = 2;
// selector is the selector for the given metric // selector is the string-encoded form of a standard kubernetes label selector for the given metric
// it is the string-encoded form of a standard kubernetes label selector // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping
// When unset, just the metricName will be used to gather metrics.
// +optional // +optional
optional string selector = 3; optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3;
// value is the target value of the metric (as a quantity).
// +optional
optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 4;
} }
// PodsMetricStatus indicates the current value of a metric describing each pod in // PodsMetricStatus indicates the current value of a metric describing each pod in
@ -341,14 +340,11 @@ message PodsMetricStatus {
// metric across all relevant pods (as a quantity) // metric across all relevant pods (as a quantity)
optional k8s.io.apimachinery.pkg.api.resource.Quantity currentAverageValue = 2; optional k8s.io.apimachinery.pkg.api.resource.Quantity currentAverageValue = 2;
// selector is the selector for the given metric // selector is the string-encoded form of a standard kubernetes label selector for the given metric
// it is the string-encoded form of a standard kubernetes label selector // When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping.
// When unset, just the metricName will be used to gather metrics.
// +optional // +optional
optional string selector = 3; optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 3;
// value is the current value of the metric (as a quantity)
// +optional
optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 4;
} }
// ResourceMetricSource indicates how to scale on a resource metric known to // ResourceMetricSource indicates how to scale on a resource metric known to

View File

@ -153,7 +153,7 @@ var map_ObjectMetricSource = map[string]string{
"target": "target is the described Kubernetes object.", "target": "target is the described Kubernetes object.",
"metricName": "metricName is the name of the metric in question.", "metricName": "metricName is the name of the metric in question.",
"targetValue": "targetValue is the target value of the metric (as a quantity).", "targetValue": "targetValue is the target value of the metric (as a quantity).",
"selector": "selector is the selector for the given metric it is the string-encoded form of a standard kubernetes label selector", "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping When unset, just the metricName will be used to gather metrics.",
"averageValue": "averageValue is the target value of the average of the metric across all relevant pods (as a quantity)", "averageValue": "averageValue is the target value of the average of the metric across all relevant pods (as a quantity)",
} }
@ -166,7 +166,7 @@ var map_ObjectMetricStatus = map[string]string{
"target": "target is the described Kubernetes object.", "target": "target is the described Kubernetes object.",
"metricName": "metricName is the name of the metric in question.", "metricName": "metricName is the name of the metric in question.",
"currentValue": "currentValue is the current value of the metric (as a quantity).", "currentValue": "currentValue is the current value of the metric (as a quantity).",
"selector": "selector is the selector for the given metric it is the string-encoded form of a standard kubernetes label selector", "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the ObjectMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.",
"averageValue": "averageValue is the current value of the average of the metric across all relevant pods (as a quantity)", "averageValue": "averageValue is the current value of the average of the metric across all relevant pods (as a quantity)",
} }
@ -178,8 +178,7 @@ var map_PodsMetricSource = map[string]string{
"": "PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.", "": "PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
"metricName": "metricName is the name of the metric in question", "metricName": "metricName is the name of the metric in question",
"targetAverageValue": "targetAverageValue is the target value of the average of the metric across all relevant pods (as a quantity)", "targetAverageValue": "targetAverageValue is the target value of the average of the metric across all relevant pods (as a quantity)",
"selector": "selector is the selector for the given metric it is the string-encoded form of a standard kubernetes label selector", "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping When unset, just the metricName will be used to gather metrics.",
"value": "value is the target value of the metric (as a quantity).",
} }
func (PodsMetricSource) SwaggerDoc() map[string]string { func (PodsMetricSource) SwaggerDoc() map[string]string {
@ -190,8 +189,7 @@ var map_PodsMetricStatus = map[string]string{
"": "PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second).", "": "PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second).",
"metricName": "metricName is the name of the metric in question", "metricName": "metricName is the name of the metric in question",
"currentAverageValue": "currentAverageValue is the current value of the average of the metric across all relevant pods (as a quantity)", "currentAverageValue": "currentAverageValue is the current value of the average of the metric across all relevant pods (as a quantity)",
"selector": "selector is the selector for the given metric it is the string-encoded form of a standard kubernetes label selector", "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set in the PodsMetricSource, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.",
"value": "value is the current value of the metric (as a quantity)",
} }
func (PodsMetricStatus) SwaggerDoc() map[string]string { func (PodsMetricStatus) SwaggerDoc() map[string]string {

View File

@ -322,6 +322,11 @@ func (in *ObjectMetricSource) DeepCopyInto(out *ObjectMetricSource) {
*out = *in *out = *in
out.Target = in.Target out.Target = in.Target
out.TargetValue = in.TargetValue.DeepCopy() out.TargetValue = in.TargetValue.DeepCopy()
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(v1.LabelSelector)
(*in).DeepCopyInto(*out)
}
if in.AverageValue != nil { if in.AverageValue != nil {
in, out := &in.AverageValue, &out.AverageValue in, out := &in.AverageValue, &out.AverageValue
x := (*in).DeepCopy() x := (*in).DeepCopy()
@ -345,6 +350,11 @@ func (in *ObjectMetricStatus) DeepCopyInto(out *ObjectMetricStatus) {
*out = *in *out = *in
out.Target = in.Target out.Target = in.Target
out.CurrentValue = in.CurrentValue.DeepCopy() out.CurrentValue = in.CurrentValue.DeepCopy()
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(v1.LabelSelector)
(*in).DeepCopyInto(*out)
}
if in.AverageValue != nil { if in.AverageValue != nil {
in, out := &in.AverageValue, &out.AverageValue in, out := &in.AverageValue, &out.AverageValue
x := (*in).DeepCopy() x := (*in).DeepCopy()
@ -367,10 +377,10 @@ func (in *ObjectMetricStatus) DeepCopy() *ObjectMetricStatus {
func (in *PodsMetricSource) DeepCopyInto(out *PodsMetricSource) { func (in *PodsMetricSource) DeepCopyInto(out *PodsMetricSource) {
*out = *in *out = *in
out.TargetAverageValue = in.TargetAverageValue.DeepCopy() out.TargetAverageValue = in.TargetAverageValue.DeepCopy()
if in.Value != nil { if in.Selector != nil {
in, out := &in.Value, &out.Value in, out := &in.Selector, &out.Selector
x := (*in).DeepCopy() *out = new(v1.LabelSelector)
*out = &x (*in).DeepCopyInto(*out)
} }
return return
} }
@ -389,10 +399,10 @@ func (in *PodsMetricSource) DeepCopy() *PodsMetricSource {
func (in *PodsMetricStatus) DeepCopyInto(out *PodsMetricStatus) { func (in *PodsMetricStatus) DeepCopyInto(out *PodsMetricStatus) {
*out = *in *out = *in
out.CurrentAverageValue = in.CurrentAverageValue.DeepCopy() out.CurrentAverageValue = in.CurrentAverageValue.DeepCopy()
if in.Value != nil { if in.Selector != nil {
in, out := &in.Value, &out.Value in, out := &in.Selector, &out.Selector
x := (*in).DeepCopy() *out = new(v1.LabelSelector)
*out = &x (*in).DeepCopyInto(*out)
} }
return return
} }

View File

@ -33,7 +33,7 @@ limitations under the License.
HorizontalPodAutoscalerList HorizontalPodAutoscalerList
HorizontalPodAutoscalerSpec HorizontalPodAutoscalerSpec
HorizontalPodAutoscalerStatus HorizontalPodAutoscalerStatus
MetricIdent MetricIdentifier
MetricSpec MetricSpec
MetricStatus MetricStatus
MetricTarget MetricTarget
@ -114,9 +114,9 @@ func (*HorizontalPodAutoscalerStatus) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{7} return fileDescriptorGenerated, []int{7}
} }
func (m *MetricIdent) Reset() { *m = MetricIdent{} } func (m *MetricIdentifier) Reset() { *m = MetricIdentifier{} }
func (*MetricIdent) ProtoMessage() {} func (*MetricIdentifier) ProtoMessage() {}
func (*MetricIdent) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } func (*MetricIdentifier) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} }
func (m *MetricSpec) Reset() { *m = MetricSpec{} } func (m *MetricSpec) Reset() { *m = MetricSpec{} }
func (*MetricSpec) ProtoMessage() {} func (*MetricSpec) ProtoMessage() {}
@ -167,7 +167,7 @@ func init() {
proto.RegisterType((*HorizontalPodAutoscalerList)(nil), "k8s.io.api.autoscaling.v2beta2.HorizontalPodAutoscalerList") proto.RegisterType((*HorizontalPodAutoscalerList)(nil), "k8s.io.api.autoscaling.v2beta2.HorizontalPodAutoscalerList")
proto.RegisterType((*HorizontalPodAutoscalerSpec)(nil), "k8s.io.api.autoscaling.v2beta2.HorizontalPodAutoscalerSpec") proto.RegisterType((*HorizontalPodAutoscalerSpec)(nil), "k8s.io.api.autoscaling.v2beta2.HorizontalPodAutoscalerSpec")
proto.RegisterType((*HorizontalPodAutoscalerStatus)(nil), "k8s.io.api.autoscaling.v2beta2.HorizontalPodAutoscalerStatus") proto.RegisterType((*HorizontalPodAutoscalerStatus)(nil), "k8s.io.api.autoscaling.v2beta2.HorizontalPodAutoscalerStatus")
proto.RegisterType((*MetricIdent)(nil), "k8s.io.api.autoscaling.v2beta2.MetricIdent") proto.RegisterType((*MetricIdentifier)(nil), "k8s.io.api.autoscaling.v2beta2.MetricIdentifier")
proto.RegisterType((*MetricSpec)(nil), "k8s.io.api.autoscaling.v2beta2.MetricSpec") proto.RegisterType((*MetricSpec)(nil), "k8s.io.api.autoscaling.v2beta2.MetricSpec")
proto.RegisterType((*MetricStatus)(nil), "k8s.io.api.autoscaling.v2beta2.MetricStatus") proto.RegisterType((*MetricStatus)(nil), "k8s.io.api.autoscaling.v2beta2.MetricStatus")
proto.RegisterType((*MetricTarget)(nil), "k8s.io.api.autoscaling.v2beta2.MetricTarget") proto.RegisterType((*MetricTarget)(nil), "k8s.io.api.autoscaling.v2beta2.MetricTarget")
@ -508,7 +508,7 @@ func (m *HorizontalPodAutoscalerStatus) MarshalTo(dAtA []byte) (int, error) {
return i, nil return i, nil
} }
func (m *MetricIdent) Marshal() (dAtA []byte, err error) { func (m *MetricIdentifier) Marshal() (dAtA []byte, err error) {
size := m.Size() size := m.Size()
dAtA = make([]byte, size) dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA) n, err := m.MarshalTo(dAtA)
@ -518,7 +518,7 @@ func (m *MetricIdent) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil return dAtA[:n], nil
} }
func (m *MetricIdent) MarshalTo(dAtA []byte) (int, error) { func (m *MetricIdentifier) MarshalTo(dAtA []byte) (int, error) {
var i int var i int
_ = i _ = i
var l int var l int
@ -527,10 +527,16 @@ func (m *MetricIdent) MarshalTo(dAtA []byte) (int, error) {
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
i += copy(dAtA[i:], m.Name) i += copy(dAtA[i:], m.Name)
if m.Selector != nil {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Selector))) i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
i += copy(dAtA[i:], m.Selector) n12, err := m.Selector.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n12
}
return i, nil return i, nil
} }
@ -557,42 +563,42 @@ func (m *MetricSpec) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Object.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Object.Size()))
n12, err := m.Object.MarshalTo(dAtA[i:]) n13, err := m.Object.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n12
}
if m.Pods != nil {
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Pods.Size()))
n13, err := m.Pods.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n13 i += n13
} }
if m.Resource != nil { if m.Pods != nil {
dAtA[i] = 0x22 dAtA[i] = 0x1a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Resource.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Pods.Size()))
n14, err := m.Resource.MarshalTo(dAtA[i:]) n14, err := m.Pods.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n14 i += n14
} }
if m.External != nil { if m.Resource != nil {
dAtA[i] = 0x2a dAtA[i] = 0x22
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.External.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Resource.Size()))
n15, err := m.External.MarshalTo(dAtA[i:]) n15, err := m.Resource.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n15 i += n15
} }
if m.External != nil {
dAtA[i] = 0x2a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.External.Size()))
n16, err := m.External.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n16
}
return i, nil return i, nil
} }
@ -619,42 +625,42 @@ func (m *MetricStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Object.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Object.Size()))
n16, err := m.Object.MarshalTo(dAtA[i:]) n17, err := m.Object.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n16
}
if m.Pods != nil {
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Pods.Size()))
n17, err := m.Pods.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n17 i += n17
} }
if m.Resource != nil { if m.Pods != nil {
dAtA[i] = 0x22 dAtA[i] = 0x1a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Resource.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Pods.Size()))
n18, err := m.Resource.MarshalTo(dAtA[i:]) n18, err := m.Pods.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n18 i += n18
} }
if m.External != nil { if m.Resource != nil {
dAtA[i] = 0x2a dAtA[i] = 0x22
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.External.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Resource.Size()))
n19, err := m.External.MarshalTo(dAtA[i:]) n19, err := m.Resource.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n19 i += n19
} }
if m.External != nil {
dAtA[i] = 0x2a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.External.Size()))
n20, err := m.External.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n20
}
return i, nil return i, nil
} }
@ -681,21 +687,21 @@ func (m *MetricTarget) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Value.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Value.Size()))
n20, err := m.Value.MarshalTo(dAtA[i:]) n21, err := m.Value.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n20 i += n21
} }
if m.AverageValue != nil { if m.AverageValue != nil {
dAtA[i] = 0x1a dAtA[i] = 0x1a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.AverageValue.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.AverageValue.Size()))
n21, err := m.AverageValue.MarshalTo(dAtA[i:]) n22, err := m.AverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n21 i += n22
} }
if m.AverageUtilization != nil { if m.AverageUtilization != nil {
dAtA[i] = 0x20 dAtA[i] = 0x20
@ -724,21 +730,21 @@ func (m *MetricValueStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Value.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Value.Size()))
n22, err := m.Value.MarshalTo(dAtA[i:]) n23, err := m.Value.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n22 i += n23
} }
if m.AverageValue != nil { if m.AverageValue != nil {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.AverageValue.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.AverageValue.Size()))
n23, err := m.AverageValue.MarshalTo(dAtA[i:]) n24, err := m.AverageValue.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n23 i += n24
} }
if m.AverageUtilization != nil { if m.AverageUtilization != nil {
dAtA[i] = 0x18 dAtA[i] = 0x18
@ -766,27 +772,27 @@ func (m *ObjectMetricSource) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.DescribedObject.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.DescribedObject.Size()))
n24, err := m.DescribedObject.MarshalTo(dAtA[i:]) n25, err := m.DescribedObject.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n24
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size()))
n25, err := m.Target.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n25 i += n25
dAtA[i] = 0x1a dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Metric.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size()))
n26, err := m.Metric.MarshalTo(dAtA[i:]) n26, err := m.Target.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n26 i += n26
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Metric.Size()))
n27, err := m.Metric.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n27
return i, nil return i, nil
} }
@ -808,27 +814,27 @@ func (m *ObjectMetricStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Metric.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Metric.Size()))
n27, err := m.Metric.MarshalTo(dAtA[i:]) n28, err := m.Metric.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n27
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Current.Size()))
n28, err := m.Current.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n28 i += n28
dAtA[i] = 0x1a dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.DescribedObject.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Current.Size()))
n29, err := m.DescribedObject.MarshalTo(dAtA[i:]) n29, err := m.Current.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n29 i += n29
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.DescribedObject.Size()))
n30, err := m.DescribedObject.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n30
return i, nil return i, nil
} }
@ -850,19 +856,19 @@ func (m *PodsMetricSource) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Metric.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Metric.Size()))
n30, err := m.Metric.MarshalTo(dAtA[i:]) n31, err := m.Metric.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n30
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size()))
n31, err := m.Target.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n31 i += n31
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size()))
n32, err := m.Target.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n32
return i, nil return i, nil
} }
@ -884,19 +890,19 @@ func (m *PodsMetricStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Metric.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Metric.Size()))
n32, err := m.Metric.MarshalTo(dAtA[i:]) n33, err := m.Metric.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n32
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Current.Size()))
n33, err := m.Current.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n33 i += n33
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Current.Size()))
n34, err := m.Current.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n34
return i, nil return i, nil
} }
@ -922,11 +928,11 @@ func (m *ResourceMetricSource) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size()))
n34, err := m.Target.MarshalTo(dAtA[i:]) n35, err := m.Target.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n34 i += n35
return i, nil return i, nil
} }
@ -952,11 +958,11 @@ func (m *ResourceMetricStatus) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Current.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Current.Size()))
n35, err := m.Current.MarshalTo(dAtA[i:]) n36, err := m.Current.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n35 i += n36
return i, nil return i, nil
} }
@ -1106,13 +1112,15 @@ func (m *HorizontalPodAutoscalerStatus) Size() (n int) {
return n return n
} }
func (m *MetricIdent) Size() (n int) { func (m *MetricIdentifier) Size() (n int) {
var l int var l int
_ = l _ = l
l = len(m.Name) l = len(m.Name)
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = len(m.Selector) if m.Selector != nil {
l = m.Selector.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
}
return n return n
} }
@ -1294,7 +1302,7 @@ func (this *ExternalMetricSource) String() string {
return "nil" return "nil"
} }
s := strings.Join([]string{`&ExternalMetricSource{`, s := strings.Join([]string{`&ExternalMetricSource{`,
`Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdent", "MetricIdent", 1), `&`, ``, 1) + `,`, `Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdentifier", "MetricIdentifier", 1), `&`, ``, 1) + `,`,
`Target:` + strings.Replace(strings.Replace(this.Target.String(), "MetricTarget", "MetricTarget", 1), `&`, ``, 1) + `,`, `Target:` + strings.Replace(strings.Replace(this.Target.String(), "MetricTarget", "MetricTarget", 1), `&`, ``, 1) + `,`,
`}`, `}`,
}, "") }, "")
@ -1305,7 +1313,7 @@ func (this *ExternalMetricStatus) String() string {
return "nil" return "nil"
} }
s := strings.Join([]string{`&ExternalMetricStatus{`, s := strings.Join([]string{`&ExternalMetricStatus{`,
`Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdent", "MetricIdent", 1), `&`, ``, 1) + `,`, `Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdentifier", "MetricIdentifier", 1), `&`, ``, 1) + `,`,
`Current:` + strings.Replace(strings.Replace(this.Current.String(), "MetricValueStatus", "MetricValueStatus", 1), `&`, ``, 1) + `,`, `Current:` + strings.Replace(strings.Replace(this.Current.String(), "MetricValueStatus", "MetricValueStatus", 1), `&`, ``, 1) + `,`,
`}`, `}`,
}, "") }, "")
@ -1376,13 +1384,13 @@ func (this *HorizontalPodAutoscalerStatus) String() string {
}, "") }, "")
return s return s
} }
func (this *MetricIdent) String() string { func (this *MetricIdentifier) String() string {
if this == nil { if this == nil {
return "nil" return "nil"
} }
s := strings.Join([]string{`&MetricIdent{`, s := strings.Join([]string{`&MetricIdentifier{`,
`Name:` + fmt.Sprintf("%v", this.Name) + `,`, `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
`Selector:` + fmt.Sprintf("%v", this.Selector) + `,`, `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s
@ -1447,7 +1455,7 @@ func (this *ObjectMetricSource) String() string {
s := strings.Join([]string{`&ObjectMetricSource{`, s := strings.Join([]string{`&ObjectMetricSource{`,
`DescribedObject:` + strings.Replace(strings.Replace(this.DescribedObject.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`, `DescribedObject:` + strings.Replace(strings.Replace(this.DescribedObject.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
`Target:` + strings.Replace(strings.Replace(this.Target.String(), "MetricTarget", "MetricTarget", 1), `&`, ``, 1) + `,`, `Target:` + strings.Replace(strings.Replace(this.Target.String(), "MetricTarget", "MetricTarget", 1), `&`, ``, 1) + `,`,
`Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdent", "MetricIdent", 1), `&`, ``, 1) + `,`, `Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdentifier", "MetricIdentifier", 1), `&`, ``, 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s
@ -1457,7 +1465,7 @@ func (this *ObjectMetricStatus) String() string {
return "nil" return "nil"
} }
s := strings.Join([]string{`&ObjectMetricStatus{`, s := strings.Join([]string{`&ObjectMetricStatus{`,
`Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdent", "MetricIdent", 1), `&`, ``, 1) + `,`, `Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdentifier", "MetricIdentifier", 1), `&`, ``, 1) + `,`,
`Current:` + strings.Replace(strings.Replace(this.Current.String(), "MetricValueStatus", "MetricValueStatus", 1), `&`, ``, 1) + `,`, `Current:` + strings.Replace(strings.Replace(this.Current.String(), "MetricValueStatus", "MetricValueStatus", 1), `&`, ``, 1) + `,`,
`DescribedObject:` + strings.Replace(strings.Replace(this.DescribedObject.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`, `DescribedObject:` + strings.Replace(strings.Replace(this.DescribedObject.String(), "CrossVersionObjectReference", "CrossVersionObjectReference", 1), `&`, ``, 1) + `,`,
`}`, `}`,
@ -1469,7 +1477,7 @@ func (this *PodsMetricSource) String() string {
return "nil" return "nil"
} }
s := strings.Join([]string{`&PodsMetricSource{`, s := strings.Join([]string{`&PodsMetricSource{`,
`Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdent", "MetricIdent", 1), `&`, ``, 1) + `,`, `Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdentifier", "MetricIdentifier", 1), `&`, ``, 1) + `,`,
`Target:` + strings.Replace(strings.Replace(this.Target.String(), "MetricTarget", "MetricTarget", 1), `&`, ``, 1) + `,`, `Target:` + strings.Replace(strings.Replace(this.Target.String(), "MetricTarget", "MetricTarget", 1), `&`, ``, 1) + `,`,
`}`, `}`,
}, "") }, "")
@ -1480,7 +1488,7 @@ func (this *PodsMetricStatus) String() string {
return "nil" return "nil"
} }
s := strings.Join([]string{`&PodsMetricStatus{`, s := strings.Join([]string{`&PodsMetricStatus{`,
`Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdent", "MetricIdent", 1), `&`, ``, 1) + `,`, `Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdentifier", "MetricIdentifier", 1), `&`, ``, 1) + `,`,
`Current:` + strings.Replace(strings.Replace(this.Current.String(), "MetricValueStatus", "MetricValueStatus", 1), `&`, ``, 1) + `,`, `Current:` + strings.Replace(strings.Replace(this.Current.String(), "MetricValueStatus", "MetricValueStatus", 1), `&`, ``, 1) + `,`,
`}`, `}`,
}, "") }, "")
@ -2673,7 +2681,7 @@ func (m *HorizontalPodAutoscalerStatus) Unmarshal(dAtA []byte) error {
} }
return nil return nil
} }
func (m *MetricIdent) Unmarshal(dAtA []byte) error { func (m *MetricIdentifier) Unmarshal(dAtA []byte) error {
l := len(dAtA) l := len(dAtA)
iNdEx := 0 iNdEx := 0
for iNdEx < l { for iNdEx < l {
@ -2696,10 +2704,10 @@ func (m *MetricIdent) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3) fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7) wireType := int(wire & 0x7)
if wireType == 4 { if wireType == 4 {
return fmt.Errorf("proto: MetricIdent: wiretype end group for non-group") return fmt.Errorf("proto: MetricIdentifier: wiretype end group for non-group")
} }
if fieldNum <= 0 { if fieldNum <= 0 {
return fmt.Errorf("proto: MetricIdent: illegal tag %d (wire type %d)", fieldNum, wire) return fmt.Errorf("proto: MetricIdentifier: illegal tag %d (wire type %d)", fieldNum, wire)
} }
switch fieldNum { switch fieldNum {
case 1: case 1:
@ -2735,7 +2743,7 @@ func (m *MetricIdent) Unmarshal(dAtA []byte) error {
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType) return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
} }
var stringLen uint64 var msglen int
for shift := uint(0); ; shift += 7 { for shift := uint(0); ; shift += 7 {
if shift >= 64 { if shift >= 64 {
return ErrIntOverflowGenerated return ErrIntOverflowGenerated
@ -2745,20 +2753,24 @@ func (m *MetricIdent) Unmarshal(dAtA []byte) error {
} }
b := dAtA[iNdEx] b := dAtA[iNdEx]
iNdEx++ iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift msglen |= (int(b) & 0x7F) << shift
if b < 0x80 { if b < 0x80 {
break break
} }
} }
intStringLen := int(stringLen) if msglen < 0 {
if intStringLen < 0 {
return ErrInvalidLengthGenerated return ErrInvalidLengthGenerated
} }
postIndex := iNdEx + intStringLen postIndex := iNdEx + msglen
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
m.Selector = string(dAtA[iNdEx:postIndex]) if m.Selector == nil {
m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{}
}
if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex iNdEx = postIndex
default: default:
iNdEx = preIndex iNdEx = preIndex
@ -4332,95 +4344,95 @@ func init() {
} }
var fileDescriptorGenerated = []byte{ var fileDescriptorGenerated = []byte{
// 1438 bytes of a gzipped FileDescriptorProto // 1425 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0xdd, 0x6f, 0x1b, 0xc5, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0xdd, 0x6f, 0x1b, 0xc5,
0x16, 0xcf, 0xda, 0x8e, 0x93, 0x8e, 0xd3, 0x24, 0x9d, 0x5b, 0xb5, 0x56, 0xaa, 0x6b, 0x47, 0xab, 0x16, 0xcf, 0xda, 0x8e, 0x93, 0x8e, 0xd3, 0x24, 0x9d, 0x5b, 0xb5, 0x56, 0xaa, 0x6b, 0x47, 0xab,
0xab, 0xab, 0x52, 0xda, 0xdd, 0xc6, 0x84, 0x0f, 0x09, 0x21, 0x11, 0x07, 0x68, 0x2b, 0x92, 0xb6, 0xab, 0xab, 0x52, 0xd1, 0x35, 0x31, 0xe1, 0x43, 0x42, 0x48, 0xc4, 0x01, 0xda, 0x8a, 0xa4, 0x2d,
0x4c, 0xd2, 0x3e, 0xa0, 0x16, 0x75, 0xbc, 0x3b, 0x75, 0x87, 0x78, 0x77, 0xad, 0x99, 0xb1, 0xd5, 0x93, 0xb4, 0x42, 0xa8, 0x45, 0x8c, 0x77, 0x4f, 0xdc, 0x21, 0xde, 0x5d, 0x6b, 0x76, 0x6c, 0x35,
0x14, 0x09, 0xf1, 0xc2, 0x3b, 0x42, 0xe2, 0x9f, 0x40, 0xbc, 0xf0, 0x82, 0xc4, 0x03, 0x42, 0x08, 0x45, 0x42, 0xbc, 0xf0, 0x8e, 0x40, 0xfc, 0x13, 0x88, 0x17, 0x5e, 0x90, 0x78, 0xe4, 0x43, 0xa8,
0x21, 0xca, 0x03, 0x52, 0x1f, 0x8b, 0x90, 0x2c, 0x6a, 0xfe, 0x8b, 0x3e, 0xa1, 0x9d, 0x99, 0x5d, 0x42, 0x08, 0xf5, 0xb1, 0x08, 0xc9, 0xa2, 0xe6, 0xbf, 0xe8, 0x13, 0xda, 0x99, 0xd9, 0xf5, 0xae,
0xef, 0xfa, 0x23, 0x76, 0xaa, 0xb8, 0xa8, 0x6f, 0x9e, 0x39, 0xe7, 0xfc, 0xce, 0xe7, 0x9c, 0x73, 0xed, 0xc4, 0x4e, 0x95, 0x14, 0xf5, 0xcd, 0x33, 0xe7, 0x9c, 0xdf, 0xf9, 0x9c, 0x73, 0xce, 0x1a,
0xd6, 0xe0, 0xd2, 0xde, 0x1b, 0xdc, 0xa2, 0x81, 0xbd, 0xd7, 0xaa, 0x11, 0xe6, 0x13, 0x41, 0xb8, 0x5d, 0xda, 0x7d, 0x35, 0xb0, 0x98, 0x5f, 0xd9, 0x6d, 0xd7, 0x81, 0x7b, 0x20, 0x20, 0xa8, 0x74,
0xdd, 0x26, 0xbe, 0x1b, 0x30, 0x5b, 0x13, 0x70, 0x93, 0xda, 0xb8, 0x25, 0x02, 0xee, 0xe0, 0x06, 0xc0, 0x73, 0x7c, 0x5e, 0xd1, 0x04, 0xda, 0x62, 0x15, 0xda, 0x16, 0x7e, 0x60, 0xd3, 0x26, 0xf3,
0xf5, 0xeb, 0x76, 0xbb, 0x52, 0x23, 0x02, 0x57, 0xec, 0x3a, 0xf1, 0x09, 0xc3, 0x82, 0xb8, 0x56, 0x1a, 0x95, 0x4e, 0xb5, 0x0e, 0x82, 0x56, 0x2b, 0x0d, 0xf0, 0x80, 0x53, 0x01, 0x8e, 0xd5, 0xe2,
0x93, 0x05, 0x22, 0x80, 0x25, 0xc5, 0x6f, 0xe1, 0x26, 0xb5, 0x12, 0xfc, 0x96, 0xe6, 0x5f, 0xb9, 0xbe, 0xf0, 0x71, 0x49, 0xf1, 0x5b, 0xb4, 0xc5, 0xac, 0x04, 0xbf, 0xa5, 0xf9, 0x97, 0x2e, 0x36,
0x50, 0xa7, 0xe2, 0x5e, 0xab, 0x66, 0x39, 0x81, 0x67, 0xd7, 0x83, 0x7a, 0x60, 0x4b, 0xb1, 0x5a, 0x98, 0xb8, 0xd3, 0xae, 0x5b, 0xb6, 0xef, 0x56, 0x1a, 0x7e, 0xc3, 0xaf, 0x48, 0xb1, 0x7a, 0x7b,
0xeb, 0xae, 0x3c, 0xc9, 0x83, 0xfc, 0xa5, 0xe0, 0x56, 0xcc, 0x84, 0x7a, 0x27, 0x60, 0xc4, 0x6e, 0x47, 0x9e, 0xe4, 0x41, 0xfe, 0x52, 0x70, 0x4b, 0x66, 0x42, 0xbd, 0xed, 0x73, 0xa8, 0x74, 0x56,
0xaf, 0xf5, 0xab, 0x5c, 0x59, 0xef, 0xf1, 0x78, 0xd8, 0xb9, 0x47, 0x7d, 0xc2, 0xf6, 0xed, 0xe6, 0x06, 0x55, 0x2e, 0xad, 0xf6, 0x79, 0x5c, 0x6a, 0xdf, 0x61, 0x1e, 0xf0, 0xbd, 0x4a, 0x6b, 0xb7,
0x5e, 0x5d, 0x0a, 0x31, 0xc2, 0x83, 0x16, 0x73, 0xc8, 0xa1, 0xa4, 0xb8, 0xed, 0x11, 0x81, 0x87, 0x21, 0x85, 0x38, 0x04, 0x7e, 0x9b, 0xdb, 0x70, 0x28, 0xa9, 0xa0, 0xe2, 0x82, 0xa0, 0xa3, 0x74,
0xe9, 0xb2, 0x47, 0x49, 0xb1, 0x96, 0x2f, 0xa8, 0x37, 0xa8, 0xe6, 0xb5, 0x71, 0x02, 0xdc, 0xb9, 0x55, 0xf6, 0x93, 0xe2, 0x6d, 0x4f, 0x30, 0x77, 0x58, 0xcd, 0xcb, 0xe3, 0x04, 0x02, 0xfb, 0x0e,
0x47, 0x3c, 0x3c, 0x20, 0xf7, 0xca, 0x28, 0xb9, 0x96, 0xa0, 0x0d, 0x9b, 0xfa, 0x82, 0x0b, 0xd6, 0xb8, 0x74, 0x50, 0xce, 0xfc, 0xca, 0x40, 0xe7, 0xd6, 0xb9, 0x1f, 0x04, 0x37, 0x81, 0x07, 0xcc,
0x2f, 0x64, 0x7e, 0x65, 0x80, 0x33, 0x9b, 0x2c, 0xe0, 0xfc, 0x26, 0x61, 0x9c, 0x06, 0xfe, 0xb5, 0xf7, 0xae, 0xd5, 0x3f, 0x02, 0x5b, 0x10, 0xd8, 0x01, 0x0e, 0x9e, 0x0d, 0x78, 0x19, 0xe5, 0x76,
0xda, 0xc7, 0xc4, 0x11, 0x88, 0xdc, 0x25, 0x8c, 0xf8, 0x0e, 0x81, 0xab, 0x20, 0xb7, 0x47, 0x7d, 0x99, 0xe7, 0x14, 0x8d, 0x65, 0xe3, 0xfc, 0x89, 0xda, 0xdc, 0xfd, 0x6e, 0x79, 0xaa, 0xd7, 0x2d,
0xb7, 0x68, 0xac, 0x1a, 0x67, 0x8f, 0x55, 0x17, 0x1e, 0x76, 0xca, 0x33, 0xdd, 0x4e, 0x39, 0xf7, 0xe7, 0xde, 0x61, 0x9e, 0x43, 0x24, 0x25, 0xe4, 0xf0, 0xa8, 0x0b, 0xc5, 0x4c, 0x9a, 0xe3, 0x2a,
0x3e, 0xf5, 0x5d, 0x24, 0x29, 0x21, 0x87, 0x8f, 0x3d, 0x52, 0xcc, 0xa4, 0x39, 0xae, 0x62, 0x8f, 0x75, 0x81, 0x48, 0x0a, 0xae, 0x22, 0x44, 0x5b, 0x4c, 0x2b, 0x28, 0x66, 0x25, 0x1f, 0xd6, 0x7c,
0x20, 0x49, 0x81, 0x15, 0x00, 0x70, 0x93, 0x6a, 0x05, 0xc5, 0xac, 0xe4, 0x83, 0x9a, 0x0f, 0x6c, 0x68, 0xed, 0xfa, 0x15, 0x4d, 0x21, 0x09, 0x2e, 0xf3, 0x17, 0x03, 0x9d, 0x7e, 0xeb, 0xae, 0x00,
0x5c, 0xbf, 0xa2, 0x29, 0x28, 0xc1, 0x65, 0xfe, 0x6e, 0x80, 0x93, 0xef, 0xde, 0x17, 0x84, 0xf9, 0xee, 0xd1, 0xe6, 0x26, 0x08, 0xce, 0xec, 0x2d, 0x19, 0x5f, 0xfc, 0x1e, 0xca, 0xbb, 0xf2, 0x2c,
0xb8, 0xb1, 0x4d, 0x04, 0xa3, 0xce, 0x8e, 0x4c, 0x0a, 0xdc, 0x01, 0x79, 0x4f, 0x9e, 0xa5, 0x49, 0x4d, 0x2a, 0x54, 0x5f, 0xb0, 0x0e, 0xae, 0x04, 0x4b, 0x49, 0x5f, 0x71, 0xc0, 0x13, 0x6c, 0x87,
0x85, 0xca, 0xcb, 0xd6, 0xc1, 0xe5, 0x63, 0x29, 0xe9, 0x2b, 0x2e, 0xf1, 0x45, 0x75, 0x51, 0x6b, 0x01, 0xaf, 0xcd, 0x6b, 0xd5, 0x79, 0x45, 0x21, 0x1a, 0x0f, 0x6f, 0xa3, 0xbc, 0xa0, 0xbc, 0x01,
0xcd, 0xab, 0x4b, 0xa4, 0xa1, 0xe0, 0x1d, 0xb0, 0xa0, 0x7e, 0xed, 0x62, 0x56, 0x27, 0x42, 0xfa, 0x42, 0xba, 0x52, 0xa8, 0x3e, 0x3f, 0x19, 0xf2, 0xb6, 0x94, 0xe9, 0xa3, 0xaa, 0x33, 0xd1, 0x58,
0x52, 0xa8, 0x9c, 0x9f, 0x0c, 0x5a, 0xc9, 0xf4, 0xb0, 0xd5, 0x19, 0xa5, 0x10, 0xcd, 0xdf, 0x06, 0xe6, 0xef, 0xc3, 0x8e, 0x08, 0x2a, 0xda, 0xc1, 0x31, 0x3a, 0x72, 0x0b, 0xcd, 0xd8, 0x6d, 0xce,
0xfd, 0x11, 0x58, 0xb4, 0xf8, 0x74, 0xfc, 0xb9, 0x05, 0xe6, 0x9c, 0x16, 0x63, 0xc4, 0x8f, 0x5c, 0xc1, 0x8b, 0x3c, 0x59, 0x99, 0x0c, 0xfa, 0x26, 0x6d, 0xb6, 0x41, 0x59, 0x57, 0x5b, 0xd0, 0xd8,
0x59, 0x9b, 0x0c, 0xf5, 0x26, 0x6e, 0xb4, 0x88, 0x32, 0xac, 0xba, 0xa4, 0xb1, 0xe7, 0x36, 0x15, 0x33, 0xeb, 0x0a, 0x89, 0x44, 0x90, 0xe6, 0x0f, 0x19, 0x74, 0xf6, 0xb2, 0xcf, 0xd9, 0x3d, 0xdf,
0x12, 0x8a, 0x20, 0xcd, 0x9f, 0x32, 0xe0, 0xf4, 0xe5, 0x80, 0xd1, 0x07, 0x81, 0x2f, 0x70, 0xe3, 0x13, 0xb4, 0x79, 0xdd, 0x77, 0xd6, 0x34, 0x20, 0x70, 0xfc, 0x21, 0x9a, 0x0d, 0x2b, 0xda, 0xa1,
0x7a, 0xe0, 0x6e, 0x68, 0x40, 0xc2, 0xe0, 0x1d, 0x30, 0x1f, 0x3e, 0x04, 0x17, 0x0b, 0xac, 0x1d, 0x82, 0x8e, 0xf0, 0x2a, 0x2e, 0x4c, 0xab, 0xb5, 0xdb, 0x08, 0x2f, 0x02, 0x2b, 0xe4, 0xb6, 0x3a,
0xba, 0x98, 0x50, 0x1d, 0xd7, 0xa5, 0xd5, 0xdc, 0xab, 0x87, 0x17, 0xdc, 0x0a, 0xb9, 0xad, 0xf6, 0x2b, 0x96, 0x2a, 0xbb, 0x4d, 0x10, 0xb4, 0x5f, 0x19, 0xfd, 0x3b, 0x12, 0xa3, 0xe2, 0xdb, 0x28,
0x9a, 0xa5, 0x0a, 0x6f, 0x9b, 0x08, 0xdc, 0xab, 0x8d, 0xde, 0x1d, 0x8a, 0x51, 0xe1, 0x6d, 0x90, 0x17, 0xb4, 0xc0, 0xd6, 0x8e, 0xbd, 0x36, 0xce, 0xb1, 0x7d, 0x0c, 0xdd, 0x6a, 0x81, 0xdd, 0x2f,
0xe3, 0x4d, 0xe2, 0x68, 0xc7, 0xde, 0x1c, 0xe7, 0xd8, 0x08, 0x43, 0x77, 0x9a, 0xc4, 0xe9, 0x15, 0xd5, 0xf0, 0x44, 0x24, 0x2c, 0x06, 0x94, 0x0f, 0x64, 0x00, 0x64, 0x99, 0x16, 0xaa, 0xaf, 0x3f,
0x6b, 0x78, 0x42, 0x12, 0x16, 0x12, 0x90, 0xe7, 0x32, 0x00, 0xb2, 0x50, 0x0b, 0x95, 0xb7, 0x9e, 0xa9, 0x02, 0x15, 0xc5, 0x38, 0x43, 0xea, 0x4c, 0x34, 0xb8, 0xf9, 0x59, 0x16, 0x2d, 0xef, 0x23,
0x55, 0x81, 0x8a, 0x62, 0x9c, 0x21, 0x75, 0x46, 0x1a, 0xdc, 0xfc, 0x3c, 0x0b, 0x56, 0x47, 0x48, 0xb9, 0xee, 0x7b, 0x0e, 0x13, 0xcc, 0xf7, 0xf0, 0x65, 0x94, 0x13, 0x7b, 0x2d, 0xd0, 0x4f, 0x6f,
0x6e, 0x06, 0xbe, 0x4b, 0x05, 0x0d, 0x7c, 0x78, 0x19, 0xe4, 0xc4, 0x7e, 0x93, 0xe8, 0xc7, 0xb7, 0x35, 0xb2, 0x76, 0x7b, 0xaf, 0x05, 0x8f, 0xbb, 0xe5, 0xff, 0x8d, 0x93, 0x0f, 0xf9, 0x88, 0x44,
0x1e, 0x59, 0xbb, 0xbb, 0xdf, 0x24, 0x4f, 0x3b, 0xe5, 0xff, 0x8d, 0x93, 0x0f, 0xf9, 0x90, 0x44, 0xc0, 0x1b, 0xb1, 0x57, 0x99, 0x14, 0x96, 0x36, 0xeb, 0x71, 0xb7, 0x3c, 0xa2, 0xff, 0x59, 0x31,
0x80, 0x5b, 0xb1, 0x57, 0x99, 0x14, 0x96, 0x36, 0xeb, 0x69, 0xa7, 0x3c, 0xa4, 0x6d, 0x5a, 0x31, 0x52, 0xda, 0x78, 0xdc, 0x41, 0xb8, 0x49, 0x03, 0xb1, 0xcd, 0xa9, 0x17, 0x28, 0x4d, 0xcc, 0x05,
0x52, 0xda, 0x78, 0xd8, 0x06, 0xb0, 0x81, 0xb9, 0xd8, 0x65, 0xd8, 0xe7, 0x4a, 0x13, 0xf5, 0x88, 0x1d, 0xaf, 0x0b, 0x93, 0xa5, 0x3b, 0x94, 0xa8, 0x2d, 0x69, 0x2b, 0xf0, 0xc6, 0x10, 0x1a, 0x19,
0x8e, 0xd7, 0xb9, 0xc9, 0xd2, 0x1d, 0x4a, 0x54, 0x57, 0xb4, 0x15, 0x70, 0x6b, 0x00, 0x0d, 0x0d, 0xa1, 0x01, 0xff, 0x1f, 0xe5, 0x39, 0xd0, 0xc0, 0xf7, 0x8a, 0x39, 0xe9, 0x45, 0x1c, 0x5c, 0x22,
0xd1, 0x00, 0xff, 0x0f, 0xf2, 0x8c, 0x60, 0x1e, 0xf8, 0xc5, 0x9c, 0xf4, 0x22, 0x0e, 0x2e, 0x92, 0x6f, 0x89, 0xa6, 0xe2, 0xe7, 0xd0, 0x8c, 0x0b, 0x41, 0x40, 0x1b, 0x50, 0x9c, 0x96, 0x8c, 0x71,
0xb7, 0x48, 0x53, 0xe1, 0x4b, 0x60, 0xce, 0x23, 0x9c, 0xe3, 0x3a, 0x29, 0xce, 0x4a, 0xc6, 0xb8, 0x2d, 0x6f, 0xaa, 0x6b, 0x12, 0xd1, 0xcd, 0x3f, 0x0c, 0x74, 0x6e, 0x9f, 0x38, 0x6e, 0xb0, 0x40,
0x96, 0xb7, 0xd5, 0x35, 0x8a, 0xe8, 0xe6, 0x1f, 0x06, 0x38, 0x33, 0x22, 0x8e, 0x5b, 0x94, 0x0b, 0xe0, 0x5b, 0x43, 0xf5, 0x6c, 0x4d, 0xe6, 0x60, 0x28, 0x2d, 0xab, 0x79, 0x51, 0xeb, 0x9e, 0x8d,
0x78, 0x6b, 0xa0, 0x9e, 0xad, 0xc9, 0x1c, 0x0c, 0xa5, 0x65, 0x35, 0x2f, 0x6b, 0xdd, 0xf3, 0xd1, 0x6e, 0x12, 0xb5, 0x7c, 0x0b, 0x4d, 0x33, 0x01, 0x6e, 0x98, 0x95, 0xec, 0xf9, 0x42, 0xf5, 0x95,
0x4d, 0xa2, 0x96, 0x6f, 0x81, 0x59, 0x2a, 0x88, 0x17, 0x66, 0x25, 0x7b, 0xb6, 0x50, 0x79, 0xfd, 0x27, 0xac, 0xb5, 0xda, 0x49, 0xad, 0x63, 0xfa, 0x4a, 0x88, 0x46, 0x14, 0xa8, 0xf9, 0x67, 0x66,
0x19, 0x6b, 0xad, 0x7a, 0x5c, 0xeb, 0x98, 0xbd, 0x12, 0xa2, 0x21, 0x05, 0x6a, 0xfe, 0x99, 0x19, 0x5f, 0xdf, 0xc2, 0x82, 0xc7, 0x1f, 0xa3, 0x79, 0x79, 0xd2, 0xfd, 0x0a, 0x76, 0xb4, 0x87, 0x63,
0xe9, 0x5b, 0x58, 0xf0, 0xf0, 0x13, 0xb0, 0x28, 0x4f, 0xba, 0x61, 0x91, 0xbb, 0xda, 0xc3, 0xb1, 0xdf, 0xd4, 0x01, 0xe3, 0xa2, 0x76, 0x46, 0x9b, 0x32, 0xbf, 0x95, 0x82, 0x26, 0x03, 0xaa, 0xf0,
0x6f, 0xea, 0x80, 0x81, 0x51, 0x3d, 0xa5, 0x4d, 0x59, 0xdc, 0x49, 0x41, 0xa3, 0x3e, 0x55, 0x70, 0x0a, 0x2a, 0xb8, 0xcc, 0x23, 0xd0, 0x6a, 0x32, 0x9b, 0xaa, 0xb2, 0x9c, 0xae, 0x2d, 0xf4, 0xba,
0x0d, 0x14, 0x3c, 0xea, 0x23, 0xd2, 0x6c, 0x50, 0x07, 0xab, 0xb2, 0x9c, 0xad, 0x2e, 0x75, 0x3b, 0xe5, 0xc2, 0x66, 0xff, 0x9a, 0x24, 0x79, 0xf0, 0x4b, 0xa8, 0xe0, 0xd2, 0xbb, 0xb1, 0x48, 0x56,
0xe5, 0xc2, 0x76, 0xef, 0x1a, 0x25, 0x79, 0xe0, 0xab, 0xa0, 0xe0, 0xe1, 0xfb, 0xb1, 0x48, 0x56, 0x8a, 0xfc, 0x47, 0xeb, 0x2b, 0x6c, 0xf6, 0x49, 0x24, 0xc9, 0x87, 0x6f, 0x84, 0xd5, 0x10, 0x76,
0x8a, 0xfc, 0x47, 0xeb, 0x2b, 0x6c, 0xf7, 0x48, 0x28, 0xc9, 0x07, 0x6f, 0x84, 0xd5, 0x10, 0x76, 0xb7, 0xa0, 0x98, 0x93, 0x61, 0xbe, 0x30, 0x59, 0x33, 0x94, 0x2d, 0x22, 0x51, 0x39, 0x12, 0x82,
0x37, 0x5e, 0xcc, 0xc9, 0x30, 0x9f, 0x9b, 0xac, 0x19, 0xca, 0x16, 0x91, 0xa8, 0x1c, 0x09, 0x81, 0x44, 0x58, 0xe6, 0x77, 0x39, 0xf4, 0xdf, 0x03, 0xdf, 0x3e, 0x7e, 0x1b, 0x61, 0xbf, 0x1e, 0x00,
0x22, 0x2c, 0xf3, 0xbb, 0x1c, 0xf8, 0xef, 0x81, 0x6f, 0x1f, 0xbe, 0x07, 0x60, 0x50, 0xe3, 0x84, 0xef, 0x80, 0x73, 0x49, 0x0d, 0xdd, 0x70, 0xfa, 0x85, 0x31, 0xce, 0xd6, 0xce, 0x84, 0x65, 0x7f,
0xb5, 0x89, 0x7b, 0x49, 0x8d, 0xdd, 0x70, 0xfe, 0x85, 0x31, 0xce, 0x56, 0x4f, 0x85, 0x65, 0x7f, 0x6d, 0x88, 0x4a, 0x46, 0x48, 0x60, 0x1b, 0x9d, 0x0c, 0x1f, 0x83, 0x0a, 0x28, 0xd3, 0x83, 0xf6,
0x6d, 0x80, 0x8a, 0x86, 0x48, 0x40, 0x07, 0x1c, 0x0f, 0x1f, 0x83, 0x0a, 0x28, 0xd5, 0xa3, 0xf6, 0x70, 0x2f, 0xed, 0x54, 0xaf, 0x5b, 0x3e, 0xb9, 0x91, 0x04, 0x21, 0x69, 0x4c, 0xbc, 0x86, 0x16,
0x70, 0x2f, 0xed, 0x44, 0xb7, 0x53, 0x3e, 0xbe, 0x95, 0x04, 0x41, 0x69, 0x4c, 0xb8, 0x01, 0x96, 0x74, 0x7f, 0x1f, 0x08, 0xf0, 0x59, 0x1d, 0x81, 0x85, 0xf5, 0x34, 0x99, 0x0c, 0xf2, 0x87, 0x10,
0x74, 0x7f, 0xef, 0x0b, 0xf0, 0x69, 0x1d, 0x81, 0xa5, 0xcd, 0x34, 0x19, 0xf5, 0xf3, 0x87, 0x10, 0x0e, 0x04, 0x8c, 0x83, 0x13, 0x43, 0xe4, 0xd2, 0x10, 0x6f, 0xa6, 0xc9, 0x64, 0x90, 0x1f, 0x37,
0x2e, 0xe1, 0x94, 0x11, 0x37, 0x86, 0xc8, 0xa5, 0x21, 0xde, 0x49, 0x93, 0x51, 0x3f, 0x3f, 0x6c, 0xd1, 0xbc, 0x46, 0xd5, 0xf1, 0x2e, 0x4e, 0xcb, 0x94, 0x4d, 0x38, 0x89, 0x75, 0xd3, 0x8d, 0x6b,
0x80, 0x45, 0x8d, 0xaa, 0xe3, 0x5d, 0x9c, 0x95, 0x29, 0x9b, 0x70, 0x14, 0xeb, 0xa6, 0x1b, 0xd7, 0x70, 0x3d, 0x85, 0x45, 0x06, 0xb0, 0xb1, 0x40, 0xc8, 0x8e, 0x5a, 0x5c, 0x50, 0xcc, 0x4b, 0x4d,
0xe0, 0x66, 0x0a, 0x0b, 0xf5, 0x61, 0x43, 0x01, 0x80, 0x13, 0xb5, 0x38, 0x5e, 0xcc, 0x4b, 0x4d, 0x6f, 0x3c, 0xe1, 0x1b, 0x8c, 0x7b, 0x65, 0x7f, 0x7c, 0xc5, 0x57, 0x01, 0x49, 0xe8, 0x31, 0xbf,
0x6f, 0x3f, 0xe3, 0x1b, 0x8c, 0x7b, 0x65, 0x6f, 0x7c, 0xc5, 0x57, 0x1c, 0x25, 0xf4, 0x98, 0xb7, 0x34, 0xd0, 0xe2, 0xe0, 0x24, 0x8f, 0x77, 0x28, 0x63, 0xdf, 0x1d, 0xea, 0x36, 0x9a, 0x0d, 0xa0,
0x41, 0x21, 0x31, 0xc3, 0xe3, 0xfd, 0xc9, 0x18, 0xb9, 0x3f, 0x9d, 0x07, 0xf3, 0x9c, 0x34, 0x88, 0x09, 0xb6, 0xf0, 0xb9, 0x2e, 0x80, 0x17, 0x27, 0xec, 0x44, 0xb4, 0x0e, 0xcd, 0x2d, 0x2d, 0x5a,
0x23, 0x02, 0xa6, 0xdb, 0x77, 0xdc, 0x53, 0x76, 0xf4, 0x3d, 0x8a, 0x39, 0xcc, 0xaf, 0xb3, 0x00, 0x9b, 0x0b, 0x5b, 0x51, 0x74, 0x22, 0x31, 0xa4, 0xf9, 0x75, 0x16, 0xa1, 0x7e, 0xdd, 0xe3, 0xd5,
0xf4, 0x0a, 0x18, 0xae, 0xa7, 0x66, 0xc8, 0x6a, 0xdf, 0x0c, 0x59, 0x4e, 0xee, 0x56, 0x89, 0x79, 0xd4, 0xe8, 0x59, 0x1e, 0x18, 0x3d, 0x8b, 0xc9, 0x85, 0x2c, 0x31, 0x66, 0x6e, 0xa2, 0xbc, 0x2f,
0x71, 0x13, 0xe4, 0x03, 0xf9, 0xb0, 0x75, 0xad, 0x55, 0xc6, 0x45, 0x25, 0x1e, 0xd5, 0x31, 0x5a, 0xfb, 0x81, 0xb6, 0xb0, 0x3a, 0x2e, 0x98, 0xf1, 0x84, 0x8f, 0xd1, 0x6a, 0x28, 0x6c, 0xe8, 0xba,
0x15, 0x84, 0x9d, 0x59, 0xb7, 0x07, 0x8d, 0x06, 0xaf, 0x82, 0x5c, 0x33, 0x70, 0xa3, 0xd9, 0x7a, 0xab, 0x68, 0x34, 0x7c, 0x15, 0xe5, 0x5a, 0xbe, 0x13, 0x8d, 0xe4, 0xb1, 0x7b, 0xd2, 0x75, 0xdf,
0x71, 0x1c, 0xea, 0xf5, 0xc0, 0xe5, 0x29, 0xcc, 0xf9, 0xd0, 0xf6, 0xf0, 0x16, 0x49, 0x1c, 0xf8, 0x09, 0x52, 0x98, 0xb3, 0xa1, 0xed, 0xe1, 0x2d, 0x91, 0x38, 0xf8, 0x03, 0x34, 0x1b, 0xad, 0xeb,
0x11, 0x98, 0x8f, 0xd6, 0x75, 0x59, 0x6b, 0x85, 0xca, 0xfa, 0x38, 0x4c, 0xa4, 0xf9, 0x53, 0xb8, 0xb2, 0x44, 0x0b, 0xd5, 0xd5, 0x71, 0x98, 0x44, 0xf3, 0xa7, 0x70, 0x65, 0x30, 0x23, 0x0a, 0x89,
0x0b, 0x61, 0x30, 0x23, 0x0a, 0x8a, 0x31, 0x43, 0x7c, 0xa2, 0xb7, 0x36, 0x39, 0x4a, 0x26, 0xc0, 0x31, 0x43, 0x7c, 0xd0, 0x1b, 0x9f, 0x9c, 0x40, 0x13, 0xe0, 0x8f, 0x5a, 0x75, 0x15, 0x7e, 0x44,
0x1f, 0xb6, 0xb5, 0x2a, 0xfc, 0x88, 0x82, 0x62, 0x4c, 0xf3, 0x9b, 0x2c, 0x58, 0x48, 0xad, 0x83, 0x21, 0x31, 0xa6, 0xf9, 0x4d, 0x16, 0xcd, 0xa5, 0x56, 0xc9, 0x7f, 0x23, 0x5d, 0xea, 0xad, 0x1d,
0xff, 0x46, 0xba, 0xd4, 0xa3, 0x39, 0xda, 0x74, 0x29, 0xcc, 0xa3, 0x4f, 0x97, 0xc2, 0x9d, 0x5e, 0x6d, 0xba, 0x14, 0xe6, 0xd1, 0xa7, 0x4b, 0xe1, 0x1e, 0x5f, 0xba, 0x12, 0xf8, 0x23, 0xd2, 0xf5,
0xba, 0x12, 0xf8, 0x43, 0xd2, 0xf5, 0x73, 0x26, 0x4a, 0x97, 0x1a, 0x64, 0x93, 0xa5, 0x4b, 0xf1, 0x53, 0x26, 0x4a, 0x97, 0x9a, 0x7f, 0x93, 0xa5, 0x4b, 0xf1, 0x26, 0xd2, 0x75, 0x0d, 0x4d, 0x77,
0x26, 0xd2, 0x75, 0x0d, 0xcc, 0xb6, 0xc3, 0x4d, 0x5b, 0x67, 0xeb, 0xc0, 0x8d, 0xc2, 0x8a, 0x9c, 0xc2, 0x05, 0x5d, 0x67, 0xeb, 0xc0, 0x45, 0xc4, 0x8a, 0x9c, 0xb3, 0xde, 0x6d, 0x53, 0x4f, 0x30,
0xb3, 0x3e, 0x68, 0x61, 0x5f, 0x50, 0xb1, 0x5f, 0x3d, 0x16, 0x4e, 0x7a, 0xb9, 0xaa, 0x23, 0x85, 0xb1, 0x57, 0x3b, 0x11, 0x2e, 0x08, 0x72, 0xc3, 0x27, 0x0a, 0x07, 0x3b, 0x68, 0x8e, 0x76, 0x80,
0x03, 0x5d, 0xb0, 0x80, 0xdb, 0x84, 0xe1, 0x3a, 0x91, 0xd7, 0x3a, 0x5f, 0x87, 0xc5, 0x5d, 0xee, 0xd3, 0x06, 0xc8, 0x6b, 0x9d, 0xaf, 0xc3, 0xe2, 0x2e, 0xf6, 0xba, 0xe5, 0xb9, 0xb5, 0x04, 0x0e,
0x76, 0xca, 0x0b, 0x1b, 0x09, 0x1c, 0x94, 0x42, 0x0d, 0xe7, 0x99, 0x3e, 0xdf, 0x10, 0xb4, 0x41, 0x49, 0xa1, 0x86, 0x63, 0x50, 0x9f, 0x6f, 0x08, 0xd6, 0x64, 0xf7, 0xd4, 0x18, 0x54, 0x93, 0x41,
0x1f, 0xa8, 0x79, 0xa6, 0x5a, 0xbc, 0x9c, 0x67, 0x1b, 0x03, 0x54, 0x34, 0x44, 0xc2, 0xfc, 0x32, 0x8e, 0xc1, 0xb5, 0x21, 0x2a, 0x19, 0x21, 0x61, 0x7e, 0x91, 0x41, 0xa7, 0x86, 0x3e, 0x53, 0xfa,
0x03, 0x4e, 0x0c, 0x7c, 0x6f, 0xf4, 0x82, 0x62, 0x4c, 0x29, 0x28, 0x99, 0xe7, 0x18, 0x94, 0xec, 0x41, 0x31, 0x8e, 0x29, 0x28, 0x99, 0xa7, 0x18, 0x94, 0xec, 0xa1, 0x83, 0xf2, 0x73, 0x06, 0xe1,
0xa1, 0x83, 0xf2, 0x63, 0x06, 0xc0, 0xc1, 0x26, 0x0a, 0x3f, 0x95, 0x33, 0xd5, 0x61, 0xb4, 0x46, 0xe1, 0x26, 0x8a, 0x3f, 0x91, 0xa3, 0xd8, 0xe6, 0xac, 0x0e, 0x8e, 0x22, 0x1f, 0xc5, 0x6e, 0x97,
0x5c, 0x45, 0x3e, 0x8a, 0x25, 0x2d, 0x39, 0x90, 0x93, 0xd8, 0xa8, 0x5f, 0x19, 0xdc, 0x05, 0x79, 0x9c, 0xe3, 0x49, 0x6c, 0x32, 0xa8, 0xec, 0x78, 0xbe, 0xa4, 0x13, 0x1f, 0xcc, 0xd9, 0xa3, 0xfd,
0x71, 0x74, 0xdf, 0xc4, 0x1a, 0x2b, 0xf1, 0xd1, 0x9b, 0x3d, 0xb2, 0x8f, 0x5e, 0xf3, 0xd7, 0xfe, 0x60, 0x36, 0x7f, 0x1b, 0x0c, 0xe3, 0x33, 0xfd, 0x85, 0x3e, 0x2a, 0xfd, 0xd9, 0xa7, 0x98, 0x7e,
0x08, 0xbe, 0xa8, 0x1f, 0xd8, 0xc3, 0x92, 0x9e, 0x7d, 0x8e, 0x49, 0x37, 0x7f, 0x30, 0xc0, 0x72, 0xf3, 0x47, 0x03, 0x2d, 0x0e, 0x0e, 0xe1, 0x67, 0xee, 0x7f, 0x9b, 0x5f, 0xd3, 0x4e, 0x3c, 0xdb,
0xff, 0xe8, 0x9d, 0x4e, 0x1c, 0xa7, 0x52, 0x5e, 0xe6, 0x2f, 0x69, 0xfb, 0x5f, 0xd8, 0x3f, 0x5a, 0xff, 0xd9, 0x7c, 0x6b, 0xa0, 0xd3, 0xa3, 0x56, 0x18, 0xbc, 0x9e, 0x5a, 0x3c, 0x2b, 0xc9, 0xc5,
0xbe, 0x35, 0xc0, 0xc9, 0x61, 0xeb, 0x0a, 0xdc, 0x4c, 0xed, 0x8c, 0x76, 0x72, 0x67, 0x7c, 0xda, 0xf3, 0x71, 0xb7, 0x5c, 0x1e, 0xf1, 0xaf, 0x40, 0x04, 0x93, 0xd8, 0x4d, 0x8f, 0x27, 0x01, 0xdf,
0x29, 0x97, 0x87, 0x7c, 0xca, 0x47, 0x30, 0x89, 0xb5, 0x72, 0x3a, 0xb1, 0xff, 0x7e, 0xd0, 0x66, 0x0f, 0xdb, 0xac, 0x92, 0x70, 0x24, 0x36, 0x1f, 0x6b, 0xbc, 0x6b, 0x17, 0xef, 0x3f, 0x2a, 0x4d,
0x15, 0xff, 0x23, 0xb1, 0x79, 0xaa, 0xf1, 0xae, 0x5e, 0x78, 0xf8, 0xa4, 0x34, 0xf3, 0xe8, 0x49, 0x3d, 0x78, 0x54, 0x9a, 0x7a, 0xf8, 0xa8, 0x34, 0xf5, 0x69, 0xaf, 0x64, 0xdc, 0xef, 0x95, 0x8c,
0x69, 0xe6, 0xf1, 0x93, 0xd2, 0xcc, 0x67, 0xdd, 0x92, 0xf1, 0xb0, 0x5b, 0x32, 0x1e, 0x75, 0x4b, 0x07, 0xbd, 0x92, 0xf1, 0xb0, 0x57, 0x32, 0xfe, 0xea, 0x95, 0x8c, 0xcf, 0xff, 0x2e, 0x4d, 0xbd,
0xc6, 0xe3, 0x6e, 0xc9, 0xf8, 0xab, 0x5b, 0x32, 0xbe, 0xf8, 0xbb, 0x34, 0xf3, 0xe1, 0x9c, 0x86, 0x3f, 0xa3, 0xa1, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x7e, 0xa0, 0xce, 0xf5, 0x16, 0x17, 0x00,
0xfe, 0x27, 0x00, 0x00, 0xff, 0xff, 0x1c, 0x45, 0x9c, 0xc8, 0x02, 0x17, 0x00, 0x00, 0x00,
} }

View File

@ -26,7 +26,6 @@ import "k8s.io/apimachinery/pkg/api/resource/generated.proto";
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto";
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
import "k8s.io/apimachinery/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated". // Package-wide variables from generator "generated".
option go_package = "v2beta2"; option go_package = "v2beta2";
@ -48,16 +47,20 @@ message CrossVersionObjectReference {
// any Kubernetes object (for example length of queue in cloud // any Kubernetes object (for example length of queue in cloud
// messaging service, or QPS from loadbalancer running outside of cluster). // messaging service, or QPS from loadbalancer running outside of cluster).
message ExternalMetricSource { message ExternalMetricSource {
optional MetricIdent metric = 1; // metric identifies the target metric by name and selector
optional MetricIdentifier metric = 1;
optional MetricTarget metricTarget = 2; // target specifies the target value for the given metric
optional MetricTarget target = 2;
} }
// ExternalMetricStatus indicates the current value of a global metric // ExternalMetricStatus indicates the current value of a global metric
// not associated with any Kubernetes object. // not associated with any Kubernetes object.
message ExternalMetricStatus { message ExternalMetricStatus {
optional MetricIdent metric = 1; // metric identifies the target metric by name and selector
optional MetricIdentifier metric = 1;
// current contains the current value for the given metric
optional MetricValueStatus current = 2; optional MetricValueStatus current = 2;
} }
@ -136,6 +139,7 @@ message HorizontalPodAutoscalerSpec {
// number of pods. Ergo, metrics used must decrease as the pod count is // number of pods. Ergo, metrics used must decrease as the pod count is
// increased, and vice-versa. See the individual metric source types for // increased, and vice-versa. See the individual metric source types for
// more information about how each type of metric must respond. // more information about how each type of metric must respond.
// If not set, the default metric will be set to 80% average CPU utilization.
// +optional // +optional
repeated MetricSpec metrics = 4; repeated MetricSpec metrics = 4;
} }
@ -168,15 +172,16 @@ message HorizontalPodAutoscalerStatus {
repeated HorizontalPodAutoscalerCondition conditions = 6; repeated HorizontalPodAutoscalerCondition conditions = 6;
} }
// MetricIdent defines the name and optionally selector for a metric // MetricIdentifier defines the name and optionally selector for a metric
message MetricIdent { message MetricIdentifier {
// Name is the name of the given metric // name is the name of the given metric
optional string name = 1; optional string name = 1;
// selector is the selector for the given metric // selector is the string-encoded form of a standard kubernetes label selector for the given metric
// it is the string-encoded form of a standard kubernetes label selector // When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping.
// When unset, just the metricName will be used to gather metrics.
// +optional // +optional
optional string selector = 2; optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2;
} }
// MetricSpec specifies how to scale based on a single metric // MetricSpec specifies how to scale based on a single metric
@ -250,23 +255,35 @@ message MetricStatus {
// MetricTarget defines the target value, average value, or average utilization of a specific metric // MetricTarget defines the target value, average value, or average utilization of a specific metric
message MetricTarget { message MetricTarget {
// Type represents whether the metric type is Utilization, Value, or AverageValue // type represents whether the metric type is Utilization, Value, or AverageValue
optional string type = 1; optional string type = 1;
// value is the target value of the metric (as a quantity).
optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 2; optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 2;
// averageValue is the target value of the average of the
// metric across all relevant pods (as a quantity)
optional k8s.io.apimachinery.pkg.api.resource.Quantity averageValue = 3; optional k8s.io.apimachinery.pkg.api.resource.Quantity averageValue = 3;
// averageUtilization is the target value of the average of the
// resource metric across all relevant pods, represented as a percentage of
// the requested value of the resource for the pods.
// Currently only valid for Resource metric source type // Currently only valid for Resource metric source type
optional int32 averageUtilization = 4; optional int32 averageUtilization = 4;
} }
// MetricValueStatus holds the current value for a metric // MetricValueStatus holds the current value for a metric
message MetricValueStatus { message MetricValueStatus {
// value is the current value of the metric (as a quantity).
optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 1; optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 1;
// averageValue is the current value of the average of the
// metric across all relevant pods (as a quantity)
optional k8s.io.apimachinery.pkg.api.resource.Quantity averageValue = 2; optional k8s.io.apimachinery.pkg.api.resource.Quantity averageValue = 2;
// currentAverageUtilization is the current value of the average of the
// resource metric across all relevant pods, represented as a percentage of
// the requested value of the resource for the pods.
optional int32 averageUtilization = 3; optional int32 averageUtilization = 3;
} }
@ -275,16 +292,20 @@ message MetricValueStatus {
message ObjectMetricSource { message ObjectMetricSource {
optional CrossVersionObjectReference describedObject = 1; optional CrossVersionObjectReference describedObject = 1;
// target specifies the target value for the given metric
optional MetricTarget target = 2; optional MetricTarget target = 2;
optional MetricIdent metric = 3; // metric identifies the target metric by name and selector
optional MetricIdentifier metric = 3;
} }
// ObjectMetricStatus indicates the current value of a metric describing a // ObjectMetricStatus indicates the current value of a metric describing a
// kubernetes object (for example, hits-per-second on an Ingress object). // kubernetes object (for example, hits-per-second on an Ingress object).
message ObjectMetricStatus { message ObjectMetricStatus {
optional MetricIdent metric = 1; // metric identifies the target metric by name and selector
optional MetricIdentifier metric = 1;
// current contains the current value for the given metric
optional MetricValueStatus current = 2; optional MetricValueStatus current = 2;
optional CrossVersionObjectReference describedObject = 3; optional CrossVersionObjectReference describedObject = 3;
@ -295,16 +316,20 @@ message ObjectMetricStatus {
// The values will be averaged together before being compared to the target // The values will be averaged together before being compared to the target
// value. // value.
message PodsMetricSource { message PodsMetricSource {
optional MetricIdent metric = 1; // metric identifies the target metric by name and selector
optional MetricIdentifier metric = 1;
// target specifies the target value for the given metric
optional MetricTarget target = 2; optional MetricTarget target = 2;
} }
// PodsMetricStatus indicates the current value of a metric describing each pod in // PodsMetricStatus indicates the current value of a metric describing each pod in
// the current scale target (for example, transactions-processed-per-second). // the current scale target (for example, transactions-processed-per-second).
message PodsMetricStatus { message PodsMetricStatus {
optional MetricIdent metric = 1; // metric identifies the target metric by name and selector
optional MetricIdentifier metric = 1;
// current contains the current value for the given metric
optional MetricValueStatus current = 2; optional MetricValueStatus current = 2;
} }
@ -316,9 +341,10 @@ message PodsMetricStatus {
// normal per-pod metrics using the "pods" source. Only one "target" type // normal per-pod metrics using the "pods" source. Only one "target" type
// should be set. // should be set.
message ResourceMetricSource { message ResourceMetricSource {
// Name is the name of the resource in question. // name is the name of the resource in question.
optional string name = 1; optional string name = 1;
// target specifies the target value for the given metric
optional MetricTarget target = 2; optional MetricTarget target = 2;
} }
@ -331,6 +357,7 @@ message ResourceMetricStatus {
// Name is the name of the resource in question. // Name is the name of the resource in question.
optional string name = 1; optional string name = 1;
// current contains the current value for the given metric
optional MetricValueStatus current = 2; optional MetricValueStatus current = 2;
} }

View File

@ -40,6 +40,8 @@ func (CrossVersionObjectReference) SwaggerDoc() map[string]string {
var map_ExternalMetricSource = map[string]string{ var map_ExternalMetricSource = map[string]string{
"": "ExternalMetricSource indicates how to scale on a metric not associated with any Kubernetes object (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).", "": "ExternalMetricSource indicates how to scale on a metric not associated with any Kubernetes object (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).",
"metric": "metric identifies the target metric by name and selector",
"target": "target specifies the target value for the given metric",
} }
func (ExternalMetricSource) SwaggerDoc() map[string]string { func (ExternalMetricSource) SwaggerDoc() map[string]string {
@ -48,6 +50,8 @@ func (ExternalMetricSource) SwaggerDoc() map[string]string {
var map_ExternalMetricStatus = map[string]string{ var map_ExternalMetricStatus = map[string]string{
"": "ExternalMetricStatus indicates the current value of a global metric not associated with any Kubernetes object.", "": "ExternalMetricStatus indicates the current value of a global metric not associated with any Kubernetes object.",
"metric": "metric identifies the target metric by name and selector",
"current": "current contains the current value for the given metric",
} }
func (ExternalMetricStatus) SwaggerDoc() map[string]string { func (ExternalMetricStatus) SwaggerDoc() map[string]string {
@ -93,7 +97,7 @@ var map_HorizontalPodAutoscalerSpec = map[string]string{
"scaleTargetRef": "scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics should be collected, as well as to actually change the replica count.", "scaleTargetRef": "scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics should be collected, as well as to actually change the replica count.",
"minReplicas": "minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. It defaults to 1 pod.", "minReplicas": "minReplicas is the lower limit for the number of replicas to which the autoscaler can scale down. It defaults to 1 pod.",
"maxReplicas": "maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up. It cannot be less that minReplicas.", "maxReplicas": "maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up. It cannot be less that minReplicas.",
"metrics": "metrics contains the specifications for which to use to calculate the desired replica count (the maximum replica count across all metrics will be used). The desired replica count is calculated multiplying the ratio between the target value and the current value by the current number of pods. Ergo, metrics used must decrease as the pod count is increased, and vice-versa. See the individual metric source types for more information about how each type of metric must respond.", "metrics": "metrics contains the specifications for which to use to calculate the desired replica count (the maximum replica count across all metrics will be used). The desired replica count is calculated multiplying the ratio between the target value and the current value by the current number of pods. Ergo, metrics used must decrease as the pod count is increased, and vice-versa. See the individual metric source types for more information about how each type of metric must respond. If not set, the default metric will be set to 80% average CPU utilization.",
} }
func (HorizontalPodAutoscalerSpec) SwaggerDoc() map[string]string { func (HorizontalPodAutoscalerSpec) SwaggerDoc() map[string]string {
@ -114,14 +118,14 @@ func (HorizontalPodAutoscalerStatus) SwaggerDoc() map[string]string {
return map_HorizontalPodAutoscalerStatus return map_HorizontalPodAutoscalerStatus
} }
var map_MetricIdent = map[string]string{ var map_MetricIdentifier = map[string]string{
"": "MetricIdent defines the name and optionally selector for a metric", "": "MetricIdentifier defines the name and optionally selector for a metric",
"name": "Name is the name of the given metric", "name": "name is the name of the given metric",
"selector": "selector is the selector for the given metric it is the string-encoded form of a standard kubernetes label selector", "selector": "selector is the string-encoded form of a standard kubernetes label selector for the given metric When set, it is passed as an additional parameter to the metrics server for more specific metrics scoping. When unset, just the metricName will be used to gather metrics.",
} }
func (MetricIdent) SwaggerDoc() map[string]string { func (MetricIdentifier) SwaggerDoc() map[string]string {
return map_MetricIdent return map_MetricIdentifier
} }
var map_MetricSpec = map[string]string{ var map_MetricSpec = map[string]string{
@ -152,8 +156,10 @@ func (MetricStatus) SwaggerDoc() map[string]string {
var map_MetricTarget = map[string]string{ var map_MetricTarget = map[string]string{
"": "MetricTarget defines the target value, average value, or average utilization of a specific metric", "": "MetricTarget defines the target value, average value, or average utilization of a specific metric",
"type": "Type represents whether the metric type is Utilization, Value, or AverageValue", "type": "type represents whether the metric type is Utilization, Value, or AverageValue",
"averageUtilization": "Currently only valid for Resource metric source type", "value": "value is the target value of the metric (as a quantity).",
"averageValue": "averageValue is the target value of the average of the metric across all relevant pods (as a quantity)",
"averageUtilization": "averageUtilization is the target value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods. Currently only valid for Resource metric source type",
} }
func (MetricTarget) SwaggerDoc() map[string]string { func (MetricTarget) SwaggerDoc() map[string]string {
@ -162,6 +168,9 @@ func (MetricTarget) SwaggerDoc() map[string]string {
var map_MetricValueStatus = map[string]string{ var map_MetricValueStatus = map[string]string{
"": "MetricValueStatus holds the current value for a metric", "": "MetricValueStatus holds the current value for a metric",
"value": "value is the current value of the metric (as a quantity).",
"averageValue": "averageValue is the current value of the average of the metric across all relevant pods (as a quantity)",
"averageUtilization": "currentAverageUtilization is the current value of the average of the resource metric across all relevant pods, represented as a percentage of the requested value of the resource for the pods.",
} }
func (MetricValueStatus) SwaggerDoc() map[string]string { func (MetricValueStatus) SwaggerDoc() map[string]string {
@ -170,6 +179,8 @@ func (MetricValueStatus) SwaggerDoc() map[string]string {
var map_ObjectMetricSource = map[string]string{ var map_ObjectMetricSource = map[string]string{
"": "ObjectMetricSource indicates how to scale on a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).", "": "ObjectMetricSource indicates how to scale on a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).",
"target": "target specifies the target value for the given metric",
"metric": "metric identifies the target metric by name and selector",
} }
func (ObjectMetricSource) SwaggerDoc() map[string]string { func (ObjectMetricSource) SwaggerDoc() map[string]string {
@ -178,6 +189,8 @@ func (ObjectMetricSource) SwaggerDoc() map[string]string {
var map_ObjectMetricStatus = map[string]string{ var map_ObjectMetricStatus = map[string]string{
"": "ObjectMetricStatus indicates the current value of a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).", "": "ObjectMetricStatus indicates the current value of a metric describing a kubernetes object (for example, hits-per-second on an Ingress object).",
"metric": "metric identifies the target metric by name and selector",
"current": "current contains the current value for the given metric",
} }
func (ObjectMetricStatus) SwaggerDoc() map[string]string { func (ObjectMetricStatus) SwaggerDoc() map[string]string {
@ -186,6 +199,8 @@ func (ObjectMetricStatus) SwaggerDoc() map[string]string {
var map_PodsMetricSource = map[string]string{ var map_PodsMetricSource = map[string]string{
"": "PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.", "": "PodsMetricSource indicates how to scale on a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.",
"metric": "metric identifies the target metric by name and selector",
"target": "target specifies the target value for the given metric",
} }
func (PodsMetricSource) SwaggerDoc() map[string]string { func (PodsMetricSource) SwaggerDoc() map[string]string {
@ -194,6 +209,8 @@ func (PodsMetricSource) SwaggerDoc() map[string]string {
var map_PodsMetricStatus = map[string]string{ var map_PodsMetricStatus = map[string]string{
"": "PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second).", "": "PodsMetricStatus indicates the current value of a metric describing each pod in the current scale target (for example, transactions-processed-per-second).",
"metric": "metric identifies the target metric by name and selector",
"current": "current contains the current value for the given metric",
} }
func (PodsMetricStatus) SwaggerDoc() map[string]string { func (PodsMetricStatus) SwaggerDoc() map[string]string {
@ -202,7 +219,8 @@ func (PodsMetricStatus) SwaggerDoc() map[string]string {
var map_ResourceMetricSource = map[string]string{ var map_ResourceMetricSource = map[string]string{
"": "ResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source. Only one \"target\" type should be set.", "": "ResourceMetricSource indicates how to scale on a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). The values will be averaged together before being compared to the target. Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source. Only one \"target\" type should be set.",
"name": "Name is the name of the resource in question.", "name": "name is the name of the resource in question.",
"target": "target specifies the target value for the given metric",
} }
func (ResourceMetricSource) SwaggerDoc() map[string]string { func (ResourceMetricSource) SwaggerDoc() map[string]string {
@ -212,6 +230,7 @@ func (ResourceMetricSource) SwaggerDoc() map[string]string {
var map_ResourceMetricStatus = map[string]string{ var map_ResourceMetricStatus = map[string]string{
"": "ResourceMetricStatus indicates the current value of a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.", "": "ResourceMetricStatus indicates the current value of a resource metric known to Kubernetes, as specified in requests and limits, describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.",
"name": "Name is the name of the resource in question.", "name": "Name is the name of the resource in question.",
"current": "current contains the current value for the given metric",
} }
func (ResourceMetricStatus) SwaggerDoc() map[string]string { func (ResourceMetricStatus) SwaggerDoc() map[string]string {

View File

@ -21,6 +21,7 @@ limitations under the License.
package v2beta2 package v2beta2
import ( import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
) )
@ -43,7 +44,7 @@ func (in *CrossVersionObjectReference) DeepCopy() *CrossVersionObjectReference {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExternalMetricSource) DeepCopyInto(out *ExternalMetricSource) { func (in *ExternalMetricSource) DeepCopyInto(out *ExternalMetricSource) {
*out = *in *out = *in
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
in.Target.DeepCopyInto(&out.Target) in.Target.DeepCopyInto(&out.Target)
return return
} }
@ -61,7 +62,7 @@ func (in *ExternalMetricSource) DeepCopy() *ExternalMetricSource {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExternalMetricStatus) DeepCopyInto(out *ExternalMetricStatus) { func (in *ExternalMetricStatus) DeepCopyInto(out *ExternalMetricStatus) {
*out = *in *out = *in
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
in.Current.DeepCopyInto(&out.Current) in.Current.DeepCopyInto(&out.Current)
return return
} }
@ -223,17 +224,22 @@ func (in *HorizontalPodAutoscalerStatus) DeepCopy() *HorizontalPodAutoscalerStat
} }
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MetricIdent) DeepCopyInto(out *MetricIdent) { func (in *MetricIdentifier) DeepCopyInto(out *MetricIdentifier) {
*out = *in *out = *in
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(v1.LabelSelector)
(*in).DeepCopyInto(*out)
}
return return
} }
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricIdent. // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricIdentifier.
func (in *MetricIdent) DeepCopy() *MetricIdent { func (in *MetricIdentifier) DeepCopy() *MetricIdentifier {
if in == nil { if in == nil {
return nil return nil
} }
out := new(MetricIdent) out := new(MetricIdentifier)
in.DeepCopyInto(out) in.DeepCopyInto(out)
return out return out
} }
@ -377,7 +383,7 @@ func (in *ObjectMetricSource) DeepCopyInto(out *ObjectMetricSource) {
*out = *in *out = *in
out.DescribedObject = in.DescribedObject out.DescribedObject = in.DescribedObject
in.Target.DeepCopyInto(&out.Target) in.Target.DeepCopyInto(&out.Target)
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
return return
} }
@ -394,7 +400,7 @@ func (in *ObjectMetricSource) DeepCopy() *ObjectMetricSource {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ObjectMetricStatus) DeepCopyInto(out *ObjectMetricStatus) { func (in *ObjectMetricStatus) DeepCopyInto(out *ObjectMetricStatus) {
*out = *in *out = *in
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
in.Current.DeepCopyInto(&out.Current) in.Current.DeepCopyInto(&out.Current)
out.DescribedObject = in.DescribedObject out.DescribedObject = in.DescribedObject
return return
@ -413,7 +419,7 @@ func (in *ObjectMetricStatus) DeepCopy() *ObjectMetricStatus {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PodsMetricSource) DeepCopyInto(out *PodsMetricSource) { func (in *PodsMetricSource) DeepCopyInto(out *PodsMetricSource) {
*out = *in *out = *in
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
in.Target.DeepCopyInto(&out.Target) in.Target.DeepCopyInto(&out.Target)
return return
} }
@ -431,7 +437,7 @@ func (in *PodsMetricSource) DeepCopy() *PodsMetricSource {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PodsMetricStatus) DeepCopyInto(out *PodsMetricStatus) { func (in *PodsMetricStatus) DeepCopyInto(out *PodsMetricStatus) {
*out = *in *out = *in
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
in.Current.DeepCopyInto(&out.Current) in.Current.DeepCopyInto(&out.Current)
return return
} }

View File

@ -882,6 +882,10 @@
"ImportPath": "k8s.io/api/autoscaling/v2beta1", "ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/api/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/api/batch/v1", "ImportPath": "k8s.io/api/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -1602,6 +1606,10 @@
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/informers/batch", "ImportPath": "k8s.io/client-go/informers/batch",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -1782,6 +1790,10 @@
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -1886,6 +1898,10 @@
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/listers/batch/v1", "ImportPath": "k8s.io/client-go/listers/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

View File

@ -902,6 +902,10 @@
"ImportPath": "k8s.io/api/autoscaling/v2beta1", "ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/api/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/api/batch/v1", "ImportPath": "k8s.io/api/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -1238,6 +1242,10 @@
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/informers/batch", "ImportPath": "k8s.io/client-go/informers/batch",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -1462,6 +1470,14 @@
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake", "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2/fake",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -1642,6 +1658,10 @@
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/listers/batch/v1", "ImportPath": "k8s.io/client-go/listers/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

View File

@ -246,6 +246,10 @@
"ImportPath": "k8s.io/api/autoscaling/v2beta1", "ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/api/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/api/batch/v1", "ImportPath": "k8s.io/api/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

View File

@ -314,6 +314,10 @@
"ImportPath": "k8s.io/api/autoscaling/v2beta1", "ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/api/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/api/batch/v1", "ImportPath": "k8s.io/api/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

View File

@ -1,9 +1,4 @@
package(default_visibility = ["//visibility:public"]) load("@io_bazel_rules_go//go:def.bzl", "go_library")
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library( go_library(
name = "go_default_library", name = "go_default_library",
@ -13,6 +8,7 @@ go_library(
], ],
importmap = "k8s.io/kubernetes/vendor/k8s.io/client-go/informers", importmap = "k8s.io/kubernetes/vendor/k8s.io/client-go/informers",
importpath = "k8s.io/client-go/informers", importpath = "k8s.io/client-go/informers",
visibility = ["//visibility:public"],
deps = [ deps = [
"//staging/src/k8s.io/api/admissionregistration/v1alpha1:go_default_library", "//staging/src/k8s.io/api/admissionregistration/v1alpha1:go_default_library",
"//staging/src/k8s.io/api/admissionregistration/v1beta1:go_default_library", "//staging/src/k8s.io/api/admissionregistration/v1beta1:go_default_library",
@ -21,6 +17,7 @@ go_library(
"//staging/src/k8s.io/api/apps/v1beta2:go_default_library", "//staging/src/k8s.io/api/apps/v1beta2:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v1:go_default_library", "//staging/src/k8s.io/api/autoscaling/v1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v2beta1:go_default_library", "//staging/src/k8s.io/api/autoscaling/v2beta1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/api/batch/v1:go_default_library", "//staging/src/k8s.io/api/batch/v1:go_default_library",
"//staging/src/k8s.io/api/batch/v1beta1:go_default_library", "//staging/src/k8s.io/api/batch/v1beta1:go_default_library",
"//staging/src/k8s.io/api/batch/v2alpha1:go_default_library", "//staging/src/k8s.io/api/batch/v2alpha1:go_default_library",
@ -93,4 +90,5 @@ filegroup(
"//staging/src/k8s.io/client-go/informers/storage:all-srcs", "//staging/src/k8s.io/client-go/informers/storage:all-srcs",
], ],
tags = ["automanaged"], tags = ["automanaged"],
visibility = ["//visibility:public"],
) )

View File

@ -9,6 +9,7 @@ go_library(
deps = [ deps = [
"//staging/src/k8s.io/client-go/informers/autoscaling/v1:go_default_library", "//staging/src/k8s.io/client-go/informers/autoscaling/v1:go_default_library",
"//staging/src/k8s.io/client-go/informers/autoscaling/v2beta1:go_default_library", "//staging/src/k8s.io/client-go/informers/autoscaling/v2beta1:go_default_library",
"//staging/src/k8s.io/client-go/informers/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/client-go/informers/internalinterfaces:go_default_library", "//staging/src/k8s.io/client-go/informers/internalinterfaces:go_default_library",
], ],
) )
@ -26,6 +27,7 @@ filegroup(
":package-srcs", ":package-srcs",
"//staging/src/k8s.io/client-go/informers/autoscaling/v1:all-srcs", "//staging/src/k8s.io/client-go/informers/autoscaling/v1:all-srcs",
"//staging/src/k8s.io/client-go/informers/autoscaling/v2beta1:all-srcs", "//staging/src/k8s.io/client-go/informers/autoscaling/v2beta1:all-srcs",
"//staging/src/k8s.io/client-go/informers/autoscaling/v2beta2:all-srcs",
], ],
tags = ["automanaged"], tags = ["automanaged"],
visibility = ["//visibility:public"], visibility = ["//visibility:public"],

View File

@ -21,6 +21,7 @@ package autoscaling
import ( import (
v1 "k8s.io/client-go/informers/autoscaling/v1" v1 "k8s.io/client-go/informers/autoscaling/v1"
v2beta1 "k8s.io/client-go/informers/autoscaling/v2beta1" v2beta1 "k8s.io/client-go/informers/autoscaling/v2beta1"
v2beta2 "k8s.io/client-go/informers/autoscaling/v2beta2"
internalinterfaces "k8s.io/client-go/informers/internalinterfaces" internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
) )
@ -30,6 +31,8 @@ type Interface interface {
V1() v1.Interface V1() v1.Interface
// V2beta1 provides access to shared informers for resources in V2beta1. // V2beta1 provides access to shared informers for resources in V2beta1.
V2beta1() v2beta1.Interface V2beta1() v2beta1.Interface
// V2beta2 provides access to shared informers for resources in V2beta2.
V2beta2() v2beta2.Interface
} }
type group struct { type group struct {
@ -52,3 +55,8 @@ func (g *group) V1() v1.Interface {
func (g *group) V2beta1() v2beta1.Interface { func (g *group) V2beta1() v2beta1.Interface {
return v2beta1.New(g.factory, g.namespace, g.tweakListOptions) return v2beta1.New(g.factory, g.namespace, g.tweakListOptions)
} }
// V2beta2 returns a new v2beta2.Interface.
func (g *group) V2beta2() v2beta2.Interface {
return v2beta2.New(g.factory, g.namespace, g.tweakListOptions)
}

View File

@ -0,0 +1,36 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = [
"horizontalpodautoscaler.go",
"interface.go",
],
importmap = "k8s.io/kubernetes/vendor/k8s.io/client-go/informers/autoscaling/v2beta2",
importpath = "k8s.io/client-go/informers/autoscaling/v2beta2",
visibility = ["//visibility:public"],
deps = [
"//staging/src/k8s.io/api/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library",
"//staging/src/k8s.io/client-go/informers/internalinterfaces:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
"//staging/src/k8s.io/client-go/listers/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@ -0,0 +1,89 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by informer-gen. DO NOT EDIT.
package v2beta2
import (
time "time"
autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
watch "k8s.io/apimachinery/pkg/watch"
internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
kubernetes "k8s.io/client-go/kubernetes"
v2beta2 "k8s.io/client-go/listers/autoscaling/v2beta2"
cache "k8s.io/client-go/tools/cache"
)
// HorizontalPodAutoscalerInformer provides access to a shared informer and lister for
// HorizontalPodAutoscalers.
type HorizontalPodAutoscalerInformer interface {
Informer() cache.SharedIndexInformer
Lister() v2beta2.HorizontalPodAutoscalerLister
}
type horizontalPodAutoscalerInformer struct {
factory internalinterfaces.SharedInformerFactory
tweakListOptions internalinterfaces.TweakListOptionsFunc
namespace string
}
// NewHorizontalPodAutoscalerInformer constructs a new informer for HorizontalPodAutoscaler type.
// Always prefer using an informer factory to get a shared informer instead of getting an independent
// one. This reduces memory footprint and number of connections to the server.
func NewHorizontalPodAutoscalerInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
return NewFilteredHorizontalPodAutoscalerInformer(client, namespace, resyncPeriod, indexers, nil)
}
// NewFilteredHorizontalPodAutoscalerInformer constructs a new informer for HorizontalPodAutoscaler type.
// Always prefer using an informer factory to get a shared informer instead of getting an independent
// one. This reduces memory footprint and number of connections to the server.
func NewFilteredHorizontalPodAutoscalerInformer(client kubernetes.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
return cache.NewSharedIndexInformer(
&cache.ListWatch{
ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
if tweakListOptions != nil {
tweakListOptions(&options)
}
return client.AutoscalingV2beta2().HorizontalPodAutoscalers(namespace).List(options)
},
WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
if tweakListOptions != nil {
tweakListOptions(&options)
}
return client.AutoscalingV2beta2().HorizontalPodAutoscalers(namespace).Watch(options)
},
},
&autoscalingv2beta2.HorizontalPodAutoscaler{},
resyncPeriod,
indexers,
)
}
func (f *horizontalPodAutoscalerInformer) defaultInformer(client kubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
return NewFilteredHorizontalPodAutoscalerInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
}
func (f *horizontalPodAutoscalerInformer) Informer() cache.SharedIndexInformer {
return f.factory.InformerFor(&autoscalingv2beta2.HorizontalPodAutoscaler{}, f.defaultInformer)
}
func (f *horizontalPodAutoscalerInformer) Lister() v2beta2.HorizontalPodAutoscalerLister {
return v2beta2.NewHorizontalPodAutoscalerLister(f.Informer().GetIndexer())
}

View File

@ -0,0 +1,45 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by informer-gen. DO NOT EDIT.
package v2beta2
import (
internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
)
// Interface provides access to all the informers in this group version.
type Interface interface {
// HorizontalPodAutoscalers returns a HorizontalPodAutoscalerInformer.
HorizontalPodAutoscalers() HorizontalPodAutoscalerInformer
}
type version struct {
factory internalinterfaces.SharedInformerFactory
namespace string
tweakListOptions internalinterfaces.TweakListOptionsFunc
}
// New returns a new Interface.
func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
}
// HorizontalPodAutoscalers returns a HorizontalPodAutoscalerInformer.
func (v *version) HorizontalPodAutoscalers() HorizontalPodAutoscalerInformer {
return &horizontalPodAutoscalerInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}

View File

@ -28,6 +28,7 @@ import (
v1beta2 "k8s.io/api/apps/v1beta2" v1beta2 "k8s.io/api/apps/v1beta2"
autoscalingv1 "k8s.io/api/autoscaling/v1" autoscalingv1 "k8s.io/api/autoscaling/v1"
v2beta1 "k8s.io/api/autoscaling/v2beta1" v2beta1 "k8s.io/api/autoscaling/v2beta1"
v2beta2 "k8s.io/api/autoscaling/v2beta2"
batchv1 "k8s.io/api/batch/v1" batchv1 "k8s.io/api/batch/v1"
batchv1beta1 "k8s.io/api/batch/v1beta1" batchv1beta1 "k8s.io/api/batch/v1beta1"
v2alpha1 "k8s.io/api/batch/v2alpha1" v2alpha1 "k8s.io/api/batch/v2alpha1"
@ -127,6 +128,10 @@ func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource
case v2beta1.SchemeGroupVersion.WithResource("horizontalpodautoscalers"): case v2beta1.SchemeGroupVersion.WithResource("horizontalpodautoscalers"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Autoscaling().V2beta1().HorizontalPodAutoscalers().Informer()}, nil return &genericInformer{resource: resource.GroupResource(), informer: f.Autoscaling().V2beta1().HorizontalPodAutoscalers().Informer()}, nil
// Group=autoscaling, Version=v2beta2
case v2beta2.SchemeGroupVersion.WithResource("horizontalpodautoscalers"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Autoscaling().V2beta2().HorizontalPodAutoscalers().Informer()}, nil
// Group=batch, Version=v1 // Group=batch, Version=v1
case batchv1.SchemeGroupVersion.WithResource("jobs"): case batchv1.SchemeGroupVersion.WithResource("jobs"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Batch().V1().Jobs().Informer()}, nil return &genericInformer{resource: resource.GroupResource(), informer: f.Batch().V1().Jobs().Informer()}, nil

View File

@ -1,9 +1,4 @@
package(default_visibility = ["//visibility:public"]) load("@io_bazel_rules_go//go:def.bzl", "go_library")
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library( go_library(
name = "go_default_library", name = "go_default_library",
@ -14,6 +9,7 @@ go_library(
], ],
importmap = "k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes", importmap = "k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes",
importpath = "k8s.io/client-go/kubernetes", importpath = "k8s.io/client-go/kubernetes",
visibility = ["//visibility:public"],
deps = [ deps = [
"//staging/src/k8s.io/client-go/discovery:go_default_library", "//staging/src/k8s.io/client-go/discovery:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1:go_default_library",
@ -27,6 +23,7 @@ go_library(
"//staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1beta1:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1beta1:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1beta1:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1beta1:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1:go_default_library",
@ -75,6 +72,7 @@ filegroup(
"//staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1beta1:all-srcs", "//staging/src/k8s.io/client-go/kubernetes/typed/authorization/v1beta1:all-srcs",
"//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1:all-srcs", "//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1:all-srcs",
"//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1:all-srcs", "//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1:all-srcs",
"//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2:all-srcs",
"//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1:all-srcs", "//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1:all-srcs",
"//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1beta1:all-srcs", "//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1beta1:all-srcs",
"//staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1:all-srcs", "//staging/src/k8s.io/client-go/kubernetes/typed/batch/v2alpha1:all-srcs",
@ -96,4 +94,5 @@ filegroup(
"//staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1:all-srcs", "//staging/src/k8s.io/client-go/kubernetes/typed/storage/v1beta1:all-srcs",
], ],
tags = ["automanaged"], tags = ["automanaged"],
visibility = ["//visibility:public"],
) )

View File

@ -31,6 +31,7 @@ import (
authorizationv1beta1 "k8s.io/client-go/kubernetes/typed/authorization/v1beta1" authorizationv1beta1 "k8s.io/client-go/kubernetes/typed/authorization/v1beta1"
autoscalingv1 "k8s.io/client-go/kubernetes/typed/autoscaling/v1" autoscalingv1 "k8s.io/client-go/kubernetes/typed/autoscaling/v1"
autoscalingv2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1" autoscalingv2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1"
autoscalingv2beta2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2"
batchv1 "k8s.io/client-go/kubernetes/typed/batch/v1" batchv1 "k8s.io/client-go/kubernetes/typed/batch/v1"
batchv1beta1 "k8s.io/client-go/kubernetes/typed/batch/v1beta1" batchv1beta1 "k8s.io/client-go/kubernetes/typed/batch/v1beta1"
batchv2alpha1 "k8s.io/client-go/kubernetes/typed/batch/v2alpha1" batchv2alpha1 "k8s.io/client-go/kubernetes/typed/batch/v2alpha1"
@ -77,6 +78,7 @@ type Interface interface {
// Deprecated: please explicitly pick a version if possible. // Deprecated: please explicitly pick a version if possible.
Autoscaling() autoscalingv1.AutoscalingV1Interface Autoscaling() autoscalingv1.AutoscalingV1Interface
AutoscalingV2beta1() autoscalingv2beta1.AutoscalingV2beta1Interface AutoscalingV2beta1() autoscalingv2beta1.AutoscalingV2beta1Interface
AutoscalingV2beta2() autoscalingv2beta2.AutoscalingV2beta2Interface
BatchV1() batchv1.BatchV1Interface BatchV1() batchv1.BatchV1Interface
// Deprecated: please explicitly pick a version if possible. // Deprecated: please explicitly pick a version if possible.
Batch() batchv1.BatchV1Interface Batch() batchv1.BatchV1Interface
@ -137,6 +139,7 @@ type Clientset struct {
authorizationV1beta1 *authorizationv1beta1.AuthorizationV1beta1Client authorizationV1beta1 *authorizationv1beta1.AuthorizationV1beta1Client
autoscalingV1 *autoscalingv1.AutoscalingV1Client autoscalingV1 *autoscalingv1.AutoscalingV1Client
autoscalingV2beta1 *autoscalingv2beta1.AutoscalingV2beta1Client autoscalingV2beta1 *autoscalingv2beta1.AutoscalingV2beta1Client
autoscalingV2beta2 *autoscalingv2beta2.AutoscalingV2beta2Client
batchV1 *batchv1.BatchV1Client batchV1 *batchv1.BatchV1Client
batchV1beta1 *batchv1beta1.BatchV1beta1Client batchV1beta1 *batchv1beta1.BatchV1beta1Client
batchV2alpha1 *batchv2alpha1.BatchV2alpha1Client batchV2alpha1 *batchv2alpha1.BatchV2alpha1Client
@ -243,6 +246,11 @@ func (c *Clientset) AutoscalingV2beta1() autoscalingv2beta1.AutoscalingV2beta1In
return c.autoscalingV2beta1 return c.autoscalingV2beta1
} }
// AutoscalingV2beta2 retrieves the AutoscalingV2beta2Client
func (c *Clientset) AutoscalingV2beta2() autoscalingv2beta2.AutoscalingV2beta2Interface {
return c.autoscalingV2beta2
}
// BatchV1 retrieves the BatchV1Client // BatchV1 retrieves the BatchV1Client
func (c *Clientset) BatchV1() batchv1.BatchV1Interface { func (c *Clientset) BatchV1() batchv1.BatchV1Interface {
return c.batchV1 return c.batchV1
@ -470,6 +478,10 @@ func NewForConfig(c *rest.Config) (*Clientset, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
cs.autoscalingV2beta2, err = autoscalingv2beta2.NewForConfig(&configShallowCopy)
if err != nil {
return nil, err
}
cs.batchV1, err = batchv1.NewForConfig(&configShallowCopy) cs.batchV1, err = batchv1.NewForConfig(&configShallowCopy)
if err != nil { if err != nil {
return nil, err return nil, err
@ -569,6 +581,7 @@ func NewForConfigOrDie(c *rest.Config) *Clientset {
cs.authorizationV1beta1 = authorizationv1beta1.NewForConfigOrDie(c) cs.authorizationV1beta1 = authorizationv1beta1.NewForConfigOrDie(c)
cs.autoscalingV1 = autoscalingv1.NewForConfigOrDie(c) cs.autoscalingV1 = autoscalingv1.NewForConfigOrDie(c)
cs.autoscalingV2beta1 = autoscalingv2beta1.NewForConfigOrDie(c) cs.autoscalingV2beta1 = autoscalingv2beta1.NewForConfigOrDie(c)
cs.autoscalingV2beta2 = autoscalingv2beta2.NewForConfigOrDie(c)
cs.batchV1 = batchv1.NewForConfigOrDie(c) cs.batchV1 = batchv1.NewForConfigOrDie(c)
cs.batchV1beta1 = batchv1beta1.NewForConfigOrDie(c) cs.batchV1beta1 = batchv1beta1.NewForConfigOrDie(c)
cs.batchV2alpha1 = batchv2alpha1.NewForConfigOrDie(c) cs.batchV2alpha1 = batchv2alpha1.NewForConfigOrDie(c)
@ -607,6 +620,7 @@ func New(c rest.Interface) *Clientset {
cs.authorizationV1beta1 = authorizationv1beta1.New(c) cs.authorizationV1beta1 = authorizationv1beta1.New(c)
cs.autoscalingV1 = autoscalingv1.New(c) cs.autoscalingV1 = autoscalingv1.New(c)
cs.autoscalingV2beta1 = autoscalingv2beta1.New(c) cs.autoscalingV2beta1 = autoscalingv2beta1.New(c)
cs.autoscalingV2beta2 = autoscalingv2beta2.New(c)
cs.batchV1 = batchv1.New(c) cs.batchV1 = batchv1.New(c)
cs.batchV1beta1 = batchv1beta1.New(c) cs.batchV1beta1 = batchv1beta1.New(c)
cs.batchV2alpha1 = batchv2alpha1.New(c) cs.batchV2alpha1 = batchv2alpha1.New(c)

View File

@ -1,9 +1,4 @@
package(default_visibility = ["//visibility:public"]) load("@io_bazel_rules_go//go:def.bzl", "go_library")
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library( go_library(
name = "go_default_library", name = "go_default_library",
@ -14,6 +9,7 @@ go_library(
], ],
importmap = "k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes/fake", importmap = "k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes/fake",
importpath = "k8s.io/client-go/kubernetes/fake", importpath = "k8s.io/client-go/kubernetes/fake",
visibility = ["//visibility:public"],
deps = [ deps = [
"//staging/src/k8s.io/api/admissionregistration/v1alpha1:go_default_library", "//staging/src/k8s.io/api/admissionregistration/v1alpha1:go_default_library",
"//staging/src/k8s.io/api/admissionregistration/v1beta1:go_default_library", "//staging/src/k8s.io/api/admissionregistration/v1beta1:go_default_library",
@ -26,6 +22,7 @@ go_library(
"//staging/src/k8s.io/api/authorization/v1beta1:go_default_library", "//staging/src/k8s.io/api/authorization/v1beta1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v1:go_default_library", "//staging/src/k8s.io/api/autoscaling/v1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v2beta1:go_default_library", "//staging/src/k8s.io/api/autoscaling/v2beta1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/api/batch/v1:go_default_library", "//staging/src/k8s.io/api/batch/v1:go_default_library",
"//staging/src/k8s.io/api/batch/v1beta1:go_default_library", "//staging/src/k8s.io/api/batch/v1beta1:go_default_library",
"//staging/src/k8s.io/api/batch/v2alpha1:go_default_library", "//staging/src/k8s.io/api/batch/v2alpha1:go_default_library",
@ -76,6 +73,8 @@ go_library(
"//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2/fake:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/fake:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1/fake:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1beta1:go_default_library", "//staging/src/k8s.io/client-go/kubernetes/typed/batch/v1beta1:go_default_library",
@ -129,4 +128,5 @@ filegroup(
name = "all-srcs", name = "all-srcs",
srcs = [":package-srcs"], srcs = [":package-srcs"],
tags = ["automanaged"], tags = ["automanaged"],
visibility = ["//visibility:public"],
) )

View File

@ -46,6 +46,8 @@ import (
fakeautoscalingv1 "k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake" fakeautoscalingv1 "k8s.io/client-go/kubernetes/typed/autoscaling/v1/fake"
autoscalingv2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1" autoscalingv2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1"
fakeautoscalingv2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake" fakeautoscalingv2beta1 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake"
autoscalingv2beta2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2"
fakeautoscalingv2beta2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2/fake"
batchv1 "k8s.io/client-go/kubernetes/typed/batch/v1" batchv1 "k8s.io/client-go/kubernetes/typed/batch/v1"
fakebatchv1 "k8s.io/client-go/kubernetes/typed/batch/v1/fake" fakebatchv1 "k8s.io/client-go/kubernetes/typed/batch/v1/fake"
batchv1beta1 "k8s.io/client-go/kubernetes/typed/batch/v1beta1" batchv1beta1 "k8s.io/client-go/kubernetes/typed/batch/v1beta1"
@ -209,6 +211,11 @@ func (c *Clientset) AutoscalingV2beta1() autoscalingv2beta1.AutoscalingV2beta1In
return &fakeautoscalingv2beta1.FakeAutoscalingV2beta1{Fake: &c.Fake} return &fakeautoscalingv2beta1.FakeAutoscalingV2beta1{Fake: &c.Fake}
} }
// AutoscalingV2beta2 retrieves the AutoscalingV2beta2Client
func (c *Clientset) AutoscalingV2beta2() autoscalingv2beta2.AutoscalingV2beta2Interface {
return &fakeautoscalingv2beta2.FakeAutoscalingV2beta2{Fake: &c.Fake}
}
// BatchV1 retrieves the BatchV1Client // BatchV1 retrieves the BatchV1Client
func (c *Clientset) BatchV1() batchv1.BatchV1Interface { func (c *Clientset) BatchV1() batchv1.BatchV1Interface {
return &fakebatchv1.FakeBatchV1{Fake: &c.Fake} return &fakebatchv1.FakeBatchV1{Fake: &c.Fake}

View File

@ -30,6 +30,7 @@ import (
authorizationv1beta1 "k8s.io/api/authorization/v1beta1" authorizationv1beta1 "k8s.io/api/authorization/v1beta1"
autoscalingv1 "k8s.io/api/autoscaling/v1" autoscalingv1 "k8s.io/api/autoscaling/v1"
autoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1" autoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1"
autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2"
batchv1 "k8s.io/api/batch/v1" batchv1 "k8s.io/api/batch/v1"
batchv1beta1 "k8s.io/api/batch/v1beta1" batchv1beta1 "k8s.io/api/batch/v1beta1"
batchv2alpha1 "k8s.io/api/batch/v2alpha1" batchv2alpha1 "k8s.io/api/batch/v2alpha1"
@ -71,6 +72,7 @@ var localSchemeBuilder = runtime.SchemeBuilder{
authorizationv1beta1.AddToScheme, authorizationv1beta1.AddToScheme,
autoscalingv1.AddToScheme, autoscalingv1.AddToScheme,
autoscalingv2beta1.AddToScheme, autoscalingv2beta1.AddToScheme,
autoscalingv2beta2.AddToScheme,
batchv1.AddToScheme, batchv1.AddToScheme,
batchv1beta1.AddToScheme, batchv1beta1.AddToScheme,
batchv2alpha1.AddToScheme, batchv2alpha1.AddToScheme,

View File

@ -1,9 +1,4 @@
package(default_visibility = ["//visibility:public"]) load("@io_bazel_rules_go//go:def.bzl", "go_library")
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library( go_library(
name = "go_default_library", name = "go_default_library",
@ -13,6 +8,7 @@ go_library(
], ],
importmap = "k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes/scheme", importmap = "k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes/scheme",
importpath = "k8s.io/client-go/kubernetes/scheme", importpath = "k8s.io/client-go/kubernetes/scheme",
visibility = ["//visibility:public"],
deps = [ deps = [
"//staging/src/k8s.io/api/admissionregistration/v1alpha1:go_default_library", "//staging/src/k8s.io/api/admissionregistration/v1alpha1:go_default_library",
"//staging/src/k8s.io/api/admissionregistration/v1beta1:go_default_library", "//staging/src/k8s.io/api/admissionregistration/v1beta1:go_default_library",
@ -25,6 +21,7 @@ go_library(
"//staging/src/k8s.io/api/authorization/v1beta1:go_default_library", "//staging/src/k8s.io/api/authorization/v1beta1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v1:go_default_library", "//staging/src/k8s.io/api/autoscaling/v1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v2beta1:go_default_library", "//staging/src/k8s.io/api/autoscaling/v2beta1:go_default_library",
"//staging/src/k8s.io/api/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/api/batch/v1:go_default_library", "//staging/src/k8s.io/api/batch/v1:go_default_library",
"//staging/src/k8s.io/api/batch/v1beta1:go_default_library", "//staging/src/k8s.io/api/batch/v1beta1:go_default_library",
"//staging/src/k8s.io/api/batch/v2alpha1:go_default_library", "//staging/src/k8s.io/api/batch/v2alpha1:go_default_library",
@ -63,4 +60,5 @@ filegroup(
name = "all-srcs", name = "all-srcs",
srcs = [":package-srcs"], srcs = [":package-srcs"],
tags = ["automanaged"], tags = ["automanaged"],
visibility = ["//visibility:public"],
) )

View File

@ -30,6 +30,7 @@ import (
authorizationv1beta1 "k8s.io/api/authorization/v1beta1" authorizationv1beta1 "k8s.io/api/authorization/v1beta1"
autoscalingv1 "k8s.io/api/autoscaling/v1" autoscalingv1 "k8s.io/api/autoscaling/v1"
autoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1" autoscalingv2beta1 "k8s.io/api/autoscaling/v2beta1"
autoscalingv2beta2 "k8s.io/api/autoscaling/v2beta2"
batchv1 "k8s.io/api/batch/v1" batchv1 "k8s.io/api/batch/v1"
batchv1beta1 "k8s.io/api/batch/v1beta1" batchv1beta1 "k8s.io/api/batch/v1beta1"
batchv2alpha1 "k8s.io/api/batch/v2alpha1" batchv2alpha1 "k8s.io/api/batch/v2alpha1"
@ -71,6 +72,7 @@ var localSchemeBuilder = runtime.SchemeBuilder{
authorizationv1beta1.AddToScheme, authorizationv1beta1.AddToScheme,
autoscalingv1.AddToScheme, autoscalingv1.AddToScheme,
autoscalingv2beta1.AddToScheme, autoscalingv2beta1.AddToScheme,
autoscalingv2beta2.AddToScheme,
batchv1.AddToScheme, batchv1.AddToScheme,
batchv1beta1.AddToScheme, batchv1beta1.AddToScheme,
batchv2alpha1.AddToScheme, batchv2alpha1.AddToScheme,

View File

@ -0,0 +1,40 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = [
"autoscaling_client.go",
"doc.go",
"generated_expansion.go",
"horizontalpodautoscaler.go",
],
importmap = "k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2",
importpath = "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2",
visibility = ["//visibility:public"],
deps = [
"//staging/src/k8s.io/api/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/scheme:go_default_library",
"//staging/src/k8s.io/client-go/rest:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [
":package-srcs",
"//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2/fake:all-srcs",
],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@ -0,0 +1,90 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v2beta2
import (
v2beta2 "k8s.io/api/autoscaling/v2beta2"
serializer "k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/client-go/kubernetes/scheme"
rest "k8s.io/client-go/rest"
)
type AutoscalingV2beta2Interface interface {
RESTClient() rest.Interface
HorizontalPodAutoscalersGetter
}
// AutoscalingV2beta2Client is used to interact with features provided by the autoscaling group.
type AutoscalingV2beta2Client struct {
restClient rest.Interface
}
func (c *AutoscalingV2beta2Client) HorizontalPodAutoscalers(namespace string) HorizontalPodAutoscalerInterface {
return newHorizontalPodAutoscalers(c, namespace)
}
// NewForConfig creates a new AutoscalingV2beta2Client for the given config.
func NewForConfig(c *rest.Config) (*AutoscalingV2beta2Client, error) {
config := *c
if err := setConfigDefaults(&config); err != nil {
return nil, err
}
client, err := rest.RESTClientFor(&config)
if err != nil {
return nil, err
}
return &AutoscalingV2beta2Client{client}, nil
}
// NewForConfigOrDie creates a new AutoscalingV2beta2Client for the given config and
// panics if there is an error in the config.
func NewForConfigOrDie(c *rest.Config) *AutoscalingV2beta2Client {
client, err := NewForConfig(c)
if err != nil {
panic(err)
}
return client
}
// New creates a new AutoscalingV2beta2Client for the given RESTClient.
func New(c rest.Interface) *AutoscalingV2beta2Client {
return &AutoscalingV2beta2Client{c}
}
func setConfigDefaults(config *rest.Config) error {
gv := v2beta2.SchemeGroupVersion
config.GroupVersion = &gv
config.APIPath = "/apis"
config.NegotiatedSerializer = serializer.DirectCodecFactory{CodecFactory: scheme.Codecs}
if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent()
}
return nil
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *AutoscalingV2beta2Client) RESTClient() rest.Interface {
if c == nil {
return nil
}
return c.restClient
}

View File

@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// This package has the automatically generated typed clients.
package v2beta2

View File

@ -0,0 +1,38 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = [
"doc.go",
"fake_autoscaling_client.go",
"fake_horizontalpodautoscaler.go",
],
importmap = "k8s.io/kubernetes/vendor/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2/fake",
importpath = "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2/fake",
visibility = ["//visibility:public"],
deps = [
"//staging/src/k8s.io/api/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/watch:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/client-go/rest:go_default_library",
"//staging/src/k8s.io/client-go/testing:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@ -0,0 +1,20 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
// Package fake has the automatically generated clients.
package fake

View File

@ -0,0 +1,40 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v2beta2 "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2"
rest "k8s.io/client-go/rest"
testing "k8s.io/client-go/testing"
)
type FakeAutoscalingV2beta2 struct {
*testing.Fake
}
func (c *FakeAutoscalingV2beta2) HorizontalPodAutoscalers(namespace string) v2beta2.HorizontalPodAutoscalerInterface {
return &FakeHorizontalPodAutoscalers{c, namespace}
}
// RESTClient returns a RESTClient that is used to communicate
// with API server by this client implementation.
func (c *FakeAutoscalingV2beta2) RESTClient() rest.Interface {
var ret *rest.RESTClient
return ret
}

View File

@ -0,0 +1,140 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package fake
import (
v2beta2 "k8s.io/api/autoscaling/v2beta2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
)
// FakeHorizontalPodAutoscalers implements HorizontalPodAutoscalerInterface
type FakeHorizontalPodAutoscalers struct {
Fake *FakeAutoscalingV2beta2
ns string
}
var horizontalpodautoscalersResource = schema.GroupVersionResource{Group: "autoscaling", Version: "v2beta2", Resource: "horizontalpodautoscalers"}
var horizontalpodautoscalersKind = schema.GroupVersionKind{Group: "autoscaling", Version: "v2beta2", Kind: "HorizontalPodAutoscaler"}
// Get takes name of the horizontalPodAutoscaler, and returns the corresponding horizontalPodAutoscaler object, and an error if there is any.
func (c *FakeHorizontalPodAutoscalers) Get(name string, options v1.GetOptions) (result *v2beta2.HorizontalPodAutoscaler, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(horizontalpodautoscalersResource, c.ns, name), &v2beta2.HorizontalPodAutoscaler{})
if obj == nil {
return nil, err
}
return obj.(*v2beta2.HorizontalPodAutoscaler), err
}
// List takes label and field selectors, and returns the list of HorizontalPodAutoscalers that match those selectors.
func (c *FakeHorizontalPodAutoscalers) List(opts v1.ListOptions) (result *v2beta2.HorizontalPodAutoscalerList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(horizontalpodautoscalersResource, horizontalpodautoscalersKind, c.ns, opts), &v2beta2.HorizontalPodAutoscalerList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v2beta2.HorizontalPodAutoscalerList{ListMeta: obj.(*v2beta2.HorizontalPodAutoscalerList).ListMeta}
for _, item := range obj.(*v2beta2.HorizontalPodAutoscalerList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested horizontalPodAutoscalers.
func (c *FakeHorizontalPodAutoscalers) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(horizontalpodautoscalersResource, c.ns, opts))
}
// Create takes the representation of a horizontalPodAutoscaler and creates it. Returns the server's representation of the horizontalPodAutoscaler, and an error, if there is any.
func (c *FakeHorizontalPodAutoscalers) Create(horizontalPodAutoscaler *v2beta2.HorizontalPodAutoscaler) (result *v2beta2.HorizontalPodAutoscaler, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(horizontalpodautoscalersResource, c.ns, horizontalPodAutoscaler), &v2beta2.HorizontalPodAutoscaler{})
if obj == nil {
return nil, err
}
return obj.(*v2beta2.HorizontalPodAutoscaler), err
}
// Update takes the representation of a horizontalPodAutoscaler and updates it. Returns the server's representation of the horizontalPodAutoscaler, and an error, if there is any.
func (c *FakeHorizontalPodAutoscalers) Update(horizontalPodAutoscaler *v2beta2.HorizontalPodAutoscaler) (result *v2beta2.HorizontalPodAutoscaler, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(horizontalpodautoscalersResource, c.ns, horizontalPodAutoscaler), &v2beta2.HorizontalPodAutoscaler{})
if obj == nil {
return nil, err
}
return obj.(*v2beta2.HorizontalPodAutoscaler), err
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *FakeHorizontalPodAutoscalers) UpdateStatus(horizontalPodAutoscaler *v2beta2.HorizontalPodAutoscaler) (*v2beta2.HorizontalPodAutoscaler, error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateSubresourceAction(horizontalpodautoscalersResource, "status", c.ns, horizontalPodAutoscaler), &v2beta2.HorizontalPodAutoscaler{})
if obj == nil {
return nil, err
}
return obj.(*v2beta2.HorizontalPodAutoscaler), err
}
// Delete takes name of the horizontalPodAutoscaler and deletes it. Returns an error if one occurs.
func (c *FakeHorizontalPodAutoscalers) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(horizontalpodautoscalersResource, c.ns, name), &v2beta2.HorizontalPodAutoscaler{})
return err
}
// DeleteCollection deletes a collection of objects.
func (c *FakeHorizontalPodAutoscalers) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(horizontalpodautoscalersResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &v2beta2.HorizontalPodAutoscalerList{})
return err
}
// Patch applies the patch and returns the patched horizontalPodAutoscaler.
func (c *FakeHorizontalPodAutoscalers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v2beta2.HorizontalPodAutoscaler, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(horizontalpodautoscalersResource, c.ns, name, data, subresources...), &v2beta2.HorizontalPodAutoscaler{})
if obj == nil {
return nil, err
}
return obj.(*v2beta2.HorizontalPodAutoscaler), err
}

View File

@ -0,0 +1,21 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v2beta2
type HorizontalPodAutoscalerExpansion interface{}

View File

@ -0,0 +1,174 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by client-gen. DO NOT EDIT.
package v2beta2
import (
v2beta2 "k8s.io/api/autoscaling/v2beta2"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/kubernetes/scheme"
rest "k8s.io/client-go/rest"
)
// HorizontalPodAutoscalersGetter has a method to return a HorizontalPodAutoscalerInterface.
// A group's client should implement this interface.
type HorizontalPodAutoscalersGetter interface {
HorizontalPodAutoscalers(namespace string) HorizontalPodAutoscalerInterface
}
// HorizontalPodAutoscalerInterface has methods to work with HorizontalPodAutoscaler resources.
type HorizontalPodAutoscalerInterface interface {
Create(*v2beta2.HorizontalPodAutoscaler) (*v2beta2.HorizontalPodAutoscaler, error)
Update(*v2beta2.HorizontalPodAutoscaler) (*v2beta2.HorizontalPodAutoscaler, error)
UpdateStatus(*v2beta2.HorizontalPodAutoscaler) (*v2beta2.HorizontalPodAutoscaler, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v2beta2.HorizontalPodAutoscaler, error)
List(opts v1.ListOptions) (*v2beta2.HorizontalPodAutoscalerList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v2beta2.HorizontalPodAutoscaler, err error)
HorizontalPodAutoscalerExpansion
}
// horizontalPodAutoscalers implements HorizontalPodAutoscalerInterface
type horizontalPodAutoscalers struct {
client rest.Interface
ns string
}
// newHorizontalPodAutoscalers returns a HorizontalPodAutoscalers
func newHorizontalPodAutoscalers(c *AutoscalingV2beta2Client, namespace string) *horizontalPodAutoscalers {
return &horizontalPodAutoscalers{
client: c.RESTClient(),
ns: namespace,
}
}
// Get takes name of the horizontalPodAutoscaler, and returns the corresponding horizontalPodAutoscaler object, and an error if there is any.
func (c *horizontalPodAutoscalers) Get(name string, options v1.GetOptions) (result *v2beta2.HorizontalPodAutoscaler, err error) {
result = &v2beta2.HorizontalPodAutoscaler{}
err = c.client.Get().
Namespace(c.ns).
Resource("horizontalpodautoscalers").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do().
Into(result)
return
}
// List takes label and field selectors, and returns the list of HorizontalPodAutoscalers that match those selectors.
func (c *horizontalPodAutoscalers) List(opts v1.ListOptions) (result *v2beta2.HorizontalPodAutoscalerList, err error) {
result = &v2beta2.HorizontalPodAutoscalerList{}
err = c.client.Get().
Namespace(c.ns).
Resource("horizontalpodautoscalers").
VersionedParams(&opts, scheme.ParameterCodec).
Do().
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested horizontalPodAutoscalers.
func (c *horizontalPodAutoscalers) Watch(opts v1.ListOptions) (watch.Interface, error) {
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("horizontalpodautoscalers").
VersionedParams(&opts, scheme.ParameterCodec).
Watch()
}
// Create takes the representation of a horizontalPodAutoscaler and creates it. Returns the server's representation of the horizontalPodAutoscaler, and an error, if there is any.
func (c *horizontalPodAutoscalers) Create(horizontalPodAutoscaler *v2beta2.HorizontalPodAutoscaler) (result *v2beta2.HorizontalPodAutoscaler, err error) {
result = &v2beta2.HorizontalPodAutoscaler{}
err = c.client.Post().
Namespace(c.ns).
Resource("horizontalpodautoscalers").
Body(horizontalPodAutoscaler).
Do().
Into(result)
return
}
// Update takes the representation of a horizontalPodAutoscaler and updates it. Returns the server's representation of the horizontalPodAutoscaler, and an error, if there is any.
func (c *horizontalPodAutoscalers) Update(horizontalPodAutoscaler *v2beta2.HorizontalPodAutoscaler) (result *v2beta2.HorizontalPodAutoscaler, err error) {
result = &v2beta2.HorizontalPodAutoscaler{}
err = c.client.Put().
Namespace(c.ns).
Resource("horizontalpodautoscalers").
Name(horizontalPodAutoscaler.Name).
Body(horizontalPodAutoscaler).
Do().
Into(result)
return
}
// UpdateStatus was generated because the type contains a Status member.
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
func (c *horizontalPodAutoscalers) UpdateStatus(horizontalPodAutoscaler *v2beta2.HorizontalPodAutoscaler) (result *v2beta2.HorizontalPodAutoscaler, err error) {
result = &v2beta2.HorizontalPodAutoscaler{}
err = c.client.Put().
Namespace(c.ns).
Resource("horizontalpodautoscalers").
Name(horizontalPodAutoscaler.Name).
SubResource("status").
Body(horizontalPodAutoscaler).
Do().
Into(result)
return
}
// Delete takes name of the horizontalPodAutoscaler and deletes it. Returns an error if one occurs.
func (c *horizontalPodAutoscalers) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("horizontalpodautoscalers").
Name(name).
Body(options).
Do().
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *horizontalPodAutoscalers) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("horizontalpodautoscalers").
VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options).
Do().
Error()
}
// Patch applies the patch and returns the patched horizontalPodAutoscaler.
func (c *horizontalPodAutoscalers) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v2beta2.HorizontalPodAutoscaler, err error) {
result = &v2beta2.HorizontalPodAutoscaler{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("horizontalpodautoscalers").
SubResource(subresources...).
Name(name).
Body(data).
Do().
Into(result)
return
}

View File

@ -0,0 +1,32 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = [
"expansion_generated.go",
"horizontalpodautoscaler.go",
],
importmap = "k8s.io/kubernetes/vendor/k8s.io/client-go/listers/autoscaling/v2beta2",
importpath = "k8s.io/client-go/listers/autoscaling/v2beta2",
visibility = ["//visibility:public"],
deps = [
"//staging/src/k8s.io/api/autoscaling/v2beta2:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@ -0,0 +1,27 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by lister-gen. DO NOT EDIT.
package v2beta2
// HorizontalPodAutoscalerListerExpansion allows custom methods to be added to
// HorizontalPodAutoscalerLister.
type HorizontalPodAutoscalerListerExpansion interface{}
// HorizontalPodAutoscalerNamespaceListerExpansion allows custom methods to be added to
// HorizontalPodAutoscalerNamespaceLister.
type HorizontalPodAutoscalerNamespaceListerExpansion interface{}

View File

@ -0,0 +1,94 @@
/*
Copyright The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by lister-gen. DO NOT EDIT.
package v2beta2
import (
v2beta2 "k8s.io/api/autoscaling/v2beta2"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/client-go/tools/cache"
)
// HorizontalPodAutoscalerLister helps list HorizontalPodAutoscalers.
type HorizontalPodAutoscalerLister interface {
// List lists all HorizontalPodAutoscalers in the indexer.
List(selector labels.Selector) (ret []*v2beta2.HorizontalPodAutoscaler, err error)
// HorizontalPodAutoscalers returns an object that can list and get HorizontalPodAutoscalers.
HorizontalPodAutoscalers(namespace string) HorizontalPodAutoscalerNamespaceLister
HorizontalPodAutoscalerListerExpansion
}
// horizontalPodAutoscalerLister implements the HorizontalPodAutoscalerLister interface.
type horizontalPodAutoscalerLister struct {
indexer cache.Indexer
}
// NewHorizontalPodAutoscalerLister returns a new HorizontalPodAutoscalerLister.
func NewHorizontalPodAutoscalerLister(indexer cache.Indexer) HorizontalPodAutoscalerLister {
return &horizontalPodAutoscalerLister{indexer: indexer}
}
// List lists all HorizontalPodAutoscalers in the indexer.
func (s *horizontalPodAutoscalerLister) List(selector labels.Selector) (ret []*v2beta2.HorizontalPodAutoscaler, err error) {
err = cache.ListAll(s.indexer, selector, func(m interface{}) {
ret = append(ret, m.(*v2beta2.HorizontalPodAutoscaler))
})
return ret, err
}
// HorizontalPodAutoscalers returns an object that can list and get HorizontalPodAutoscalers.
func (s *horizontalPodAutoscalerLister) HorizontalPodAutoscalers(namespace string) HorizontalPodAutoscalerNamespaceLister {
return horizontalPodAutoscalerNamespaceLister{indexer: s.indexer, namespace: namespace}
}
// HorizontalPodAutoscalerNamespaceLister helps list and get HorizontalPodAutoscalers.
type HorizontalPodAutoscalerNamespaceLister interface {
// List lists all HorizontalPodAutoscalers in the indexer for a given namespace.
List(selector labels.Selector) (ret []*v2beta2.HorizontalPodAutoscaler, err error)
// Get retrieves the HorizontalPodAutoscaler from the indexer for a given namespace and name.
Get(name string) (*v2beta2.HorizontalPodAutoscaler, error)
HorizontalPodAutoscalerNamespaceListerExpansion
}
// horizontalPodAutoscalerNamespaceLister implements the HorizontalPodAutoscalerNamespaceLister
// interface.
type horizontalPodAutoscalerNamespaceLister struct {
indexer cache.Indexer
namespace string
}
// List lists all HorizontalPodAutoscalers in the indexer for a given namespace.
func (s horizontalPodAutoscalerNamespaceLister) List(selector labels.Selector) (ret []*v2beta2.HorizontalPodAutoscaler, err error) {
err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) {
ret = append(ret, m.(*v2beta2.HorizontalPodAutoscaler))
})
return ret, err
}
// Get retrieves the HorizontalPodAutoscaler from the indexer for a given namespace and name.
func (s horizontalPodAutoscalerNamespaceLister) Get(name string) (*v2beta2.HorizontalPodAutoscaler, error) {
obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name)
if err != nil {
return nil, err
}
if !exists {
return nil, errors.NewNotFound(v2beta2.Resource("horizontalpodautoscaler"), name)
}
return obj.(*v2beta2.HorizontalPodAutoscaler), nil
}

View File

@ -566,6 +566,10 @@
"ImportPath": "k8s.io/api/autoscaling/v2beta1", "ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/api/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/api/batch/v1", "ImportPath": "k8s.io/api/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -1278,6 +1282,10 @@
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/informers/batch", "ImportPath": "k8s.io/client-go/informers/batch",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -1458,6 +1466,10 @@
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -1562,6 +1574,10 @@
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/listers/batch/v1", "ImportPath": "k8s.io/client-go/listers/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

View File

@ -34,6 +34,8 @@ import proto "github.com/gogo/protobuf/proto"
import fmt "fmt" import fmt "fmt"
import math "math" import math "math"
import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
import strings "strings" import strings "strings"
import reflect "reflect" import reflect "reflect"
@ -110,6 +112,16 @@ func (m *MetricValue) MarshalTo(dAtA []byte) (int, error) {
return 0, err return 0, err
} }
i += n3 i += n3
if m.Selector != nil {
dAtA[i] = 0x32
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
n4, err := m.Selector.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n4
}
return i, nil return i, nil
} }
@ -131,11 +143,11 @@ func (m *MetricValueList) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
n4, err := m.ListMeta.MarshalTo(dAtA[i:]) n5, err := m.ListMeta.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n4 i += n5
if len(m.Items) > 0 { if len(m.Items) > 0 {
for _, msg := range m.Items { for _, msg := range m.Items {
dAtA[i] = 0x12 dAtA[i] = 0x12
@ -192,6 +204,10 @@ func (m *MetricValue) Size() (n int) {
} }
l = m.Value.Size() l = m.Value.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
if m.Selector != nil {
l = m.Selector.Size()
n += 1 + l + sovGenerated(uint64(l))
}
return n return n
} }
@ -232,6 +248,7 @@ func (this *MetricValue) String() string {
`Timestamp:` + strings.Replace(strings.Replace(this.Timestamp.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `Timestamp:` + strings.Replace(strings.Replace(this.Timestamp.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`,
`WindowSeconds:` + valueToStringGenerated(this.WindowSeconds) + `,`, `WindowSeconds:` + valueToStringGenerated(this.WindowSeconds) + `,`,
`Value:` + strings.Replace(strings.Replace(this.Value.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, `Value:` + strings.Replace(strings.Replace(this.Value.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
`Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s
@ -423,6 +440,39 @@ func (m *MetricValue) Unmarshal(dAtA []byte) error {
return err return err
} }
iNdEx = postIndex iNdEx = postIndex
case 6:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthGenerated
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Selector == nil {
m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{}
}
if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default: default:
iNdEx = preIndex iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:]) skippy, err := skipGenerated(dAtA[iNdEx:])
@ -665,39 +715,41 @@ func init() {
} }
var fileDescriptorGenerated = []byte{ var fileDescriptorGenerated = []byte{
// 531 bytes of a gzipped FileDescriptorProto // 566 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0x4f, 0x6f, 0xd3, 0x30, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0x4f, 0x6f, 0xd3, 0x3e,
0x18, 0xc6, 0x9b, 0x95, 0xc2, 0xe6, 0x69, 0x1a, 0xcb, 0x85, 0xa8, 0x87, 0xb4, 0x2a, 0x97, 0x82, 0x18, 0xc7, 0x9b, 0xf5, 0xd7, 0xfd, 0x3a, 0x8f, 0x69, 0x2c, 0x17, 0xa2, 0x1d, 0xd2, 0x6a, 0x5c,
0x34, 0x5b, 0xad, 0x10, 0x42, 0xe2, 0x16, 0x71, 0x41, 0xa2, 0x20, 0xb2, 0x89, 0x49, 0x80, 0x04, 0x0a, 0xd2, 0x6c, 0x6d, 0x20, 0x84, 0xc4, 0x2d, 0xe2, 0x82, 0xb4, 0x81, 0xc8, 0x26, 0x26, 0xf1,
0x8e, 0xf3, 0x36, 0x35, 0x25, 0x71, 0x64, 0x3b, 0x9d, 0x76, 0xe3, 0xc4, 0x99, 0x8f, 0xd5, 0xe3, 0x47, 0xe0, 0x38, 0x4f, 0x53, 0xd3, 0x26, 0x8e, 0x6c, 0xa7, 0xd3, 0x6e, 0xbc, 0x04, 0x5e, 0x56,
0xb8, 0xed, 0x54, 0xd1, 0xf0, 0x45, 0x50, 0x12, 0xa7, 0xed, 0x36, 0xfe, 0xed, 0x16, 0xdb, 0xef, 0x8f, 0xe3, 0xb6, 0x53, 0x45, 0x83, 0x78, 0x1f, 0x28, 0x89, 0xd3, 0x76, 0x1b, 0x7f, 0xb6, 0x5b,
0xf3, 0xf3, 0xf3, 0x3e, 0xaf, 0x83, 0x4e, 0xa6, 0x4f, 0x14, 0xe6, 0x82, 0x4c, 0xb3, 0x00, 0x64, 0x6c, 0x3f, 0xdf, 0x8f, 0xbf, 0xcf, 0xf7, 0x71, 0xd0, 0xc9, 0xf0, 0xa9, 0xc2, 0x5c, 0x90, 0x61,
0x02, 0x1a, 0x14, 0x99, 0x41, 0x12, 0x0a, 0x49, 0xcc, 0x41, 0x0c, 0x5a, 0x72, 0xa6, 0x48, 0x3a, 0x16, 0x80, 0x4c, 0x40, 0x83, 0x22, 0x63, 0x48, 0x42, 0x21, 0x89, 0x39, 0x88, 0x41, 0x4b, 0xce,
0x8d, 0x08, 0x4d, 0xb9, 0x22, 0x2c, 0x53, 0x5a, 0xc4, 0x1f, 0xea, 0xfd, 0xd9, 0x20, 0x00, 0x4d, 0x14, 0x49, 0x87, 0x11, 0xa1, 0x29, 0x57, 0x84, 0x65, 0x4a, 0x8b, 0xf8, 0x63, 0xbd, 0x3f, 0xde,
0x07, 0x24, 0x82, 0x04, 0x24, 0xd5, 0x10, 0xe2, 0x54, 0x0a, 0x2d, 0x6c, 0x5c, 0xe9, 0xb1, 0xa9, 0x0b, 0x40, 0xd3, 0x3d, 0x12, 0x41, 0x02, 0x92, 0x6a, 0x08, 0x71, 0x2a, 0x85, 0x16, 0x36, 0xae,
0xc3, 0xe9, 0x34, 0xc2, 0x85, 0x1e, 0x5f, 0xd6, 0x63, 0xa3, 0x6f, 0x1f, 0x46, 0x5c, 0x4f, 0xb2, 0xf4, 0xd8, 0xd4, 0xe1, 0x74, 0x18, 0xe1, 0x42, 0x8f, 0x2f, 0xeb, 0xb1, 0xd1, 0x6f, 0xef, 0x46,
0x00, 0x33, 0x11, 0x93, 0x48, 0x44, 0x82, 0x94, 0x98, 0x20, 0x1b, 0x97, 0xab, 0x72, 0x51, 0x7e, 0x5c, 0x0f, 0xb2, 0x00, 0x33, 0x11, 0x93, 0x48, 0x44, 0x82, 0x94, 0x98, 0x20, 0xeb, 0x97, 0xab,
0x55, 0xf8, 0x76, 0xcf, 0xd8, 0xa3, 0x29, 0x27, 0x4c, 0x48, 0x20, 0xb3, 0x6b, 0x16, 0xda, 0x8f, 0x72, 0x51, 0x7e, 0x55, 0xf8, 0xed, 0x1d, 0x63, 0x8f, 0xa6, 0x9c, 0x30, 0x21, 0x81, 0x8c, 0xaf,
0xd6, 0x35, 0x31, 0x65, 0x13, 0x9e, 0x80, 0x3c, 0xab, 0xfb, 0x20, 0x12, 0x94, 0xc8, 0x24, 0x83, 0x59, 0xd8, 0x7e, 0xbc, 0xa8, 0x89, 0x29, 0x1b, 0xf0, 0x04, 0xe4, 0x59, 0xdd, 0x07, 0x91, 0xa0,
0x1b, 0xa9, 0x54, 0x11, 0x07, 0xfd, 0xdd, 0x5d, 0xe4, 0x4f, 0x2a, 0x99, 0x25, 0x9a, 0xc7, 0xd7, 0x44, 0x26, 0x19, 0xdc, 0x4a, 0xa5, 0x8a, 0x38, 0xe8, 0xef, 0xee, 0x22, 0x7f, 0x52, 0xc9, 0x2c,
0xaf, 0x79, 0xfc, 0x2f, 0x81, 0x62, 0x13, 0x88, 0xe9, 0x55, 0x5d, 0xef, 0x6b, 0x13, 0xed, 0x8e, 0xd1, 0x3c, 0xbe, 0x7e, 0xcd, 0x93, 0x7f, 0x09, 0x14, 0x1b, 0x40, 0x4c, 0xaf, 0xea, 0x76, 0x7e,
0xca, 0xec, 0xde, 0xd0, 0xcf, 0x19, 0xd8, 0x63, 0xb4, 0x1f, 0x82, 0x62, 0x92, 0x07, 0x10, 0xbe, 0x36, 0xd1, 0xfa, 0x61, 0x99, 0xdd, 0x1b, 0x3a, 0xca, 0xc0, 0xee, 0xa3, 0xcd, 0x10, 0x14, 0x93,
0x0a, 0x3e, 0x01, 0xd3, 0x8e, 0xd5, 0xb5, 0xfa, 0xbb, 0xc3, 0xfb, 0xf5, 0x04, 0x68, 0xca, 0x71, 0x3c, 0x80, 0xf0, 0x55, 0xf0, 0x19, 0x98, 0x76, 0xac, 0xae, 0xd5, 0x5b, 0xdf, 0xbf, 0x5f, 0x4f,
0x11, 0x11, 0x9e, 0x0d, 0x70, 0x55, 0xe1, 0xc3, 0x18, 0x24, 0x24, 0x0c, 0xbc, 0x7b, 0xf3, 0x45, 0x80, 0xa6, 0x1c, 0x17, 0x11, 0xe1, 0xf1, 0x1e, 0xae, 0x2a, 0x7c, 0xe8, 0x83, 0x84, 0x84, 0x81,
0xa7, 0x91, 0x2f, 0x3a, 0xfb, 0xcf, 0x2e, 0x33, 0xfc, 0xab, 0x50, 0x7b, 0x88, 0x50, 0x35, 0xb2, 0x77, 0x6f, 0x32, 0xed, 0x34, 0xf2, 0x69, 0x67, 0xf3, 0xf9, 0x65, 0x86, 0x7f, 0x15, 0x6a, 0xef,
0x97, 0x34, 0x06, 0x67, 0xab, 0x6b, 0xf5, 0x77, 0x3c, 0xdb, 0xa8, 0xd1, 0x68, 0x75, 0xe2, 0x6f, 0x23, 0x54, 0x8d, 0xec, 0x25, 0x8d, 0xc1, 0x59, 0xe9, 0x5a, 0xbd, 0x35, 0xcf, 0x36, 0x6a, 0x74,
0x54, 0xd9, 0xef, 0xd0, 0x4e, 0xd1, 0x8a, 0xd2, 0x34, 0x4e, 0x9d, 0x66, 0xe9, 0xea, 0xe1, 0x86, 0x38, 0x3f, 0xf1, 0x97, 0xaa, 0xec, 0x77, 0x68, 0xad, 0x68, 0x45, 0x69, 0x1a, 0xa7, 0x4e, 0xb3,
0xab, 0x55, 0xdf, 0xeb, 0xc7, 0x51, 0xc4, 0x5b, 0xf8, 0x3c, 0xe6, 0x31, 0x78, 0x07, 0x06, 0xbf, 0x74, 0xf5, 0x70, 0xc9, 0xd5, 0xbc, 0xef, 0xc5, 0xe3, 0x28, 0xe2, 0x2d, 0x7c, 0x1e, 0xf3, 0x18,
0x73, 0x5c, 0x43, 0xfc, 0x35, 0xcf, 0x7e, 0x80, 0x6e, 0x9f, 0xf2, 0x24, 0x14, 0xa7, 0xce, 0xad, 0xbc, 0x2d, 0x83, 0x5f, 0x3b, 0xae, 0x21, 0xfe, 0x82, 0x67, 0x3f, 0x40, 0xab, 0xa7, 0x3c, 0x09,
0xae, 0xd5, 0x6f, 0x7a, 0x07, 0xf9, 0xa2, 0xb3, 0x77, 0x52, 0xee, 0x1c, 0x01, 0x13, 0x49, 0xa8, 0xc5, 0xa9, 0xf3, 0x5f, 0xd7, 0xea, 0x35, 0xbd, 0xad, 0x7c, 0xda, 0xd9, 0x38, 0x29, 0x77, 0x8e,
0x7c, 0x53, 0x60, 0x1f, 0xa1, 0xd6, 0xac, 0x08, 0xcb, 0x69, 0x95, 0x1e, 0xf0, 0xdf, 0x3c, 0xe0, 0x80, 0x89, 0x24, 0x54, 0xbe, 0x29, 0xb0, 0x8f, 0x50, 0x6b, 0x5c, 0x84, 0xe5, 0xb4, 0x4a, 0x0f,
0xfa, 0x61, 0xe0, 0xd7, 0x19, 0x4d, 0x34, 0xd7, 0x67, 0xde, 0x9e, 0xf1, 0xd1, 0x2a, 0x13, 0xf7, 0xf8, 0x6f, 0x1e, 0x70, 0xfd, 0x30, 0xf0, 0xeb, 0x8c, 0x26, 0x9a, 0xeb, 0x33, 0x6f, 0xc3, 0xf8,
0x2b, 0x56, 0xef, 0xbb, 0x85, 0xf6, 0x37, 0x06, 0xf1, 0x82, 0x2b, 0x6d, 0xbf, 0x47, 0xdb, 0x45, 0x68, 0x95, 0x89, 0xfb, 0x15, 0xcb, 0xfe, 0x80, 0xda, 0x0a, 0x46, 0xc0, 0xb4, 0x90, 0xce, 0x6a,
0x07, 0x21, 0xd5, 0xd4, 0x4c, 0x01, 0xff, 0x5f, 0xbf, 0x85, 0x7a, 0x04, 0x9a, 0x7a, 0x77, 0xcd, 0xc9, 0x7d, 0x74, 0xb3, 0xde, 0x0e, 0x68, 0x00, 0xa3, 0x23, 0x23, 0xf5, 0xee, 0xe4, 0xd3, 0x4e,
0x5d, 0xdb, 0xf5, 0x8e, 0xbf, 0x22, 0xda, 0x1f, 0x51, 0x8b, 0x6b, 0x88, 0x95, 0xb3, 0xd5, 0x6d, 0xbb, 0x5e, 0xf9, 0x73, 0xe4, 0xce, 0x37, 0x0b, 0x6d, 0x2e, 0xcd, 0xf9, 0x80, 0x2b, 0x6d, 0xbf,
0xf6, 0x77, 0x87, 0x4f, 0x6f, 0xf8, 0x8b, 0xe1, 0x0d, 0xb7, 0xeb, 0x9e, 0x9e, 0x17, 0x44, 0xbf, 0x47, 0xed, 0x02, 0x12, 0x52, 0x4d, 0xcd, 0x90, 0xf1, 0x0d, 0xaf, 0xe4, 0x4a, 0x1f, 0x82, 0xa6,
0x02, 0x7b, 0x87, 0xf3, 0xa5, 0xdb, 0x38, 0x5f, 0xba, 0x8d, 0x8b, 0xa5, 0xdb, 0xf8, 0x92, 0xbb, 0xde, 0x5d, 0xd3, 0x4a, 0xbb, 0xde, 0xf1, 0xe7, 0x44, 0xfb, 0x13, 0x6a, 0x71, 0x0d, 0xb1, 0x72,
0xd6, 0x3c, 0x77, 0xad, 0xf3, 0xdc, 0xb5, 0x2e, 0x72, 0xd7, 0xfa, 0x91, 0xbb, 0xd6, 0xb7, 0x9f, 0x56, 0xba, 0xcd, 0xde, 0xfa, 0xfe, 0xb3, 0x5b, 0xfe, 0xc1, 0x78, 0xc9, 0xed, 0x22, 0xb2, 0x17,
0x6e, 0xe3, 0xed, 0x1d, 0x03, 0xfc, 0x15, 0x00, 0x00, 0xff, 0xff, 0x7d, 0xe5, 0xb6, 0x67, 0x3d, 0x05, 0xd1, 0xaf, 0xc0, 0xde, 0xee, 0x64, 0xe6, 0x36, 0xce, 0x67, 0x6e, 0xe3, 0x62, 0xe6, 0x36,
0x04, 0x00, 0x00, 0xbe, 0xe4, 0xae, 0x35, 0xc9, 0x5d, 0xeb, 0x3c, 0x77, 0xad, 0x8b, 0xdc, 0xb5, 0xbe, 0xe7, 0xae,
0xf5, 0xf5, 0x87, 0xdb, 0x78, 0xfb, 0xbf, 0x01, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0xdb, 0xed,
0x64, 0xfc, 0x9c, 0x04, 0x00, 0x00,
} }

View File

@ -49,6 +49,13 @@ message MetricValue {
// the value of the metric for this // the value of the metric for this
optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 5; optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 5;
// selector represents the label selector that could be used to select
// this metric, and will generally just be the selector passed in to
// the query used to fetch this metric.
// When left blank, only the metric's Name will be used to gather metrics.
// +optional
optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 6;
} }
// a list of values for a given metric for some set of objects // a list of values for a given metric for some set of objects

View File

@ -55,6 +55,16 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil { }); err != nil {
return err return err
} }
if err := s.AddConversionFunc((*custommetrics.MetricValue)(nil), (*MetricValue)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_custom_metrics_MetricValue_To_v1beta1_MetricValue(a.(*custommetrics.MetricValue), b.(*MetricValue), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*MetricValue)(nil), (*custommetrics.MetricValue)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta1_MetricValue_To_custom_metrics_MetricValue(a.(*MetricValue), b.(*custommetrics.MetricValue), scope)
}); err != nil {
return err
}
return nil return nil
} }
@ -67,19 +77,11 @@ func autoConvert_v1beta1_MetricValue_To_custom_metrics_MetricValue(in *MetricVal
out.Timestamp = in.Timestamp out.Timestamp = in.Timestamp
out.WindowSeconds = (*int64)(unsafe.Pointer(in.WindowSeconds)) out.WindowSeconds = (*int64)(unsafe.Pointer(in.WindowSeconds))
out.Value = in.Value out.Value = in.Value
// WARNING: in.Selector requires manual conversion: does not exist in peer-type
return nil return nil
} }
<<<<<<< HEAD
// Convert_v1beta1_MetricValue_To_custom_metrics_MetricValue is an autogenerated conversion function.
func Convert_v1beta1_MetricValue_To_custom_metrics_MetricValue(in *MetricValue, out *custommetrics.MetricValue, s conversion.Scope) error {
return autoConvert_v1beta1_MetricValue_To_custom_metrics_MetricValue(in, out, s)
}
func autoConvert_custom_metrics_MetricValue_To_v1beta1_MetricValue(in *custommetrics.MetricValue, out *MetricValue, s conversion.Scope) error { func autoConvert_custom_metrics_MetricValue_To_v1beta1_MetricValue(in *custommetrics.MetricValue, out *MetricValue, s conversion.Scope) error {
=======
func autoConvert_custom_metrics_MetricValue_To_v1beta1_MetricValue(in *custom_metrics.MetricValue, out *MetricValue, s conversion.Scope) error {
>>>>>>> Update metrics API to include autoscaling/v2beta2 changes
// TODO: Inefficient conversion - can we improve it? // TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&in.DescribedObject, &out.DescribedObject, 0); err != nil { if err := s.Convert(&in.DescribedObject, &out.DescribedObject, 0); err != nil {
return err return err
@ -91,21 +93,11 @@ func autoConvert_custom_metrics_MetricValue_To_v1beta1_MetricValue(in *custom_me
return nil return nil
} }
<<<<<<< HEAD
// Convert_custom_metrics_MetricValue_To_v1beta1_MetricValue is an autogenerated conversion function.
func Convert_custom_metrics_MetricValue_To_v1beta1_MetricValue(in *custommetrics.MetricValue, out *MetricValue, s conversion.Scope) error {
return autoConvert_custom_metrics_MetricValue_To_v1beta1_MetricValue(in, out, s)
}
func autoConvert_v1beta1_MetricValueList_To_custom_metrics_MetricValueList(in *MetricValueList, out *custommetrics.MetricValueList, s conversion.Scope) error { func autoConvert_v1beta1_MetricValueList_To_custom_metrics_MetricValueList(in *MetricValueList, out *custommetrics.MetricValueList, s conversion.Scope) error {
out.ListMeta = in.ListMeta
out.Items = *(*[]custommetrics.MetricValue)(unsafe.Pointer(&in.Items))
=======
func autoConvert_v1beta1_MetricValueList_To_custom_metrics_MetricValueList(in *MetricValueList, out *custom_metrics.MetricValueList, s conversion.Scope) error {
out.ListMeta = in.ListMeta out.ListMeta = in.ListMeta
if in.Items != nil { if in.Items != nil {
in, out := &in.Items, &out.Items in, out := &in.Items, &out.Items
*out = make([]custom_metrics.MetricValue, len(*in)) *out = make([]custommetrics.MetricValue, len(*in))
for i := range *in { for i := range *in {
if err := Convert_v1beta1_MetricValue_To_custom_metrics_MetricValue(&(*in)[i], &(*out)[i], s); err != nil { if err := Convert_v1beta1_MetricValue_To_custom_metrics_MetricValue(&(*in)[i], &(*out)[i], s); err != nil {
return err return err
@ -114,7 +106,6 @@ func autoConvert_v1beta1_MetricValueList_To_custom_metrics_MetricValueList(in *M
} else { } else {
out.Items = nil out.Items = nil
} }
>>>>>>> Update metrics API to include autoscaling/v2beta2 changes
return nil return nil
} }

View File

@ -21,6 +21,7 @@ limitations under the License.
package v1beta1 package v1beta1
import ( import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
) )
@ -36,6 +37,11 @@ func (in *MetricValue) DeepCopyInto(out *MetricValue) {
**out = **in **out = **in
} }
out.Value = in.Value.DeepCopy() out.Value = in.Value.DeepCopy()
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(v1.LabelSelector)
(*in).DeepCopyInto(*out)
}
return return
} }

View File

@ -25,7 +25,7 @@ limitations under the License.
k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/custom_metrics/v1beta2/generated.proto k8s.io/kubernetes/vendor/k8s.io/metrics/pkg/apis/custom_metrics/v1beta2/generated.proto
It has these top-level messages: It has these top-level messages:
MetricIdent MetricIdentifier
MetricListOptions MetricListOptions
MetricValue MetricValue
MetricValueList MetricValueList
@ -36,6 +36,8 @@ import proto "github.com/gogo/protobuf/proto"
import fmt "fmt" import fmt "fmt"
import math "math" import math "math"
import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
import strings "strings" import strings "strings"
import reflect "reflect" import reflect "reflect"
@ -52,9 +54,9 @@ var _ = math.Inf
// proto package needs to be updated. // proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
func (m *MetricIdent) Reset() { *m = MetricIdent{} } func (m *MetricIdentifier) Reset() { *m = MetricIdentifier{} }
func (*MetricIdent) ProtoMessage() {} func (*MetricIdentifier) ProtoMessage() {}
func (*MetricIdent) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } func (*MetricIdentifier) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
func (m *MetricListOptions) Reset() { *m = MetricListOptions{} } func (m *MetricListOptions) Reset() { *m = MetricListOptions{} }
func (*MetricListOptions) ProtoMessage() {} func (*MetricListOptions) ProtoMessage() {}
@ -69,12 +71,12 @@ func (*MetricValueList) ProtoMessage() {}
func (*MetricValueList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } func (*MetricValueList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
func init() { func init() {
proto.RegisterType((*MetricIdent)(nil), "k8s.io.metrics.pkg.apis.custom_metrics.v1beta2.MetricIdent") proto.RegisterType((*MetricIdentifier)(nil), "k8s.io.metrics.pkg.apis.custom_metrics.v1beta2.MetricIdentifier")
proto.RegisterType((*MetricListOptions)(nil), "k8s.io.metrics.pkg.apis.custom_metrics.v1beta2.MetricListOptions") proto.RegisterType((*MetricListOptions)(nil), "k8s.io.metrics.pkg.apis.custom_metrics.v1beta2.MetricListOptions")
proto.RegisterType((*MetricValue)(nil), "k8s.io.metrics.pkg.apis.custom_metrics.v1beta2.MetricValue") proto.RegisterType((*MetricValue)(nil), "k8s.io.metrics.pkg.apis.custom_metrics.v1beta2.MetricValue")
proto.RegisterType((*MetricValueList)(nil), "k8s.io.metrics.pkg.apis.custom_metrics.v1beta2.MetricValueList") proto.RegisterType((*MetricValueList)(nil), "k8s.io.metrics.pkg.apis.custom_metrics.v1beta2.MetricValueList")
} }
func (m *MetricIdent) Marshal() (dAtA []byte, err error) { func (m *MetricIdentifier) Marshal() (dAtA []byte, err error) {
size := m.Size() size := m.Size()
dAtA = make([]byte, size) dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA) n, err := m.MarshalTo(dAtA)
@ -84,7 +86,7 @@ func (m *MetricIdent) Marshal() (dAtA []byte, err error) {
return dAtA[:n], nil return dAtA[:n], nil
} }
func (m *MetricIdent) MarshalTo(dAtA []byte) (int, error) { func (m *MetricIdentifier) MarshalTo(dAtA []byte) (int, error) {
var i int var i int
_ = i _ = i
var l int var l int
@ -93,10 +95,16 @@ func (m *MetricIdent) MarshalTo(dAtA []byte) (int, error) {
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name)))
i += copy(dAtA[i:], m.Name) i += copy(dAtA[i:], m.Name)
if m.Selector != nil {
dAtA[i] = 0x12 dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Selector))) i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
i += copy(dAtA[i:], m.Selector) n1, err := m.Selector.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n1
}
return i, nil return i, nil
} }
@ -144,27 +152,27 @@ func (m *MetricValue) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.DescribedObject.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.DescribedObject.Size()))
n1, err := m.DescribedObject.MarshalTo(dAtA[i:]) n2, err := m.DescribedObject.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n1
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Metric.Size()))
n2, err := m.Metric.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n2 i += n2
dAtA[i] = 0x1a dAtA[i] = 0x12
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Timestamp.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Metric.Size()))
n3, err := m.Timestamp.MarshalTo(dAtA[i:]) n3, err := m.Metric.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n3 i += n3
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Timestamp.Size()))
n4, err := m.Timestamp.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n4
if m.WindowSeconds != nil { if m.WindowSeconds != nil {
dAtA[i] = 0x20 dAtA[i] = 0x20
i++ i++
@ -173,11 +181,11 @@ func (m *MetricValue) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x2a dAtA[i] = 0x2a
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Value.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.Value.Size()))
n4, err := m.Value.MarshalTo(dAtA[i:]) n5, err := m.Value.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n4 i += n5
return i, nil return i, nil
} }
@ -199,11 +207,11 @@ func (m *MetricValueList) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa dAtA[i] = 0xa
i++ i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
n5, err := m.ListMeta.MarshalTo(dAtA[i:]) n6, err := m.ListMeta.MarshalTo(dAtA[i:])
if err != nil { if err != nil {
return 0, err return 0, err
} }
i += n5 i += n6
if len(m.Items) > 0 { if len(m.Items) > 0 {
for _, msg := range m.Items { for _, msg := range m.Items {
dAtA[i] = 0x12 dAtA[i] = 0x12
@ -246,13 +254,15 @@ func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
dAtA[offset] = uint8(v) dAtA[offset] = uint8(v)
return offset + 1 return offset + 1
} }
func (m *MetricIdent) Size() (n int) { func (m *MetricIdentifier) Size() (n int) {
var l int var l int
_ = l _ = l
l = len(m.Name) l = len(m.Name)
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = len(m.Selector) if m.Selector != nil {
l = m.Selector.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
}
return n return n
} }
@ -310,13 +320,13 @@ func sovGenerated(x uint64) (n int) {
func sozGenerated(x uint64) (n int) { func sozGenerated(x uint64) (n int) {
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63)))) return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
} }
func (this *MetricIdent) String() string { func (this *MetricIdentifier) String() string {
if this == nil { if this == nil {
return "nil" return "nil"
} }
s := strings.Join([]string{`&MetricIdent{`, s := strings.Join([]string{`&MetricIdentifier{`,
`Name:` + fmt.Sprintf("%v", this.Name) + `,`, `Name:` + fmt.Sprintf("%v", this.Name) + `,`,
`Selector:` + fmt.Sprintf("%v", this.Selector) + `,`, `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s
@ -338,7 +348,7 @@ func (this *MetricValue) String() string {
} }
s := strings.Join([]string{`&MetricValue{`, s := strings.Join([]string{`&MetricValue{`,
`DescribedObject:` + strings.Replace(strings.Replace(this.DescribedObject.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`, `DescribedObject:` + strings.Replace(strings.Replace(this.DescribedObject.String(), "ObjectReference", "k8s_io_api_core_v1.ObjectReference", 1), `&`, ``, 1) + `,`,
`Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdent", "MetricIdent", 1), `&`, ``, 1) + `,`, `Metric:` + strings.Replace(strings.Replace(this.Metric.String(), "MetricIdentifier", "MetricIdentifier", 1), `&`, ``, 1) + `,`,
`Timestamp:` + strings.Replace(strings.Replace(this.Timestamp.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `Timestamp:` + strings.Replace(strings.Replace(this.Timestamp.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`,
`WindowSeconds:` + valueToStringGenerated(this.WindowSeconds) + `,`, `WindowSeconds:` + valueToStringGenerated(this.WindowSeconds) + `,`,
`Value:` + strings.Replace(strings.Replace(this.Value.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, `Value:` + strings.Replace(strings.Replace(this.Value.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`,
@ -365,7 +375,7 @@ func valueToStringGenerated(v interface{}) string {
pv := reflect.Indirect(rv).Interface() pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv) return fmt.Sprintf("*%v", pv)
} }
func (m *MetricIdent) Unmarshal(dAtA []byte) error { func (m *MetricIdentifier) Unmarshal(dAtA []byte) error {
l := len(dAtA) l := len(dAtA)
iNdEx := 0 iNdEx := 0
for iNdEx < l { for iNdEx < l {
@ -388,10 +398,10 @@ func (m *MetricIdent) Unmarshal(dAtA []byte) error {
fieldNum := int32(wire >> 3) fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7) wireType := int(wire & 0x7)
if wireType == 4 { if wireType == 4 {
return fmt.Errorf("proto: MetricIdent: wiretype end group for non-group") return fmt.Errorf("proto: MetricIdentifier: wiretype end group for non-group")
} }
if fieldNum <= 0 { if fieldNum <= 0 {
return fmt.Errorf("proto: MetricIdent: illegal tag %d (wire type %d)", fieldNum, wire) return fmt.Errorf("proto: MetricIdentifier: illegal tag %d (wire type %d)", fieldNum, wire)
} }
switch fieldNum { switch fieldNum {
case 1: case 1:
@ -427,7 +437,7 @@ func (m *MetricIdent) Unmarshal(dAtA []byte) error {
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType) return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
} }
var stringLen uint64 var msglen int
for shift := uint(0); ; shift += 7 { for shift := uint(0); ; shift += 7 {
if shift >= 64 { if shift >= 64 {
return ErrIntOverflowGenerated return ErrIntOverflowGenerated
@ -437,20 +447,24 @@ func (m *MetricIdent) Unmarshal(dAtA []byte) error {
} }
b := dAtA[iNdEx] b := dAtA[iNdEx]
iNdEx++ iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift msglen |= (int(b) & 0x7F) << shift
if b < 0x80 { if b < 0x80 {
break break
} }
} }
intStringLen := int(stringLen) if msglen < 0 {
if intStringLen < 0 {
return ErrInvalidLengthGenerated return ErrInvalidLengthGenerated
} }
postIndex := iNdEx + intStringLen postIndex := iNdEx + msglen
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
m.Selector = string(dAtA[iNdEx:postIndex]) if m.Selector == nil {
m.Selector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{}
}
if err := m.Selector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex iNdEx = postIndex
default: default:
iNdEx = preIndex iNdEx = preIndex
@ -992,46 +1006,46 @@ func init() {
} }
var fileDescriptorGenerated = []byte{ var fileDescriptorGenerated = []byte{
// 645 bytes of a gzipped FileDescriptorProto // 656 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0xdd, 0x4e, 0x13, 0x41, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0xcd, 0x6e, 0xd3, 0x4c,
0x14, 0xee, 0x52, 0x8a, 0x30, 0x88, 0xc8, 0x12, 0x63, 0x83, 0xc9, 0xd2, 0xd4, 0x1b, 0x34, 0x32, 0x14, 0x8d, 0x9b, 0xa6, 0x5f, 0x32, 0x69, 0xbe, 0xb6, 0xae, 0x10, 0x51, 0x91, 0xdc, 0x28, 0x6c,
0x13, 0xd0, 0x18, 0x13, 0xee, 0x36, 0xde, 0x90, 0x50, 0x89, 0x0b, 0x91, 0xc4, 0x9f, 0xe8, 0xec, 0x22, 0xa4, 0x8e, 0xd5, 0x80, 0x00, 0xa9, 0x1b, 0x64, 0xb1, 0xa9, 0xd4, 0x50, 0xe1, 0x56, 0x54,
0xee, 0xa1, 0x8c, 0xed, 0xce, 0x6c, 0x66, 0x66, 0x4b, 0xb8, 0xf3, 0x11, 0x7c, 0x03, 0x1f, 0xc3, 0xe2, 0x47, 0x30, 0xb6, 0x6f, 0x92, 0x21, 0xb1, 0xc7, 0x9a, 0x19, 0xa7, 0xea, 0x8e, 0x47, 0x40,
0x57, 0xe0, 0x12, 0xef, 0xb8, 0x22, 0x52, 0x5f, 0xc4, 0xec, 0xec, 0x2c, 0x6d, 0x29, 0xa8, 0x78, 0xe2, 0x01, 0x78, 0x9d, 0x8a, 0x55, 0xd9, 0x75, 0x55, 0x11, 0xf3, 0x22, 0xc8, 0xf6, 0xb8, 0xf9,
0xb7, 0x7b, 0xe6, 0xfb, 0xbe, 0xf3, 0x9d, 0x39, 0xdf, 0xa0, 0xbd, 0xce, 0x0b, 0x85, 0x99, 0x20, 0x69, 0x81, 0x96, 0x9d, 0xc7, 0x73, 0xce, 0xb9, 0xe7, 0xde, 0x73, 0x07, 0x1d, 0x0d, 0x9e, 0x0a,
0x9d, 0x2c, 0x04, 0xc9, 0x41, 0x83, 0x22, 0x3d, 0xe0, 0xb1, 0x90, 0xc4, 0x1e, 0x24, 0xa0, 0x25, 0x4c, 0x99, 0x39, 0x88, 0x1c, 0xe0, 0x01, 0x48, 0x10, 0xe6, 0x08, 0x02, 0x8f, 0x71, 0x53, 0x5d,
0x8b, 0x14, 0x49, 0x3b, 0x6d, 0x42, 0x53, 0xa6, 0x48, 0x94, 0x29, 0x2d, 0x92, 0x8f, 0x65, 0xbd, 0xf8, 0x20, 0x39, 0x75, 0x85, 0x19, 0x0e, 0x7a, 0x26, 0x09, 0xa9, 0x30, 0xdd, 0x48, 0x48, 0xe6,
0xb7, 0x16, 0x82, 0xa6, 0xeb, 0xa4, 0x0d, 0x1c, 0x24, 0xd5, 0x10, 0xe3, 0x54, 0x0a, 0x2d, 0x5c, 0xbf, 0xcf, 0xff, 0x8f, 0xb6, 0x1d, 0x90, 0xa4, 0x6d, 0xf6, 0x20, 0x00, 0x4e, 0x24, 0x78, 0x38,
0x5c, 0xf0, 0xb1, 0xc5, 0xe1, 0xb4, 0xd3, 0xc6, 0x39, 0x1f, 0x8f, 0xf2, 0xb1, 0xe5, 0x2f, 0xad, 0xe4, 0x4c, 0x32, 0x1d, 0x67, 0x7c, 0xac, 0x70, 0x38, 0x1c, 0xf4, 0x70, 0xc2, 0xc7, 0xb3, 0x7c,
0xb6, 0x99, 0x3e, 0xc8, 0x42, 0x1c, 0x89, 0x84, 0xb4, 0x45, 0x5b, 0x10, 0x23, 0x13, 0x66, 0xfb, 0xac, 0xf8, 0x1b, 0x5b, 0x3d, 0x2a, 0xfb, 0x91, 0x83, 0x5d, 0xe6, 0x9b, 0x3d, 0xd6, 0x63, 0x66,
0xe6, 0xcf, 0xfc, 0x98, 0xaf, 0x42, 0x7e, 0xa9, 0x69, 0xed, 0xd1, 0x94, 0x91, 0x48, 0x48, 0x20, 0x2a, 0xe3, 0x44, 0xdd, 0xf4, 0x94, 0x1e, 0xd2, 0xaf, 0x4c, 0x7e, 0xa3, 0xa9, 0xec, 0x91, 0x90,
0xbd, 0xb5, 0xcb, 0x16, 0x96, 0x9e, 0x0d, 0x30, 0x09, 0x8d, 0x0e, 0x18, 0x07, 0x79, 0x54, 0xce, 0x9a, 0x2e, 0xe3, 0x60, 0x8e, 0xb6, 0xe7, 0x2d, 0x6c, 0x3c, 0x9a, 0x60, 0x7c, 0xe2, 0xf6, 0x69,
0x41, 0x24, 0x28, 0x91, 0xc9, 0x08, 0x6e, 0xc4, 0x52, 0xf9, 0x75, 0xd0, 0xab, 0x7a, 0x91, 0xeb, 0x00, 0xfc, 0x24, 0xef, 0xc3, 0xe4, 0x20, 0x58, 0xc4, 0x5d, 0xb8, 0x15, 0x4b, 0x24, 0xe3, 0x20,
0x58, 0x32, 0xe3, 0x9a, 0x25, 0xe3, 0x6d, 0x9e, 0xff, 0x8d, 0xa0, 0xa2, 0x03, 0x48, 0xe8, 0x18, 0xd7, 0xd5, 0x32, 0x7f, 0xc7, 0xe2, 0x51, 0x20, 0xa9, 0x7f, 0xb5, 0xcc, 0xe3, 0xbf, 0x11, 0x84,
0xef, 0xe9, 0x75, 0xbc, 0x4c, 0xb3, 0x2e, 0x61, 0x5c, 0x2b, 0x2d, 0x2f, 0x93, 0x9a, 0x1f, 0xd0, 0xdb, 0x07, 0x9f, 0xcc, 0xf3, 0x9a, 0x5f, 0x34, 0xb4, 0xda, 0x49, 0x67, 0xb7, 0xeb, 0x41, 0x20,
0x6c, 0xcb, 0xdc, 0xf7, 0x66, 0x0c, 0x5c, 0xbb, 0x0d, 0x34, 0xc9, 0x69, 0x02, 0x75, 0xa7, 0xe1, 0x69, 0x97, 0x02, 0xd7, 0x1b, 0x68, 0x31, 0x20, 0x3e, 0xd4, 0xb5, 0x86, 0xd6, 0xaa, 0x58, 0xcb,
0xac, 0xcc, 0xf8, 0xb7, 0x8f, 0xcf, 0x96, 0x2b, 0xfd, 0xb3, 0xe5, 0xc9, 0x57, 0x34, 0x81, 0xc0, 0xa7, 0x17, 0x9b, 0x85, 0xf8, 0x62, 0x73, 0xf1, 0x05, 0xf1, 0xc1, 0x4e, 0x6f, 0xf4, 0x77, 0xa8,
0x9c, 0xb8, 0x4f, 0xd0, 0xb4, 0x82, 0x2e, 0x44, 0x5a, 0xc8, 0xfa, 0x84, 0x41, 0xdd, 0xb5, 0xa8, 0x2c, 0x60, 0x08, 0xae, 0x64, 0xbc, 0xbe, 0xd0, 0xd0, 0x5a, 0xd5, 0xf6, 0xc3, 0x3c, 0xa1, 0x69,
0xe9, 0x1d, 0x5b, 0x0f, 0x2e, 0x10, 0xcd, 0x6f, 0x0e, 0x5a, 0x28, 0xf4, 0xb7, 0x98, 0xd2, 0xdb, 0x07, 0x93, 0x98, 0x92, 0x46, 0xf1, 0x68, 0x1b, 0xef, 0x11, 0x07, 0x86, 0x07, 0x8a, 0x6a, 0x2d,
0xa9, 0x66, 0x82, 0x2b, 0x77, 0x03, 0xcd, 0x75, 0x69, 0x08, 0xdd, 0x92, 0x60, 0xdb, 0xdd, 0xb3, 0xc7, 0x17, 0x9b, 0xe5, 0xfc, 0x64, 0x5f, 0x4a, 0x36, 0xbf, 0x6a, 0x68, 0x2d, 0x73, 0xb5, 0x47,
0x42, 0x73, 0x5b, 0xc3, 0x87, 0xc1, 0x28, 0xd6, 0x6d, 0xa1, 0xc5, 0x22, 0x21, 0x23, 0x28, 0xeb, 0x85, 0xdc, 0x0f, 0x25, 0x65, 0x81, 0xd0, 0x77, 0x50, 0x6d, 0x38, 0x4d, 0x57, 0xfe, 0xee, 0x28,
0xe5, 0x81, 0x95, 0x58, 0x6c, 0x8d, 0x43, 0x82, 0xab, 0x78, 0xcd, 0xef, 0xd5, 0xf2, 0x06, 0xde, 0x7f, 0xb5, 0x19, 0x6d, 0x7b, 0x16, 0xab, 0x77, 0xd0, 0x7a, 0xb6, 0x23, 0x33, 0xa8, 0xd4, 0x7c,
0xd0, 0x6e, 0x06, 0xee, 0x3e, 0x9a, 0x8f, 0x41, 0x45, 0x92, 0x85, 0x10, 0x6f, 0x87, 0x9f, 0x21, 0xc5, 0xba, 0xa7, 0x24, 0xd6, 0x3b, 0x57, 0x21, 0xf6, 0x75, 0xbc, 0xe6, 0xb7, 0x22, 0xaa, 0x66,
0xd2, 0xc6, 0xdd, 0xec, 0xfa, 0xc3, 0x32, 0xb7, 0x34, 0x65, 0x38, 0x0f, 0x16, 0xee, 0xad, 0xe1, 0xe0, 0x57, 0x64, 0x18, 0x81, 0xde, 0x45, 0x2b, 0x1e, 0x08, 0x97, 0x53, 0x07, 0xbc, 0x7d, 0xe7,
0x02, 0x11, 0xc0, 0x3e, 0x48, 0xe0, 0x11, 0xf8, 0xf7, 0x6d, 0xff, 0xf9, 0x97, 0xa3, 0x1a, 0xc1, 0x23, 0xb8, 0x32, 0x75, 0x57, 0x6d, 0xdf, 0x9f, 0x9a, 0x0b, 0x4e, 0x56, 0x2b, 0x99, 0x42, 0x86,
0x65, 0x51, 0x37, 0x42, 0x53, 0x85, 0x1d, 0xe3, 0x7c, 0x76, 0x7d, 0xe3, 0x86, 0xcf, 0x02, 0x0f, 0xb0, 0xa1, 0x0b, 0x1c, 0x02, 0x17, 0xac, 0xbb, 0xaa, 0xfe, 0xca, 0xf3, 0x59, 0x0d, 0x7b, 0x5e,
0xad, 0xcd, 0xbf, 0x63, 0xdb, 0x4e, 0x15, 0xc5, 0xc0, 0x4a, 0xbb, 0xef, 0xd0, 0x4c, 0x9e, 0x18, 0x54, 0xef, 0xa3, 0xa5, 0xcc, 0x8e, 0x1a, 0xfb, 0xb3, 0x5b, 0x3e, 0x0c, 0x3c, 0x1f, 0xb6, 0xf5,
0xa5, 0x69, 0x92, 0xd6, 0xab, 0xa6, 0xcf, 0xe3, 0xa1, 0x31, 0x2e, 0x62, 0x32, 0x68, 0x96, 0xa7, 0xbf, 0xaa, 0xbd, 0x94, 0xdd, 0xd8, 0x4a, 0x5f, 0x7f, 0x83, 0x2a, 0xc9, 0xe2, 0x08, 0x49, 0xfc,
0x38, 0x1f, 0x6c, 0x97, 0x25, 0xe0, 0x2f, 0x58, 0xd9, 0x99, 0xdd, 0x52, 0x24, 0x18, 0xe8, 0xb9, 0xb0, 0x5e, 0x4c, 0x8b, 0x3d, 0xb8, 0x59, 0xc6, 0x87, 0xd4, 0x07, 0x6b, 0x4d, 0xc9, 0x56, 0x0e,
0x8f, 0xd0, 0xd4, 0x21, 0xe3, 0xb1, 0x38, 0xac, 0x4f, 0x36, 0x9c, 0x95, 0xaa, 0xbf, 0x90, 0xaf, 0x73, 0x11, 0x7b, 0xa2, 0xa7, 0x3f, 0x41, 0xb5, 0x63, 0x1a, 0x78, 0xec, 0xf8, 0x00, 0x5c, 0x16,
0x6e, 0xcf, 0x54, 0x76, 0x20, 0x12, 0x3c, 0x56, 0x81, 0x05, 0xb8, 0x3b, 0xa8, 0xd6, 0xcb, 0x6f, 0x78, 0xa2, 0xbe, 0xd8, 0xd0, 0x5a, 0x45, 0x6b, 0x2d, 0x89, 0xf1, 0x68, 0xfa, 0xc2, 0x9e, 0xc5,
0xb7, 0x5e, 0x33, 0x1e, 0xf0, 0x9f, 0x3c, 0xe0, 0xf2, 0xfd, 0xe1, 0xd7, 0x19, 0xe5, 0x9a, 0xe9, 0xe9, 0x07, 0xa8, 0x34, 0x4a, 0x06, 0x5e, 0x2f, 0xa5, 0x8e, 0xf0, 0x9f, 0x1c, 0xe1, 0xfc, 0x51,
0x23, 0x7f, 0xce, 0xfa, 0xa8, 0x99, 0x15, 0x05, 0x85, 0x56, 0xf3, 0x87, 0x83, 0xe6, 0x87, 0x36, 0xe2, 0x97, 0x11, 0x09, 0x24, 0x95, 0x27, 0x56, 0x4d, 0xb9, 0x2a, 0xa5, 0xa9, 0xd9, 0x99, 0x56,
0x97, 0x07, 0xcc, 0x7d, 0x8f, 0xa6, 0xf3, 0x09, 0x62, 0xaa, 0xa9, 0x5d, 0x1b, 0xfe, 0xb7, 0x79, 0xf3, 0xbb, 0x86, 0x56, 0xa6, 0xc2, 0x4c, 0x76, 0x4e, 0x7f, 0x8b, 0xca, 0x49, 0x3f, 0x1e, 0x91,
0x73, 0x76, 0x0b, 0x34, 0x1d, 0xa4, 0xb9, 0xac, 0x04, 0x17, 0x8a, 0xee, 0x27, 0x54, 0x63, 0x1a, 0x44, 0x25, 0x89, 0x6f, 0xb8, 0xe1, 0x54, 0xc8, 0x0e, 0x48, 0x62, 0xad, 0xaa, 0x5a, 0xe5, 0xfc,
0x12, 0x55, 0x9f, 0x68, 0x54, 0xff, 0x7f, 0x65, 0xc6, 0xed, 0x60, 0xa6, 0xcd, 0x5c, 0x31, 0x28, 0x8f, 0x7d, 0xa9, 0xa8, 0x7f, 0x40, 0x25, 0x2a, 0xc1, 0x17, 0xf5, 0x85, 0x46, 0xb1, 0x55, 0x6d,
0x84, 0xfd, 0xd5, 0xe3, 0x73, 0xaf, 0x72, 0x72, 0xee, 0x55, 0x4e, 0xcf, 0xbd, 0xca, 0x97, 0xbe, 0xef, 0xfc, 0x5b, 0x8a, 0xa9, 0xdb, 0x49, 0x4f, 0xbb, 0x89, 0xa2, 0x9d, 0x09, 0x5b, 0x5b, 0xa7,
0xe7, 0x1c, 0xf7, 0x3d, 0xe7, 0xa4, 0xef, 0x39, 0xa7, 0x7d, 0xcf, 0xf9, 0xd9, 0xf7, 0x9c, 0xaf, 0x63, 0xa3, 0x70, 0x36, 0x36, 0x0a, 0xe7, 0x63, 0xa3, 0xf0, 0x29, 0x36, 0xb4, 0xd3, 0xd8, 0xd0,
0xbf, 0xbc, 0xca, 0xdb, 0x5b, 0x56, 0xf0, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x13, 0xd0, 0xb1, 0xce, 0x62, 0x43, 0x3b, 0x8f, 0x0d, 0xed, 0x47, 0x6c, 0x68, 0x9f, 0x7f, 0x1a, 0x85, 0xd7, 0xff,
0xae, 0xa4, 0x05, 0x00, 0x00, 0x29, 0xc1, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe9, 0x65, 0xcd, 0x16, 0xb9, 0x05, 0x00, 0x00,
} }

View File

@ -26,22 +26,21 @@ import "k8s.io/apimachinery/pkg/api/resource/generated.proto";
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto";
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
import "k8s.io/apimachinery/pkg/util/intstr/generated.proto";
// Package-wide variables from generator "generated". // Package-wide variables from generator "generated".
option go_package = "v1beta2"; option go_package = "v1beta2";
// MetricIdent identifies a metric by name and, optionally, selector // MetricIdentifier identifies a metric by name and, optionally, selector
message MetricIdent { message MetricIdentifier {
// name is the name of the given metric // name is the name of the given metric
optional string name = 1; optional string name = 1;
// selector represents the label selector that could be used to select // selector represents the label selector that could be used to select
// this metric, and will generally just be the selector passed in to // this metric, and will generally just be the selector passed in to
// the query used to fetch this metric. It is the string-encoded form // the query used to fetch this metric.
// of a standard kubernetes label selector. // When left blank, only the metric's Name will be used to gather metrics.
// +optional // +optional
optional string selector = 2; optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 2;
} }
// MetricListOptions is used to select metrics by their label selectors // MetricListOptions is used to select metrics by their label selectors
@ -61,7 +60,7 @@ message MetricValue {
// a reference to the described object // a reference to the described object
optional k8s.io.api.core.v1.ObjectReference describedObject = 1; optional k8s.io.api.core.v1.ObjectReference describedObject = 1;
optional MetricIdent metric = 2; optional MetricIdentifier metric = 2;
// indicates the time at which the metrics were produced // indicates the time at which the metrics were produced
optional k8s.io.apimachinery.pkg.apis.meta.v1.Time timestamp = 3; optional k8s.io.apimachinery.pkg.apis.meta.v1.Time timestamp = 3;
@ -70,7 +69,7 @@ message MetricValue {
// which these metrics were calculated, when returning rate // which these metrics were calculated, when returning rate
// metrics calculated from cumulative metrics (or zero for // metrics calculated from cumulative metrics (or zero for
// non-calculated instantaneous metrics). // non-calculated instantaneous metrics).
optional int64 window = 4; optional int64 windowSeconds = 4;
// the value of the metric for this // the value of the metric for this
optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 5; optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 5;

View File

@ -23,9 +23,10 @@ package v1beta2
import ( import (
unsafe "unsafe" unsafe "unsafe"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
conversion "k8s.io/apimachinery/pkg/conversion" conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
custom_metrics "k8s.io/metrics/pkg/apis/custom_metrics" custommetrics "k8s.io/metrics/pkg/apis/custom_metrics"
) )
func init() { func init() {
@ -34,45 +35,68 @@ func init() {
// RegisterConversions adds conversion functions to the given scheme. // RegisterConversions adds conversion functions to the given scheme.
// Public to allow building arbitrary schemes. // Public to allow building arbitrary schemes.
func RegisterConversions(scheme *runtime.Scheme) error { func RegisterConversions(s *runtime.Scheme) error {
return scheme.AddGeneratedConversionFuncs( if err := s.AddGeneratedConversionFunc((*MetricIdentifier)(nil), (*custommetrics.MetricIdentifier)(nil), func(a, b interface{}, scope conversion.Scope) error {
Convert_v1beta2_MetricIdent_To_custom_metrics_MetricIdent, return Convert_v1beta2_MetricIdentifier_To_custom_metrics_MetricIdentifier(a.(*MetricIdentifier), b.(*custommetrics.MetricIdentifier), scope)
Convert_custom_metrics_MetricIdent_To_v1beta2_MetricIdent, }); err != nil {
Convert_v1beta2_MetricValue_To_custom_metrics_MetricValue, return err
Convert_custom_metrics_MetricValue_To_v1beta2_MetricValue, }
Convert_v1beta2_MetricValueList_To_custom_metrics_MetricValueList, if err := s.AddGeneratedConversionFunc((*custommetrics.MetricIdentifier)(nil), (*MetricIdentifier)(nil), func(a, b interface{}, scope conversion.Scope) error {
Convert_custom_metrics_MetricValueList_To_v1beta2_MetricValueList, return Convert_custom_metrics_MetricIdentifier_To_v1beta2_MetricIdentifier(a.(*custommetrics.MetricIdentifier), b.(*MetricIdentifier), scope)
) }); err != nil {
} return err
}
func autoConvert_v1beta2_MetricIdent_To_custom_metrics_MetricIdent(in *MetricIdent, out *custom_metrics.MetricIdent, s conversion.Scope) error { if err := s.AddGeneratedConversionFunc((*MetricValue)(nil), (*custommetrics.MetricValue)(nil), func(a, b interface{}, scope conversion.Scope) error {
out.Name = in.Name return Convert_v1beta2_MetricValue_To_custom_metrics_MetricValue(a.(*MetricValue), b.(*custommetrics.MetricValue), scope)
out.Selector = in.Selector }); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*custommetrics.MetricValue)(nil), (*MetricValue)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_custom_metrics_MetricValue_To_v1beta2_MetricValue(a.(*custommetrics.MetricValue), b.(*MetricValue), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*MetricValueList)(nil), (*custommetrics.MetricValueList)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1beta2_MetricValueList_To_custom_metrics_MetricValueList(a.(*MetricValueList), b.(*custommetrics.MetricValueList), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*custommetrics.MetricValueList)(nil), (*MetricValueList)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_custom_metrics_MetricValueList_To_v1beta2_MetricValueList(a.(*custommetrics.MetricValueList), b.(*MetricValueList), scope)
}); err != nil {
return err
}
return nil return nil
} }
// Convert_v1beta2_MetricIdent_To_custom_metrics_MetricIdent is an autogenerated conversion function. func autoConvert_v1beta2_MetricIdentifier_To_custom_metrics_MetricIdentifier(in *MetricIdentifier, out *custommetrics.MetricIdentifier, s conversion.Scope) error {
func Convert_v1beta2_MetricIdent_To_custom_metrics_MetricIdent(in *MetricIdent, out *custom_metrics.MetricIdent, s conversion.Scope) error {
return autoConvert_v1beta2_MetricIdent_To_custom_metrics_MetricIdent(in, out, s)
}
func autoConvert_custom_metrics_MetricIdent_To_v1beta2_MetricIdent(in *custom_metrics.MetricIdent, out *MetricIdent, s conversion.Scope) error {
out.Name = in.Name out.Name = in.Name
out.Selector = in.Selector out.Selector = (*v1.LabelSelector)(unsafe.Pointer(in.Selector))
return nil return nil
} }
// Convert_custom_metrics_MetricIdent_To_v1beta2_MetricIdent is an autogenerated conversion function. // Convert_v1beta2_MetricIdentifier_To_custom_metrics_MetricIdentifier is an autogenerated conversion function.
func Convert_custom_metrics_MetricIdent_To_v1beta2_MetricIdent(in *custom_metrics.MetricIdent, out *MetricIdent, s conversion.Scope) error { func Convert_v1beta2_MetricIdentifier_To_custom_metrics_MetricIdentifier(in *MetricIdentifier, out *custommetrics.MetricIdentifier, s conversion.Scope) error {
return autoConvert_custom_metrics_MetricIdent_To_v1beta2_MetricIdent(in, out, s) return autoConvert_v1beta2_MetricIdentifier_To_custom_metrics_MetricIdentifier(in, out, s)
} }
func autoConvert_v1beta2_MetricValue_To_custom_metrics_MetricValue(in *MetricValue, out *custom_metrics.MetricValue, s conversion.Scope) error { func autoConvert_custom_metrics_MetricIdentifier_To_v1beta2_MetricIdentifier(in *custommetrics.MetricIdentifier, out *MetricIdentifier, s conversion.Scope) error {
out.Name = in.Name
out.Selector = (*v1.LabelSelector)(unsafe.Pointer(in.Selector))
return nil
}
// Convert_custom_metrics_MetricIdentifier_To_v1beta2_MetricIdentifier is an autogenerated conversion function.
func Convert_custom_metrics_MetricIdentifier_To_v1beta2_MetricIdentifier(in *custommetrics.MetricIdentifier, out *MetricIdentifier, s conversion.Scope) error {
return autoConvert_custom_metrics_MetricIdentifier_To_v1beta2_MetricIdentifier(in, out, s)
}
func autoConvert_v1beta2_MetricValue_To_custom_metrics_MetricValue(in *MetricValue, out *custommetrics.MetricValue, s conversion.Scope) error {
// TODO: Inefficient conversion - can we improve it? // TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&in.DescribedObject, &out.DescribedObject, 0); err != nil { if err := s.Convert(&in.DescribedObject, &out.DescribedObject, 0); err != nil {
return err return err
} }
if err := Convert_v1beta2_MetricIdent_To_custom_metrics_MetricIdent(&in.Metric, &out.Metric, s); err != nil { if err := Convert_v1beta2_MetricIdentifier_To_custom_metrics_MetricIdentifier(&in.Metric, &out.Metric, s); err != nil {
return err return err
} }
out.Timestamp = in.Timestamp out.Timestamp = in.Timestamp
@ -82,16 +106,16 @@ func autoConvert_v1beta2_MetricValue_To_custom_metrics_MetricValue(in *MetricVal
} }
// Convert_v1beta2_MetricValue_To_custom_metrics_MetricValue is an autogenerated conversion function. // Convert_v1beta2_MetricValue_To_custom_metrics_MetricValue is an autogenerated conversion function.
func Convert_v1beta2_MetricValue_To_custom_metrics_MetricValue(in *MetricValue, out *custom_metrics.MetricValue, s conversion.Scope) error { func Convert_v1beta2_MetricValue_To_custom_metrics_MetricValue(in *MetricValue, out *custommetrics.MetricValue, s conversion.Scope) error {
return autoConvert_v1beta2_MetricValue_To_custom_metrics_MetricValue(in, out, s) return autoConvert_v1beta2_MetricValue_To_custom_metrics_MetricValue(in, out, s)
} }
func autoConvert_custom_metrics_MetricValue_To_v1beta2_MetricValue(in *custom_metrics.MetricValue, out *MetricValue, s conversion.Scope) error { func autoConvert_custom_metrics_MetricValue_To_v1beta2_MetricValue(in *custommetrics.MetricValue, out *MetricValue, s conversion.Scope) error {
// TODO: Inefficient conversion - can we improve it? // TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&in.DescribedObject, &out.DescribedObject, 0); err != nil { if err := s.Convert(&in.DescribedObject, &out.DescribedObject, 0); err != nil {
return err return err
} }
if err := Convert_custom_metrics_MetricIdent_To_v1beta2_MetricIdent(&in.Metric, &out.Metric, s); err != nil { if err := Convert_custom_metrics_MetricIdentifier_To_v1beta2_MetricIdentifier(&in.Metric, &out.Metric, s); err != nil {
return err return err
} }
out.Timestamp = in.Timestamp out.Timestamp = in.Timestamp
@ -101,28 +125,28 @@ func autoConvert_custom_metrics_MetricValue_To_v1beta2_MetricValue(in *custom_me
} }
// Convert_custom_metrics_MetricValue_To_v1beta2_MetricValue is an autogenerated conversion function. // Convert_custom_metrics_MetricValue_To_v1beta2_MetricValue is an autogenerated conversion function.
func Convert_custom_metrics_MetricValue_To_v1beta2_MetricValue(in *custom_metrics.MetricValue, out *MetricValue, s conversion.Scope) error { func Convert_custom_metrics_MetricValue_To_v1beta2_MetricValue(in *custommetrics.MetricValue, out *MetricValue, s conversion.Scope) error {
return autoConvert_custom_metrics_MetricValue_To_v1beta2_MetricValue(in, out, s) return autoConvert_custom_metrics_MetricValue_To_v1beta2_MetricValue(in, out, s)
} }
func autoConvert_v1beta2_MetricValueList_To_custom_metrics_MetricValueList(in *MetricValueList, out *custom_metrics.MetricValueList, s conversion.Scope) error { func autoConvert_v1beta2_MetricValueList_To_custom_metrics_MetricValueList(in *MetricValueList, out *custommetrics.MetricValueList, s conversion.Scope) error {
out.ListMeta = in.ListMeta out.ListMeta = in.ListMeta
out.Items = *(*[]custom_metrics.MetricValue)(unsafe.Pointer(&in.Items)) out.Items = *(*[]custommetrics.MetricValue)(unsafe.Pointer(&in.Items))
return nil return nil
} }
// Convert_v1beta2_MetricValueList_To_custom_metrics_MetricValueList is an autogenerated conversion function. // Convert_v1beta2_MetricValueList_To_custom_metrics_MetricValueList is an autogenerated conversion function.
func Convert_v1beta2_MetricValueList_To_custom_metrics_MetricValueList(in *MetricValueList, out *custom_metrics.MetricValueList, s conversion.Scope) error { func Convert_v1beta2_MetricValueList_To_custom_metrics_MetricValueList(in *MetricValueList, out *custommetrics.MetricValueList, s conversion.Scope) error {
return autoConvert_v1beta2_MetricValueList_To_custom_metrics_MetricValueList(in, out, s) return autoConvert_v1beta2_MetricValueList_To_custom_metrics_MetricValueList(in, out, s)
} }
func autoConvert_custom_metrics_MetricValueList_To_v1beta2_MetricValueList(in *custom_metrics.MetricValueList, out *MetricValueList, s conversion.Scope) error { func autoConvert_custom_metrics_MetricValueList_To_v1beta2_MetricValueList(in *custommetrics.MetricValueList, out *MetricValueList, s conversion.Scope) error {
out.ListMeta = in.ListMeta out.ListMeta = in.ListMeta
out.Items = *(*[]MetricValue)(unsafe.Pointer(&in.Items)) out.Items = *(*[]MetricValue)(unsafe.Pointer(&in.Items))
return nil return nil
} }
// Convert_custom_metrics_MetricValueList_To_v1beta2_MetricValueList is an autogenerated conversion function. // Convert_custom_metrics_MetricValueList_To_v1beta2_MetricValueList is an autogenerated conversion function.
func Convert_custom_metrics_MetricValueList_To_v1beta2_MetricValueList(in *custom_metrics.MetricValueList, out *MetricValueList, s conversion.Scope) error { func Convert_custom_metrics_MetricValueList_To_v1beta2_MetricValueList(in *custommetrics.MetricValueList, out *MetricValueList, s conversion.Scope) error {
return autoConvert_custom_metrics_MetricValueList_To_v1beta2_MetricValueList(in, out, s) return autoConvert_custom_metrics_MetricValueList_To_v1beta2_MetricValueList(in, out, s)
} }

View File

@ -21,21 +21,27 @@ limitations under the License.
package v1beta2 package v1beta2
import ( import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
) )
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MetricIdent) DeepCopyInto(out *MetricIdent) { func (in *MetricIdentifier) DeepCopyInto(out *MetricIdentifier) {
*out = *in *out = *in
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(v1.LabelSelector)
(*in).DeepCopyInto(*out)
}
return return
} }
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricIdent. // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricIdentifier.
func (in *MetricIdent) DeepCopy() *MetricIdent { func (in *MetricIdentifier) DeepCopy() *MetricIdentifier {
if in == nil { if in == nil {
return nil return nil
} }
out := new(MetricIdent) out := new(MetricIdentifier)
in.DeepCopyInto(out) in.DeepCopyInto(out)
return out return out
} }
@ -70,7 +76,7 @@ func (in *MetricValue) DeepCopyInto(out *MetricValue) {
*out = *in *out = *in
out.TypeMeta = in.TypeMeta out.TypeMeta = in.TypeMeta
out.DescribedObject = in.DescribedObject out.DescribedObject = in.DescribedObject
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
in.Timestamp.DeepCopyInto(&out.Timestamp) in.Timestamp.DeepCopyInto(&out.Timestamp)
if in.WindowSeconds != nil { if in.WindowSeconds != nil {
in, out := &in.WindowSeconds, &out.WindowSeconds in, out := &in.WindowSeconds, &out.WindowSeconds

View File

@ -21,21 +21,27 @@ limitations under the License.
package custom_metrics package custom_metrics
import ( import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
) )
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MetricIdent) DeepCopyInto(out *MetricIdent) { func (in *MetricIdentifier) DeepCopyInto(out *MetricIdentifier) {
*out = *in *out = *in
if in.Selector != nil {
in, out := &in.Selector, &out.Selector
*out = new(v1.LabelSelector)
(*in).DeepCopyInto(*out)
}
return return
} }
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricIdent. // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricIdentifier.
func (in *MetricIdent) DeepCopy() *MetricIdent { func (in *MetricIdentifier) DeepCopy() *MetricIdentifier {
if in == nil { if in == nil {
return nil return nil
} }
out := new(MetricIdent) out := new(MetricIdentifier)
in.DeepCopyInto(out) in.DeepCopyInto(out)
return out return out
} }
@ -45,7 +51,7 @@ func (in *MetricValue) DeepCopyInto(out *MetricValue) {
*out = *in *out = *in
out.TypeMeta = in.TypeMeta out.TypeMeta = in.TypeMeta
out.DescribedObject = in.DescribedObject out.DescribedObject = in.DescribedObject
out.Metric = in.Metric in.Metric.DeepCopyInto(&out.Metric)
in.Timestamp.DeepCopyInto(&out.Timestamp) in.Timestamp.DeepCopyInto(&out.Timestamp)
if in.WindowSeconds != nil { if in.WindowSeconds != nil {
in, out := &in.WindowSeconds, &out.WindowSeconds in, out := &in.WindowSeconds, &out.WindowSeconds

View File

@ -538,6 +538,10 @@
"ImportPath": "k8s.io/api/autoscaling/v2beta1", "ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/api/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/api/batch/v1", "ImportPath": "k8s.io/api/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -1246,6 +1250,10 @@
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/informers/batch", "ImportPath": "k8s.io/client-go/informers/batch",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -1426,6 +1434,10 @@
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -1530,6 +1542,10 @@
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/listers/batch/v1", "ImportPath": "k8s.io/client-go/listers/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

View File

@ -214,6 +214,10 @@
"ImportPath": "k8s.io/api/autoscaling/v2beta1", "ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/api/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/api/batch/v1", "ImportPath": "k8s.io/api/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -510,6 +514,10 @@
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/informers/batch", "ImportPath": "k8s.io/client-go/informers/batch",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -738,6 +746,14 @@
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake", "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1/fake",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{
"ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta2/fake",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
@ -918,6 +934,10 @@
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}, },
{
"ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta2",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
{ {
"ImportPath": "k8s.io/client-go/listers/batch/v1", "ImportPath": "k8s.io/client-go/listers/batch/v1",
"Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "Rev": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

View File

@ -187,7 +187,7 @@ func verifyResponsesFromCustomMetricsAPI(f *framework.Framework, customMetricsCl
if !containsResource(resources.APIResources, "*/custom.googleapis.com|"+UnusedMetricName) { if !containsResource(resources.APIResources, "*/custom.googleapis.com|"+UnusedMetricName) {
framework.Failf("Metric '%s' expected but not received", UnusedMetricName) framework.Failf("Metric '%s' expected but not received", UnusedMetricName)
} }
value, err := customMetricsClient.NamespacedMetrics(f.Namespace.Name).GetForObject(schema.GroupKind{Group: "", Kind: "Pod"}, stackdriverExporterPod1, CustomMetricName) value, err := customMetricsClient.NamespacedMetrics(f.Namespace.Name).GetForObject(schema.GroupKind{Group: "", Kind: "Pod"}, stackdriverExporterPod1, CustomMetricName, labels.NewSelector())
if err != nil { if err != nil {
framework.Failf("Failed query: %s", err) framework.Failf("Failed query: %s", err)
} }
@ -198,7 +198,7 @@ func verifyResponsesFromCustomMetricsAPI(f *framework.Framework, customMetricsCl
if err != nil { if err != nil {
framework.Failf("Couldn't create a label filter") framework.Failf("Couldn't create a label filter")
} }
values, err := customMetricsClient.NamespacedMetrics(f.Namespace.Name).GetForObjects(schema.GroupKind{Group: "", Kind: "Pod"}, labels.NewSelector().Add(*filter), CustomMetricName) values, err := customMetricsClient.NamespacedMetrics(f.Namespace.Name).GetForObjects(schema.GroupKind{Group: "", Kind: "Pod"}, labels.NewSelector().Add(*filter), CustomMetricName, labels.NewSelector())
if err != nil { if err != nil {
framework.Failf("Failed query: %s", err) framework.Failf("Failed query: %s", err)
} }

View File

@ -210,6 +210,14 @@ var etcdStorageData = map[schema.GroupVersionResource]struct {
}, },
// -- // --
// k8s.io/kubernetes/pkg/apis/autoscaling/v2beta2
gvr("autoscaling", "v2beta2", "horizontalpodautoscalers"): {
stub: `{"metadata": {"name": "hpa3"}, "spec": {"maxReplicas": 3, "scaleTargetRef": {"kind": "something", "name": "cross"}}}`,
expectedEtcdPath: "/registry/horizontalpodautoscalers/etcdstoragepathtestnamespace/hpa3",
expectedGVK: gvkP("autoscaling", "v1", "HorizontalPodAutoscaler"),
},
// --
// k8s.io/kubernetes/pkg/apis/batch/v1 // k8s.io/kubernetes/pkg/apis/batch/v1
gvr("batch", "v1", "jobs"): { gvr("batch", "v1", "jobs"): {
stub: `{"metadata": {"name": "job1"}, "spec": {"manualSelector": true, "selector": {"matchLabels": {"controller-uid": "uid1"}}, "template": {"metadata": {"labels": {"controller-uid": "uid1"}}, "spec": {"containers": [{"image": "fedora:latest", "name": "container1"}], "dnsPolicy": "ClusterFirst", "restartPolicy": "Never"}}}}`, stub: `{"metadata": {"name": "job1"}, "spec": {"manualSelector": true, "selector": {"matchLabels": {"controller-uid": "uid1"}}, "template": {"metadata": {"labels": {"controller-uid": "uid1"}}, "spec": {"containers": [{"image": "fedora:latest", "name": "container1"}], "dnsPolicy": "ClusterFirst", "restartPolicy": "Never"}}}}`,