Merge pull request #55268 from foxish/add-sts-conditions

Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add statefulset conditions

**What this PR does / why we need it**: This PR adds conditions to statefulset status making it consistent with other controllers for v1. See linked issue for discussion.

/xref: https://github.com/kubernetes/kubernetes/issues/7856

**Special notes for your reviewer**:

**Release note**:

```release-note
StatefulSet status now has support for conditions, making it consistent with other core controllers in v1 
```
This commit is contained in:
Kubernetes Submit Queue 2017-11-09 21:05:43 -08:00 committed by GitHub
commit 3ce7c3ef3d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 2280 additions and 417 deletions

View File

@ -67503,6 +67503,35 @@
}
]
},
"io.k8s.api.apps.v1.StatefulSetCondition": {
"description": "StatefulSetCondition describes the state of a statefulset at a certain point.",
"required": [
"type",
"status"
],
"properties": {
"lastTransitionTime": {
"description": "Last time the condition transitioned from one status to another.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
},
"message": {
"description": "A human readable message indicating details about the transition.",
"type": "string"
},
"reason": {
"description": "The reason for the condition's last transition.",
"type": "string"
},
"status": {
"description": "Status of the condition, one of True, False, Unknown.",
"type": "string"
},
"type": {
"description": "Type of statefulset condition.",
"type": "string"
}
}
},
"io.k8s.api.apps.v1.StatefulSetList": {
"description": "StatefulSetList is a collection of StatefulSets.",
"required": [
@ -67592,6 +67621,15 @@
"type": "integer",
"format": "int32"
},
"conditions": {
"description": "Represents the latest available observations of a statefulset's current state.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.apps.v1.StatefulSetCondition"
},
"x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge"
},
"currentReplicas": {
"description": "currentReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by currentRevision.",
"type": "integer",
@ -68088,6 +68126,35 @@
}
]
},
"io.k8s.api.apps.v1beta1.StatefulSetCondition": {
"description": "StatefulSetCondition describes the state of a statefulset at a certain point.",
"required": [
"type",
"status"
],
"properties": {
"lastTransitionTime": {
"description": "Last time the condition transitioned from one status to another.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
},
"message": {
"description": "A human readable message indicating details about the transition.",
"type": "string"
},
"reason": {
"description": "The reason for the condition's last transition.",
"type": "string"
},
"status": {
"description": "Status of the condition, one of True, False, Unknown.",
"type": "string"
},
"type": {
"description": "Type of statefulset condition.",
"type": "string"
}
}
},
"io.k8s.api.apps.v1beta1.StatefulSetList": {
"description": "StatefulSetList is a collection of StatefulSets.",
"required": [
@ -68177,6 +68244,15 @@
"type": "integer",
"format": "int32"
},
"conditions": {
"description": "Represents the latest available observations of a statefulset's current state.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.apps.v1beta1.StatefulSetCondition"
},
"x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge"
},
"currentReplicas": {
"description": "currentReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by currentRevision.",
"type": "integer",
@ -68992,6 +69068,35 @@
}
]
},
"io.k8s.api.apps.v1beta2.StatefulSetCondition": {
"description": "StatefulSetCondition describes the state of a statefulset at a certain point.",
"required": [
"type",
"status"
],
"properties": {
"lastTransitionTime": {
"description": "Last time the condition transitioned from one status to another.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
},
"message": {
"description": "A human readable message indicating details about the transition.",
"type": "string"
},
"reason": {
"description": "The reason for the condition's last transition.",
"type": "string"
},
"status": {
"description": "Status of the condition, one of True, False, Unknown.",
"type": "string"
},
"type": {
"description": "Type of statefulset condition.",
"type": "string"
}
}
},
"io.k8s.api.apps.v1beta2.StatefulSetList": {
"description": "StatefulSetList is a collection of StatefulSets.",
"required": [
@ -69081,6 +69186,15 @@
"type": "integer",
"format": "int32"
},
"conditions": {
"description": "Represents the latest available observations of a statefulset's current state.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.apps.v1beta2.StatefulSetCondition"
},
"x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge"
},
"currentReplicas": {
"description": "currentReplicas is the number of Pods created by the StatefulSet controller from the StatefulSet version indicated by currentRevision.",
"type": "integer",

View File

@ -8830,6 +8830,43 @@
"type": "integer",
"format": "int32",
"description": "collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision."
},
"conditions": {
"type": "array",
"items": {
"$ref": "v1.StatefulSetCondition"
},
"description": "Represents the latest available observations of a statefulset's current state."
}
}
},
"v1.StatefulSetCondition": {
"id": "v1.StatefulSetCondition",
"description": "StatefulSetCondition describes the state of a statefulset at a certain point.",
"required": [
"type",
"status"
],
"properties": {
"type": {
"type": "string",
"description": "Type of statefulset condition."
},
"status": {
"type": "string",
"description": "Status of the condition, one of True, False, Unknown."
},
"lastTransitionTime": {
"type": "string",
"description": "Last time the condition transitioned from one status to another."
},
"reason": {
"type": "string",
"description": "The reason for the condition's last transition."
},
"message": {
"type": "string",
"description": "A human readable message indicating details about the transition."
}
}
},

View File

@ -6709,6 +6709,43 @@
"type": "integer",
"format": "int32",
"description": "collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision."
},
"conditions": {
"type": "array",
"items": {
"$ref": "v1beta1.StatefulSetCondition"
},
"description": "Represents the latest available observations of a statefulset's current state."
}
}
},
"v1beta1.StatefulSetCondition": {
"id": "v1beta1.StatefulSetCondition",
"description": "StatefulSetCondition describes the state of a statefulset at a certain point.",
"required": [
"type",
"status"
],
"properties": {
"type": {
"type": "string",
"description": "Type of statefulset condition."
},
"status": {
"type": "string",
"description": "Status of the condition, one of True, False, Unknown."
},
"lastTransitionTime": {
"type": "string",
"description": "Last time the condition transitioned from one status to another."
},
"reason": {
"type": "string",
"description": "The reason for the condition's last transition."
},
"message": {
"type": "string",
"description": "A human readable message indicating details about the transition."
}
}
},

View File

@ -9399,6 +9399,43 @@
"type": "integer",
"format": "int32",
"description": "collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision."
},
"conditions": {
"type": "array",
"items": {
"$ref": "v1beta2.StatefulSetCondition"
},
"description": "Represents the latest available observations of a statefulset's current state."
}
}
},
"v1beta2.StatefulSetCondition": {
"id": "v1beta2.StatefulSetCondition",
"description": "StatefulSetCondition describes the state of a statefulset at a certain point.",
"required": [
"type",
"status"
],
"properties": {
"type": {
"type": "string",
"description": "Type of statefulset condition."
},
"status": {
"type": "string",
"description": "Status of the condition, one of True, False, Unknown."
},
"lastTransitionTime": {
"type": "string",
"description": "Last time the condition transitioned from one status to another."
},
"reason": {
"type": "string",
"description": "The reason for the condition's last transition."
},
"message": {
"type": "string",
"description": "A human readable message indicating details about the transition."
}
}
},

View File

@ -4964,6 +4964,75 @@ Examples:<br>
<td class="tableblock halign-left valign-top"><p class="tableblock">integer (int32)</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">conditions</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Represents the latest available observations of a statefulset&#8217;s current state.</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_statefulsetcondition">v1.StatefulSetCondition</a> array</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1_statefulsetcondition">v1.StatefulSetCondition</h3>
<div class="paragraph">
<p>StatefulSetCondition describes the state of a statefulset at a certain point.</p>
</div>
<table class="tableblock frame-all grid-all" style="width:100%; ">
<colgroup>
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Required</th>
<th class="tableblock halign-left valign-top">Schema</th>
<th class="tableblock halign-left valign-top">Default</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">type</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Type of statefulset condition.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">status</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Status of the condition, one of True, False, Unknown.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">lastTransitionTime</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Last time the condition transitioned from one status to another.</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>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">reason</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The reason for the condition&#8217;s last transition.</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>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">message</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">A human readable message indicating details about the transition.</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>
</table>

View File

@ -2204,6 +2204,68 @@ When an object is created, the system will populate this list with the current s
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1beta1_statefulsetcondition">v1beta1.StatefulSetCondition</h3>
<div class="paragraph">
<p>StatefulSetCondition describes the state of a statefulset at a certain point.</p>
</div>
<table class="tableblock frame-all grid-all" style="width:100%; ">
<colgroup>
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Required</th>
<th class="tableblock halign-left valign-top">Schema</th>
<th class="tableblock halign-left valign-top">Default</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">type</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Type of statefulset condition.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">status</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Status of the condition, one of True, False, Unknown.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">lastTransitionTime</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Last time the condition transitioned from one status to another.</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>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">reason</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The reason for the condition&#8217;s last transition.</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>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">message</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">A human readable message indicating details about the transition.</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>
</table>
</div>
<div class="sect2">
<h3 id="_v1_persistentvolumeclaim">v1.PersistentVolumeClaim</h3>
@ -5247,6 +5309,13 @@ Examples:<br>
<td class="tableblock halign-left valign-top"><p class="tableblock">integer (int32)</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">conditions</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Represents the latest available observations of a statefulset&#8217;s current state.</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="#_v1beta1_statefulsetcondition">v1beta1.StatefulSetCondition</a> array</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>

View File

@ -1064,6 +1064,68 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1beta2_statefulsetcondition">v1beta2.StatefulSetCondition</h3>
<div class="paragraph">
<p>StatefulSetCondition describes the state of a statefulset at a certain point.</p>
</div>
<table class="tableblock frame-all grid-all" style="width:100%; ">
<colgroup>
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
<col style="width:20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Name</th>
<th class="tableblock halign-left valign-top">Description</th>
<th class="tableblock halign-left valign-top">Required</th>
<th class="tableblock halign-left valign-top">Schema</th>
<th class="tableblock halign-left valign-top">Default</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">type</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Type of statefulset condition.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">status</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Status of the condition, one of True, False, Unknown.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">true</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">lastTransitionTime</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Last time the condition transitioned from one status to another.</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>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">reason</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The reason for the condition&#8217;s last transition.</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>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">message</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">A human readable message indicating details about the transition.</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>
</table>
</div>
<div class="sect2">
<h3 id="_v1_downwardapivolumesource">v1.DownwardAPIVolumeSource</h3>
@ -1667,6 +1729,13 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
<td class="tableblock halign-left valign-top"><p class="tableblock">integer (int32)</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">conditions</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Represents the latest available observations of a statefulset&#8217;s current state.</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="#_v1beta2_statefulsetcondition">v1beta2.StatefulSetCondition</a> array</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>

View File

@ -195,6 +195,27 @@ type StatefulSetStatus struct {
// newest ControllerRevision.
// +optional
CollisionCount *int32
// Represents the latest available observations of a statefulset's current state.
Conditions []StatefulSetCondition
}
type StatefulSetConditionType string
// TODO: Add valid condition types for Statefulsets.
// StatefulSetCondition describes the state of a statefulset at a certain point.
type StatefulSetCondition struct {
// Type of statefulset condition.
Type StatefulSetConditionType
// Status of the condition, one of True, False, Unknown.
Status api.ConditionStatus
// The last time this condition was updated.
LastTransitionTime metav1.Time
// The reason for the condition's last transition.
Reason string
// A human readable message indicating details about the transition.
Message string
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

View File

@ -465,6 +465,12 @@ func Convert_v1_StatefulSetStatus_To_apps_StatefulSetStatus(in *appsv1.StatefulS
out.CollisionCount = new(int32)
*out.CollisionCount = *in.CollisionCount
}
out.Conditions = make([]apps.StatefulSetCondition, len(in.Conditions))
for i := range in.Conditions {
if err := Convert_v1_StatefulSetCondition_To_apps_StatefulSetCondition(&in.Conditions[i], &out.Conditions[i], s); err != nil {
return err
}
}
return nil
}
@ -482,5 +488,11 @@ func Convert_apps_StatefulSetStatus_To_v1_StatefulSetStatus(in *apps.StatefulSet
out.CollisionCount = new(int32)
*out.CollisionCount = *in.CollisionCount
}
out.Conditions = make([]appsv1.StatefulSetCondition, len(in.Conditions))
for i := range in.Conditions {
if err := Convert_apps_StatefulSetCondition_To_v1_StatefulSetCondition(&in.Conditions[i], &out.Conditions[i], s); err != nil {
return err
}
}
return nil
}

View File

@ -87,6 +87,8 @@ func RegisterConversions(scheme *runtime.Scheme) error {
Convert_apps_RollingUpdateStatefulSetStrategy_To_v1_RollingUpdateStatefulSetStrategy,
Convert_v1_StatefulSet_To_apps_StatefulSet,
Convert_apps_StatefulSet_To_v1_StatefulSet,
Convert_v1_StatefulSetCondition_To_apps_StatefulSetCondition,
Convert_apps_StatefulSetCondition_To_v1_StatefulSetCondition,
Convert_v1_StatefulSetList_To_apps_StatefulSetList,
Convert_apps_StatefulSetList_To_v1_StatefulSetList,
Convert_v1_StatefulSetSpec_To_apps_StatefulSetSpec,
@ -780,6 +782,34 @@ func Convert_apps_StatefulSet_To_v1_StatefulSet(in *apps.StatefulSet, out *v1.St
return autoConvert_apps_StatefulSet_To_v1_StatefulSet(in, out, s)
}
func autoConvert_v1_StatefulSetCondition_To_apps_StatefulSetCondition(in *v1.StatefulSetCondition, out *apps.StatefulSetCondition, s conversion.Scope) error {
out.Type = apps.StatefulSetConditionType(in.Type)
out.Status = core.ConditionStatus(in.Status)
out.LastTransitionTime = in.LastTransitionTime
out.Reason = in.Reason
out.Message = in.Message
return nil
}
// Convert_v1_StatefulSetCondition_To_apps_StatefulSetCondition is an autogenerated conversion function.
func Convert_v1_StatefulSetCondition_To_apps_StatefulSetCondition(in *v1.StatefulSetCondition, out *apps.StatefulSetCondition, s conversion.Scope) error {
return autoConvert_v1_StatefulSetCondition_To_apps_StatefulSetCondition(in, out, s)
}
func autoConvert_apps_StatefulSetCondition_To_v1_StatefulSetCondition(in *apps.StatefulSetCondition, out *v1.StatefulSetCondition, s conversion.Scope) error {
out.Type = v1.StatefulSetConditionType(in.Type)
out.Status = core_v1.ConditionStatus(in.Status)
out.LastTransitionTime = in.LastTransitionTime
out.Reason = in.Reason
out.Message = in.Message
return nil
}
// Convert_apps_StatefulSetCondition_To_v1_StatefulSetCondition is an autogenerated conversion function.
func Convert_apps_StatefulSetCondition_To_v1_StatefulSetCondition(in *apps.StatefulSetCondition, out *v1.StatefulSetCondition, s conversion.Scope) error {
return autoConvert_apps_StatefulSetCondition_To_v1_StatefulSetCondition(in, out, s)
}
func autoConvert_v1_StatefulSetList_To_apps_StatefulSetList(in *v1.StatefulSetList, out *apps.StatefulSetList, s conversion.Scope) error {
out.ListMeta = in.ListMeta
if in.Items != nil {
@ -867,6 +897,7 @@ func autoConvert_v1_StatefulSetStatus_To_apps_StatefulSetStatus(in *v1.StatefulS
out.CurrentRevision = in.CurrentRevision
out.UpdateRevision = in.UpdateRevision
out.CollisionCount = (*int32)(unsafe.Pointer(in.CollisionCount))
out.Conditions = *(*[]apps.StatefulSetCondition)(unsafe.Pointer(&in.Conditions))
return nil
}
@ -879,6 +910,7 @@ func autoConvert_apps_StatefulSetStatus_To_v1_StatefulSetStatus(in *apps.Statefu
out.CurrentRevision = in.CurrentRevision
out.UpdateRevision = in.UpdateRevision
out.CollisionCount = (*int32)(unsafe.Pointer(in.CollisionCount))
out.Conditions = *(*[]v1.StatefulSetCondition)(unsafe.Pointer(&in.Conditions))
return nil
}

View File

@ -73,6 +73,8 @@ func RegisterConversions(scheme *runtime.Scheme) error {
Convert_extensions_ScaleStatus_To_v1beta1_ScaleStatus,
Convert_v1beta1_StatefulSet_To_apps_StatefulSet,
Convert_apps_StatefulSet_To_v1beta1_StatefulSet,
Convert_v1beta1_StatefulSetCondition_To_apps_StatefulSetCondition,
Convert_apps_StatefulSetCondition_To_v1beta1_StatefulSetCondition,
Convert_v1beta1_StatefulSetList_To_apps_StatefulSetList,
Convert_apps_StatefulSetList_To_v1beta1_StatefulSetList,
Convert_v1beta1_StatefulSetSpec_To_apps_StatefulSetSpec,
@ -539,6 +541,34 @@ func Convert_apps_StatefulSet_To_v1beta1_StatefulSet(in *apps.StatefulSet, out *
return autoConvert_apps_StatefulSet_To_v1beta1_StatefulSet(in, out, s)
}
func autoConvert_v1beta1_StatefulSetCondition_To_apps_StatefulSetCondition(in *v1beta1.StatefulSetCondition, out *apps.StatefulSetCondition, s conversion.Scope) error {
out.Type = apps.StatefulSetConditionType(in.Type)
out.Status = core.ConditionStatus(in.Status)
out.LastTransitionTime = in.LastTransitionTime
out.Reason = in.Reason
out.Message = in.Message
return nil
}
// Convert_v1beta1_StatefulSetCondition_To_apps_StatefulSetCondition is an autogenerated conversion function.
func Convert_v1beta1_StatefulSetCondition_To_apps_StatefulSetCondition(in *v1beta1.StatefulSetCondition, out *apps.StatefulSetCondition, s conversion.Scope) error {
return autoConvert_v1beta1_StatefulSetCondition_To_apps_StatefulSetCondition(in, out, s)
}
func autoConvert_apps_StatefulSetCondition_To_v1beta1_StatefulSetCondition(in *apps.StatefulSetCondition, out *v1beta1.StatefulSetCondition, s conversion.Scope) error {
out.Type = v1beta1.StatefulSetConditionType(in.Type)
out.Status = v1.ConditionStatus(in.Status)
out.LastTransitionTime = in.LastTransitionTime
out.Reason = in.Reason
out.Message = in.Message
return nil
}
// Convert_apps_StatefulSetCondition_To_v1beta1_StatefulSetCondition is an autogenerated conversion function.
func Convert_apps_StatefulSetCondition_To_v1beta1_StatefulSetCondition(in *apps.StatefulSetCondition, out *v1beta1.StatefulSetCondition, s conversion.Scope) error {
return autoConvert_apps_StatefulSetCondition_To_v1beta1_StatefulSetCondition(in, out, s)
}
func autoConvert_v1beta1_StatefulSetList_To_apps_StatefulSetList(in *v1beta1.StatefulSetList, out *apps.StatefulSetList, s conversion.Scope) error {
out.ListMeta = in.ListMeta
if in.Items != nil {
@ -626,6 +656,7 @@ func autoConvert_v1beta1_StatefulSetStatus_To_apps_StatefulSetStatus(in *v1beta1
out.CurrentRevision = in.CurrentRevision
out.UpdateRevision = in.UpdateRevision
out.CollisionCount = (*int32)(unsafe.Pointer(in.CollisionCount))
out.Conditions = *(*[]apps.StatefulSetCondition)(unsafe.Pointer(&in.Conditions))
return nil
}
@ -643,6 +674,7 @@ func autoConvert_apps_StatefulSetStatus_To_v1beta1_StatefulSetStatus(in *apps.St
out.CurrentRevision = in.CurrentRevision
out.UpdateRevision = in.UpdateRevision
out.CollisionCount = (*int32)(unsafe.Pointer(in.CollisionCount))
out.Conditions = *(*[]v1beta1.StatefulSetCondition)(unsafe.Pointer(&in.Conditions))
return nil
}

View File

@ -223,6 +223,12 @@ func Convert_v1beta2_StatefulSetStatus_To_apps_StatefulSetStatus(in *appsv1beta2
out.CollisionCount = new(int32)
*out.CollisionCount = *in.CollisionCount
}
out.Conditions = make([]apps.StatefulSetCondition, len(in.Conditions))
for i := range in.Conditions {
if err := Convert_v1beta2_StatefulSetCondition_To_apps_StatefulSetCondition(&in.Conditions[i], &out.Conditions[i], s); err != nil {
return err
}
}
return nil
}
@ -240,6 +246,12 @@ func Convert_apps_StatefulSetStatus_To_v1beta2_StatefulSetStatus(in *apps.Statef
out.CollisionCount = new(int32)
*out.CollisionCount = *in.CollisionCount
}
out.Conditions = make([]appsv1beta2.StatefulSetCondition, len(in.Conditions))
for i := range in.Conditions {
if err := Convert_apps_StatefulSetCondition_To_v1beta2_StatefulSetCondition(&in.Conditions[i], &out.Conditions[i], s); err != nil {
return err
}
}
return nil
}

View File

@ -93,6 +93,8 @@ func RegisterConversions(scheme *runtime.Scheme) error {
Convert_extensions_ScaleStatus_To_v1beta2_ScaleStatus,
Convert_v1beta2_StatefulSet_To_apps_StatefulSet,
Convert_apps_StatefulSet_To_v1beta2_StatefulSet,
Convert_v1beta2_StatefulSetCondition_To_apps_StatefulSetCondition,
Convert_apps_StatefulSetCondition_To_v1beta2_StatefulSetCondition,
Convert_v1beta2_StatefulSetList_To_apps_StatefulSetList,
Convert_apps_StatefulSetList_To_v1beta2_StatefulSetList,
Convert_v1beta2_StatefulSetSpec_To_apps_StatefulSetSpec,
@ -851,6 +853,34 @@ func Convert_apps_StatefulSet_To_v1beta2_StatefulSet(in *apps.StatefulSet, out *
return autoConvert_apps_StatefulSet_To_v1beta2_StatefulSet(in, out, s)
}
func autoConvert_v1beta2_StatefulSetCondition_To_apps_StatefulSetCondition(in *v1beta2.StatefulSetCondition, out *apps.StatefulSetCondition, s conversion.Scope) error {
out.Type = apps.StatefulSetConditionType(in.Type)
out.Status = core.ConditionStatus(in.Status)
out.LastTransitionTime = in.LastTransitionTime
out.Reason = in.Reason
out.Message = in.Message
return nil
}
// Convert_v1beta2_StatefulSetCondition_To_apps_StatefulSetCondition is an autogenerated conversion function.
func Convert_v1beta2_StatefulSetCondition_To_apps_StatefulSetCondition(in *v1beta2.StatefulSetCondition, out *apps.StatefulSetCondition, s conversion.Scope) error {
return autoConvert_v1beta2_StatefulSetCondition_To_apps_StatefulSetCondition(in, out, s)
}
func autoConvert_apps_StatefulSetCondition_To_v1beta2_StatefulSetCondition(in *apps.StatefulSetCondition, out *v1beta2.StatefulSetCondition, s conversion.Scope) error {
out.Type = v1beta2.StatefulSetConditionType(in.Type)
out.Status = v1.ConditionStatus(in.Status)
out.LastTransitionTime = in.LastTransitionTime
out.Reason = in.Reason
out.Message = in.Message
return nil
}
// Convert_apps_StatefulSetCondition_To_v1beta2_StatefulSetCondition is an autogenerated conversion function.
func Convert_apps_StatefulSetCondition_To_v1beta2_StatefulSetCondition(in *apps.StatefulSetCondition, out *v1beta2.StatefulSetCondition, s conversion.Scope) error {
return autoConvert_apps_StatefulSetCondition_To_v1beta2_StatefulSetCondition(in, out, s)
}
func autoConvert_v1beta2_StatefulSetList_To_apps_StatefulSetList(in *v1beta2.StatefulSetList, out *apps.StatefulSetList, s conversion.Scope) error {
out.ListMeta = in.ListMeta
if in.Items != nil {
@ -938,6 +968,7 @@ func autoConvert_v1beta2_StatefulSetStatus_To_apps_StatefulSetStatus(in *v1beta2
out.CurrentRevision = in.CurrentRevision
out.UpdateRevision = in.UpdateRevision
out.CollisionCount = (*int32)(unsafe.Pointer(in.CollisionCount))
out.Conditions = *(*[]apps.StatefulSetCondition)(unsafe.Pointer(&in.Conditions))
return nil
}
@ -950,6 +981,7 @@ func autoConvert_apps_StatefulSetStatus_To_v1beta2_StatefulSetStatus(in *apps.St
out.CurrentRevision = in.CurrentRevision
out.UpdateRevision = in.UpdateRevision
out.CollisionCount = (*int32)(unsafe.Pointer(in.CollisionCount))
out.Conditions = *(*[]v1beta2.StatefulSetCondition)(unsafe.Pointer(&in.Conditions))
return nil
}

View File

@ -54,6 +54,10 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
in.(*StatefulSet).DeepCopyInto(out.(*StatefulSet))
return nil
}, InType: reflect.TypeOf(&StatefulSet{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*StatefulSetCondition).DeepCopyInto(out.(*StatefulSetCondition))
return nil
}, InType: reflect.TypeOf(&StatefulSetCondition{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*StatefulSetList).DeepCopyInto(out.(*StatefulSetList))
return nil
@ -184,6 +188,23 @@ func (in *StatefulSet) DeepCopyObject() runtime.Object {
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StatefulSetCondition) DeepCopyInto(out *StatefulSetCondition) {
*out = *in
in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulSetCondition.
func (in *StatefulSetCondition) DeepCopy() *StatefulSetCondition {
if in == nil {
return nil
}
out := new(StatefulSetCondition)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StatefulSetList) DeepCopyInto(out *StatefulSetList) {
*out = *in
@ -282,6 +303,13 @@ func (in *StatefulSetStatus) DeepCopyInto(out *StatefulSetStatus) {
**out = **in
}
}
if in.Conditions != nil {
in, out := &in.Conditions, &out.Conditions
*out = make([]StatefulSetCondition, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
return
}

View File

@ -48,6 +48,7 @@ limitations under the License.
RollingUpdateDeployment
RollingUpdateStatefulSetStrategy
StatefulSet
StatefulSetCondition
StatefulSetList
StatefulSetSpec
StatefulSetStatus
@ -177,22 +178,26 @@ func (m *StatefulSet) Reset() { *m = StatefulSet{} }
func (*StatefulSet) ProtoMessage() {}
func (*StatefulSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{22} }
func (m *StatefulSetCondition) Reset() { *m = StatefulSetCondition{} }
func (*StatefulSetCondition) ProtoMessage() {}
func (*StatefulSetCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} }
func (m *StatefulSetList) Reset() { *m = StatefulSetList{} }
func (*StatefulSetList) ProtoMessage() {}
func (*StatefulSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{23} }
func (*StatefulSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} }
func (m *StatefulSetSpec) Reset() { *m = StatefulSetSpec{} }
func (*StatefulSetSpec) ProtoMessage() {}
func (*StatefulSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{24} }
func (*StatefulSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} }
func (m *StatefulSetStatus) Reset() { *m = StatefulSetStatus{} }
func (*StatefulSetStatus) ProtoMessage() {}
func (*StatefulSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} }
func (*StatefulSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} }
func (m *StatefulSetUpdateStrategy) Reset() { *m = StatefulSetUpdateStrategy{} }
func (*StatefulSetUpdateStrategy) ProtoMessage() {}
func (*StatefulSetUpdateStrategy) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{26}
return fileDescriptorGenerated, []int{27}
}
func init() {
@ -219,6 +224,7 @@ func init() {
proto.RegisterType((*RollingUpdateDeployment)(nil), "k8s.io.api.apps.v1.RollingUpdateDeployment")
proto.RegisterType((*RollingUpdateStatefulSetStrategy)(nil), "k8s.io.api.apps.v1.RollingUpdateStatefulSetStrategy")
proto.RegisterType((*StatefulSet)(nil), "k8s.io.api.apps.v1.StatefulSet")
proto.RegisterType((*StatefulSetCondition)(nil), "k8s.io.api.apps.v1.StatefulSetCondition")
proto.RegisterType((*StatefulSetList)(nil), "k8s.io.api.apps.v1.StatefulSetList")
proto.RegisterType((*StatefulSetSpec)(nil), "k8s.io.api.apps.v1.StatefulSetSpec")
proto.RegisterType((*StatefulSetStatus)(nil), "k8s.io.api.apps.v1.StatefulSetStatus")
@ -1191,6 +1197,48 @@ func (m *StatefulSet) MarshalTo(dAtA []byte) (int, error) {
return i, nil
}
func (m *StatefulSetCondition) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA)
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *StatefulSetCondition) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
i += copy(dAtA[i:], m.Type)
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Status)))
i += copy(dAtA[i:], m.Status)
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size()))
n36, err := m.LastTransitionTime.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n36
dAtA[i] = 0x22
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason)))
i += copy(dAtA[i:], m.Reason)
dAtA[i] = 0x2a
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message)))
i += copy(dAtA[i:], m.Message)
return i, nil
}
func (m *StatefulSetList) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@ -1209,11 +1257,11 @@ func (m *StatefulSetList) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
n36, err := m.ListMeta.MarshalTo(dAtA[i:])
n37, err := m.ListMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n36
i += n37
if len(m.Items) > 0 {
for _, msg := range m.Items {
dAtA[i] = 0x12
@ -1253,20 +1301,20 @@ func (m *StatefulSetSpec) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
n37, err := m.Selector.MarshalTo(dAtA[i:])
n38, err := m.Selector.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n37
i += n38
}
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size()))
n38, err := m.Template.MarshalTo(dAtA[i:])
n39, err := m.Template.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n38
i += n39
if len(m.VolumeClaimTemplates) > 0 {
for _, msg := range m.VolumeClaimTemplates {
dAtA[i] = 0x22
@ -1290,11 +1338,11 @@ func (m *StatefulSetSpec) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x3a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.UpdateStrategy.Size()))
n39, err := m.UpdateStrategy.MarshalTo(dAtA[i:])
n40, err := m.UpdateStrategy.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n39
i += n40
if m.RevisionHistoryLimit != nil {
dAtA[i] = 0x40
i++
@ -1346,6 +1394,18 @@ func (m *StatefulSetStatus) MarshalTo(dAtA []byte) (int, error) {
i++
i = encodeVarintGenerated(dAtA, i, uint64(*m.CollisionCount))
}
if len(m.Conditions) > 0 {
for _, msg := range m.Conditions {
dAtA[i] = 0x52
i++
i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
n, err := msg.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n
}
}
return i, nil
}
@ -1372,11 +1432,11 @@ func (m *StatefulSetUpdateStrategy) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.RollingUpdate.Size()))
n40, err := m.RollingUpdate.MarshalTo(dAtA[i:])
n41, err := m.RollingUpdate.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n40
i += n41
}
return i, nil
}
@ -1750,6 +1810,22 @@ func (m *StatefulSet) Size() (n int) {
return n
}
func (m *StatefulSetCondition) Size() (n int) {
var l int
_ = l
l = len(m.Type)
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Status)
n += 1 + l + sovGenerated(uint64(l))
l = m.LastTransitionTime.Size()
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Reason)
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Message)
n += 1 + l + sovGenerated(uint64(l))
return n
}
func (m *StatefulSetList) Size() (n int) {
var l int
_ = l
@ -1809,6 +1885,12 @@ func (m *StatefulSetStatus) Size() (n int) {
if m.CollisionCount != nil {
n += 1 + sovGenerated(uint64(*m.CollisionCount))
}
if len(m.Conditions) > 0 {
for _, e := range m.Conditions {
l = e.Size()
n += 1 + l + sovGenerated(uint64(l))
}
}
return n
}
@ -2132,6 +2214,20 @@ func (this *StatefulSet) String() string {
}, "")
return s
}
func (this *StatefulSetCondition) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&StatefulSetCondition{`,
`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
`Status:` + fmt.Sprintf("%v", this.Status) + `,`,
`LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`,
`Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
`Message:` + fmt.Sprintf("%v", this.Message) + `,`,
`}`,
}, "")
return s
}
func (this *StatefulSetList) String() string {
if this == nil {
return "nil"
@ -2173,6 +2269,7 @@ func (this *StatefulSetStatus) String() string {
`CurrentRevision:` + fmt.Sprintf("%v", this.CurrentRevision) + `,`,
`UpdateRevision:` + fmt.Sprintf("%v", this.UpdateRevision) + `,`,
`CollisionCount:` + valueToStringGenerated(this.CollisionCount) + `,`,
`Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "StatefulSetCondition", "StatefulSetCondition", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
@ -5660,6 +5757,202 @@ func (m *StatefulSet) Unmarshal(dAtA []byte) error {
}
return nil
}
func (m *StatefulSetCondition) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: StatefulSetCondition: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: StatefulSetCondition: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Type", 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.Type = StatefulSetConditionType(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Status", 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.Status = k8s_io_api_core_v1.ConditionStatus(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", 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 err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Reason", 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.Reason = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 5:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Message", 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.Message = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthGenerated
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *StatefulSetList) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@ -6245,6 +6538,37 @@ func (m *StatefulSetStatus) Unmarshal(dAtA []byte) error {
}
}
m.CollisionCount = &v
case 10:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Conditions", 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
}
m.Conditions = append(m.Conditions, StatefulSetCondition{})
if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@ -6488,131 +6812,134 @@ func init() {
}
var fileDescriptorGenerated = []byte{
// 2015 bytes of a gzipped FileDescriptorProto
// 2051 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcd, 0x6f, 0x24, 0x47,
0x1d, 0x75, 0xcf, 0x87, 0x3d, 0x2e, 0xc7, 0xf6, 0x6e, 0xd9, 0xd8, 0x93, 0x5d, 0x32, 0x5e, 0x1a,
0xd8, 0x78, 0xb3, 0xd9, 0x1e, 0xbc, 0xd9, 0x44, 0x28, 0x2b, 0x81, 0x3c, 0xe3, 0x10, 0x42, 0x3c,
0xb6, 0x29, 0xaf, 0xf7, 0xb0, 0x80, 0x44, 0xcd, 0x4c, 0xed, 0xb8, 0xe3, 0xfe, 0x52, 0x77, 0xf5,
0xb0, 0x23, 0x2e, 0x08, 0x09, 0x4e, 0x48, 0xf0, 0x9f, 0x20, 0x84, 0xe0, 0x86, 0x22, 0xc4, 0x65,
0x2f, 0x48, 0x11, 0x17, 0x72, 0xb2, 0xd8, 0xc9, 0x09, 0x71, 0xe6, 0x92, 0x0b, 0xa8, 0xaa, 0xab,
0xbf, 0xab, 0x3d, 0x63, 0x6f, 0xd6, 0x41, 0x11, 0x37, 0x4f, 0xd5, 0xfb, 0xbd, 0xfa, 0x55, 0xd7,
0xaf, 0xea, 0xbd, 0xea, 0x36, 0xb8, 0x7f, 0xf2, 0x4d, 0x4f, 0xd3, 0xed, 0xe6, 0x89, 0xdf, 0x25,
0xae, 0x45, 0x28, 0xf1, 0x9a, 0x43, 0x62, 0xf5, 0x6d, 0xb7, 0x29, 0x3a, 0xb0, 0xa3, 0x37, 0xb1,
0xe3, 0x78, 0xcd, 0xe1, 0x56, 0x73, 0x40, 0x2c, 0xe2, 0x62, 0x4a, 0xfa, 0x9a, 0xe3, 0xda, 0xd4,
0x86, 0x30, 0xc0, 0x68, 0xd8, 0xd1, 0x35, 0x86, 0xd1, 0x86, 0x5b, 0xd7, 0xee, 0x0c, 0x74, 0x7a,
0xec, 0x77, 0xb5, 0x9e, 0x6d, 0x36, 0x07, 0xf6, 0xc0, 0x6e, 0x72, 0x68, 0xd7, 0x7f, 0xcc, 0x7f,
0xf1, 0x1f, 0xfc, 0xaf, 0x80, 0xe2, 0x9a, 0x9a, 0x18, 0xa6, 0x67, 0xbb, 0x44, 0x32, 0xcc, 0xb5,
0x5b, 0x09, 0x8c, 0x63, 0x1b, 0x7a, 0x6f, 0xd4, 0x1c, 0x6e, 0x75, 0x09, 0xc5, 0x79, 0xe8, 0xbd,
0x18, 0x6a, 0xe2, 0xde, 0xb1, 0x6e, 0x11, 0x77, 0xd4, 0x74, 0x4e, 0x06, 0xac, 0xc1, 0x6b, 0x9a,
0x84, 0x62, 0xd9, 0x00, 0xcd, 0xa2, 0x28, 0xd7, 0xb7, 0xa8, 0x6e, 0x92, 0x5c, 0xc0, 0x5b, 0x93,
0x02, 0xbc, 0xde, 0x31, 0x31, 0x71, 0x2e, 0xee, 0x8d, 0xa2, 0x38, 0x9f, 0xea, 0x46, 0x53, 0xb7,
0xa8, 0x47, 0xdd, 0x6c, 0x90, 0xfa, 0x6f, 0x05, 0xc0, 0xb6, 0x6d, 0x51, 0xd7, 0x36, 0x0c, 0xe2,
0x22, 0x32, 0xd4, 0x3d, 0xdd, 0xb6, 0xe0, 0x8f, 0x41, 0x8d, 0xcd, 0xa7, 0x8f, 0x29, 0xae, 0x2b,
0x37, 0x94, 0xcd, 0x85, 0xbb, 0xdf, 0xd0, 0xe2, 0xf5, 0x88, 0xe8, 0x35, 0xe7, 0x64, 0xc0, 0x1a,
0x3c, 0x8d, 0xa1, 0xb5, 0xe1, 0x96, 0xb6, 0xdf, 0xfd, 0x80, 0xf4, 0x68, 0x87, 0x50, 0xdc, 0x82,
0x4f, 0x4f, 0x37, 0x66, 0xc6, 0xa7, 0x1b, 0x20, 0x6e, 0x43, 0x11, 0x2b, 0xdc, 0x07, 0x15, 0xce,
0x5e, 0xe2, 0xec, 0x77, 0x0a, 0xd9, 0xc5, 0xa4, 0x35, 0x84, 0x7f, 0xf2, 0xce, 0x13, 0x4a, 0x2c,
0x96, 0x5e, 0xeb, 0x25, 0x41, 0x5d, 0xd9, 0xc1, 0x14, 0x23, 0x4e, 0x04, 0x5f, 0x07, 0x35, 0x57,
0xa4, 0x5f, 0x2f, 0xdf, 0x50, 0x36, 0xcb, 0xad, 0x2b, 0x02, 0x55, 0x0b, 0xa7, 0x85, 0x22, 0x84,
0xfa, 0x17, 0x05, 0xac, 0xe5, 0xe7, 0xbd, 0xab, 0x7b, 0x14, 0xfe, 0x30, 0x37, 0x77, 0x6d, 0xba,
0xb9, 0xb3, 0x68, 0x3e, 0xf3, 0x68, 0xe0, 0xb0, 0x25, 0x31, 0xef, 0xf7, 0x41, 0x55, 0xa7, 0xc4,
0xf4, 0xea, 0xa5, 0x1b, 0xe5, 0xcd, 0x85, 0xbb, 0x37, 0xb5, 0x7c, 0x99, 0x6b, 0xf9, 0xc4, 0x5a,
0x8b, 0x82, 0xb2, 0xfa, 0x1e, 0x0b, 0x46, 0x01, 0x87, 0xfa, 0x1f, 0x05, 0xcc, 0xef, 0x60, 0x62,
0xda, 0xd6, 0x21, 0xa1, 0x97, 0xb0, 0x68, 0x6d, 0x50, 0xf1, 0x1c, 0xd2, 0x13, 0x8b, 0xf6, 0x15,
0x59, 0xee, 0x51, 0x3a, 0x87, 0x0e, 0xe9, 0xc5, 0x0b, 0xc5, 0x7e, 0x21, 0x1e, 0x0c, 0xdf, 0x07,
0xb3, 0x1e, 0xc5, 0xd4, 0xf7, 0xf8, 0x32, 0x2d, 0xdc, 0xfd, 0xea, 0xd9, 0x34, 0x1c, 0xda, 0x5a,
0x12, 0x44, 0xb3, 0xc1, 0x6f, 0x24, 0x28, 0xd4, 0x7f, 0x96, 0x00, 0x8c, 0xb0, 0x6d, 0xdb, 0xea,
0xeb, 0x94, 0xd5, 0xef, 0xdb, 0xa0, 0x42, 0x47, 0x0e, 0xe1, 0x8f, 0x61, 0xbe, 0x75, 0x33, 0xcc,
0xe2, 0xc1, 0xc8, 0x21, 0x9f, 0x9e, 0x6e, 0xac, 0xe5, 0x23, 0x58, 0x0f, 0xe2, 0x31, 0x70, 0x37,
0xca, 0xaf, 0xc4, 0xa3, 0xef, 0xa5, 0x87, 0xfe, 0xf4, 0x74, 0x43, 0x72, 0xae, 0x68, 0x11, 0x53,
0x3a, 0x41, 0x38, 0x04, 0xd0, 0xc0, 0x1e, 0x7d, 0xe0, 0x62, 0xcb, 0x0b, 0x46, 0xd2, 0x4d, 0x22,
0x66, 0xfe, 0xda, 0x74, 0xcb, 0xc3, 0x22, 0x5a, 0xd7, 0x44, 0x16, 0x70, 0x37, 0xc7, 0x86, 0x24,
0x23, 0xc0, 0x9b, 0x60, 0xd6, 0x25, 0xd8, 0xb3, 0xad, 0x7a, 0x85, 0xcf, 0x22, 0x7a, 0x80, 0x88,
0xb7, 0x22, 0xd1, 0x0b, 0x6f, 0x81, 0x39, 0x93, 0x78, 0x1e, 0x1e, 0x90, 0x7a, 0x95, 0x03, 0x97,
0x05, 0x70, 0xae, 0x13, 0x34, 0xa3, 0xb0, 0x5f, 0xfd, 0x9d, 0x02, 0x16, 0xa3, 0x27, 0x77, 0x09,
0x5b, 0xa5, 0x95, 0xde, 0x2a, 0xaf, 0x9c, 0x59, 0x27, 0x05, 0x3b, 0xe4, 0xc3, 0x72, 0x22, 0x67,
0x56, 0x84, 0xf0, 0x47, 0xa0, 0xe6, 0x11, 0x83, 0xf4, 0xa8, 0xed, 0x8a, 0x9c, 0xdf, 0x98, 0x32,
0x67, 0xdc, 0x25, 0xc6, 0xa1, 0x08, 0x6d, 0xbd, 0xc4, 0x92, 0x0e, 0x7f, 0xa1, 0x88, 0x12, 0x7e,
0x1f, 0xd4, 0x28, 0x31, 0x1d, 0x03, 0x53, 0x22, 0xb6, 0x49, 0xaa, 0xbe, 0x59, 0xb9, 0x30, 0xb2,
0x03, 0xbb, 0xff, 0x40, 0xc0, 0xf8, 0x46, 0x89, 0x9e, 0x43, 0xd8, 0x8a, 0x22, 0x1a, 0x78, 0x02,
0x96, 0x7c, 0xa7, 0xcf, 0x90, 0x94, 0x1d, 0xdd, 0x83, 0x91, 0x28, 0x9f, 0xdb, 0x67, 0x3e, 0x90,
0xa3, 0x54, 0x48, 0x6b, 0x4d, 0x0c, 0xb0, 0x94, 0x6e, 0x47, 0x19, 0x6a, 0xb8, 0x0d, 0x96, 0x4d,
0xdd, 0x42, 0x04, 0xf7, 0x47, 0x87, 0xa4, 0x67, 0x5b, 0x7d, 0x8f, 0x17, 0x50, 0xb5, 0xb5, 0x2e,
0x08, 0x96, 0x3b, 0xe9, 0x6e, 0x94, 0xc5, 0xc3, 0x5d, 0xb0, 0x1a, 0x9e, 0xb3, 0xdf, 0xd5, 0x3d,
0x6a, 0xbb, 0xa3, 0x5d, 0xdd, 0xd4, 0x69, 0x7d, 0x96, 0xf3, 0xd4, 0xc7, 0xa7, 0x1b, 0xab, 0x48,
0xd2, 0x8f, 0xa4, 0x51, 0xea, 0xaf, 0x66, 0xc1, 0x72, 0xe6, 0x34, 0x80, 0x0f, 0xc1, 0x5a, 0xcf,
0x77, 0x5d, 0x62, 0xd1, 0x3d, 0xdf, 0xec, 0x12, 0xf7, 0xb0, 0x77, 0x4c, 0xfa, 0xbe, 0x41, 0xfa,
0x7c, 0x45, 0xab, 0xad, 0x86, 0xc8, 0x75, 0xad, 0x2d, 0x45, 0xa1, 0x82, 0x68, 0xf8, 0x3d, 0x00,
0x2d, 0xde, 0xd4, 0xd1, 0x3d, 0x2f, 0xe2, 0x2c, 0x71, 0xce, 0x68, 0x03, 0xee, 0xe5, 0x10, 0x48,
0x12, 0xc5, 0x72, 0xec, 0x13, 0x4f, 0x77, 0x49, 0x3f, 0x9b, 0x63, 0x39, 0x9d, 0xe3, 0x8e, 0x14,
0x85, 0x0a, 0xa2, 0xe1, 0x9b, 0x60, 0x21, 0x18, 0x8d, 0x3f, 0x73, 0xb1, 0x38, 0x2b, 0x82, 0x6c,
0x61, 0x2f, 0xee, 0x42, 0x49, 0x1c, 0x9b, 0x9a, 0xdd, 0xf5, 0x88, 0x3b, 0x24, 0xfd, 0x77, 0x03,
0x0f, 0xc0, 0x84, 0xb2, 0xca, 0x85, 0x32, 0x9a, 0xda, 0x7e, 0x0e, 0x81, 0x24, 0x51, 0x6c, 0x6a,
0x41, 0xd5, 0xe4, 0xa6, 0x36, 0x9b, 0x9e, 0xda, 0x91, 0x14, 0x85, 0x0a, 0xa2, 0x59, 0xed, 0x05,
0x29, 0x6f, 0x0f, 0xb1, 0x6e, 0xe0, 0xae, 0x41, 0xea, 0x73, 0xe9, 0xda, 0xdb, 0x4b, 0x77, 0xa3,
0x2c, 0x1e, 0xbe, 0x0b, 0xae, 0x06, 0x4d, 0x47, 0x16, 0x8e, 0x48, 0x6a, 0x9c, 0xe4, 0x65, 0x41,
0x72, 0x75, 0x2f, 0x0b, 0x40, 0xf9, 0x18, 0xf8, 0x36, 0x58, 0xea, 0xd9, 0x86, 0xc1, 0xeb, 0xb1,
0x6d, 0xfb, 0x16, 0xad, 0xcf, 0x73, 0x16, 0xc8, 0xf6, 0x50, 0x3b, 0xd5, 0x83, 0x32, 0x48, 0xf8,
0x08, 0x80, 0x5e, 0x28, 0x07, 0x5e, 0x1d, 0x14, 0x0b, 0x7d, 0x5e, 0x87, 0x62, 0x01, 0x8e, 0x9a,
0x3c, 0x94, 0x60, 0x53, 0x3f, 0x54, 0xc0, 0x7a, 0xc1, 0x1e, 0x87, 0xdf, 0x4e, 0xa9, 0xde, 0xed,
0x8c, 0xea, 0x5d, 0x2f, 0x08, 0x4b, 0x48, 0x5f, 0x0f, 0x2c, 0x32, 0xdf, 0xa1, 0x5b, 0x83, 0x00,
0x22, 0x4e, 0xb0, 0xd7, 0x64, 0xb9, 0xa3, 0x24, 0x30, 0x3e, 0x86, 0xaf, 0x8e, 0x4f, 0x37, 0x16,
0x53, 0x7d, 0x28, 0xcd, 0xa9, 0xfe, 0xbc, 0x04, 0xc0, 0x0e, 0x71, 0x0c, 0x7b, 0x64, 0x12, 0xeb,
0x32, 0x5c, 0xcb, 0x4e, 0xca, 0xb5, 0xa8, 0xd2, 0x85, 0x88, 0xf2, 0x29, 0xb4, 0x2d, 0xbb, 0x19,
0xdb, 0xf2, 0xb5, 0x09, 0x3c, 0x67, 0xfb, 0x96, 0xbf, 0x97, 0xc1, 0x4a, 0x0c, 0x8e, 0x8d, 0xcb,
0xfd, 0xd4, 0x12, 0xbe, 0x9a, 0x59, 0xc2, 0x75, 0x49, 0xc8, 0x0b, 0x73, 0x2e, 0x9f, 0xbd, 0x83,
0x80, 0x1f, 0x80, 0x25, 0x66, 0x55, 0x82, 0x42, 0xe0, 0x46, 0x68, 0xf6, 0xdc, 0x46, 0x28, 0x12,
0xb2, 0xdd, 0x14, 0x13, 0xca, 0x30, 0x17, 0x18, 0xaf, 0xb9, 0x17, 0x6d, 0xbc, 0xd4, 0xdf, 0x2b,
0x60, 0x29, 0x5e, 0xa6, 0x4b, 0xb0, 0x49, 0xed, 0xb4, 0x4d, 0x6a, 0x9c, 0x5d, 0x97, 0x05, 0x3e,
0xe9, 0x6f, 0x95, 0x64, 0xd6, 0xdc, 0x28, 0x6d, 0xb2, 0x0b, 0x95, 0x63, 0xe8, 0x3d, 0xec, 0x09,
0x59, 0x7d, 0x29, 0xb8, 0x4c, 0x05, 0x6d, 0x28, 0xea, 0x4d, 0x59, 0xaa, 0xd2, 0x8b, 0xb5, 0x54,
0xe5, 0xcf, 0xc6, 0x52, 0x3d, 0x00, 0x35, 0x2f, 0x34, 0x53, 0x15, 0x4e, 0x79, 0x73, 0xd2, 0x76,
0x16, 0x3e, 0x2a, 0x62, 0x8d, 0x1c, 0x54, 0xc4, 0x24, 0xf3, 0x4e, 0xd5, 0xcf, 0xd3, 0x3b, 0xb1,
0x2d, 0xec, 0x60, 0xdf, 0x23, 0x7d, 0x5e, 0xf7, 0xb5, 0x78, 0x0b, 0x1f, 0xf0, 0x56, 0x24, 0x7a,
0xe1, 0x11, 0x58, 0x77, 0x5c, 0x7b, 0xe0, 0x12, 0xcf, 0xdb, 0x21, 0xb8, 0x6f, 0xe8, 0x16, 0x09,
0x27, 0x10, 0xa8, 0xde, 0xf5, 0xf1, 0xe9, 0xc6, 0xfa, 0x81, 0x1c, 0x82, 0x8a, 0x62, 0xd5, 0x3f,
0x55, 0xc0, 0x95, 0xec, 0x89, 0x58, 0x60, 0x44, 0x94, 0x0b, 0x19, 0x91, 0xd7, 0x13, 0x25, 0x1a,
0xb8, 0xb4, 0xc4, 0x9d, 0x3f, 0x57, 0xa6, 0xdb, 0x60, 0x59, 0x18, 0x8f, 0xb0, 0x53, 0x58, 0xb1,
0x68, 0x79, 0x8e, 0xd2, 0xdd, 0x28, 0x8b, 0x67, 0xf6, 0x22, 0x76, 0x0d, 0x21, 0x49, 0x25, 0x6d,
0x2f, 0xb6, 0xb3, 0x00, 0x94, 0x8f, 0x81, 0x1d, 0xb0, 0xe2, 0x5b, 0x79, 0xaa, 0xa0, 0x5c, 0xae,
0x0b, 0xaa, 0x95, 0xa3, 0x3c, 0x04, 0xc9, 0xe2, 0xe0, 0x0f, 0x52, 0x8e, 0x63, 0x96, 0x1f, 0x04,
0xaf, 0x9e, 0x5d, 0xd1, 0x53, 0x5b, 0x0e, 0x78, 0x1f, 0x2c, 0xba, 0xdc, 0x50, 0x86, 0x59, 0x06,
0xa6, 0xec, 0x4b, 0x22, 0x6c, 0x11, 0x25, 0x3b, 0x51, 0x1a, 0x2b, 0xf1, 0x51, 0xb5, 0x69, 0x7d,
0x94, 0xfa, 0x47, 0x05, 0xc0, 0xfc, 0x16, 0x9c, 0x78, 0xb9, 0xcf, 0x45, 0x24, 0x24, 0xb2, 0x2f,
0x77, 0x38, 0xb7, 0x27, 0x3b, 0x9c, 0xf8, 0x04, 0x9d, 0xce, 0xe2, 0x88, 0x27, 0x70, 0x39, 0x2f,
0x66, 0xa6, 0xb0, 0x38, 0x71, 0x3e, 0xcf, 0x67, 0x71, 0x12, 0x3c, 0x67, 0x5b, 0x9c, 0x7f, 0x95,
0xc0, 0x4a, 0x0c, 0x9e, 0xda, 0xe2, 0x48, 0x42, 0xfe, 0xff, 0x72, 0x66, 0xf2, 0xcb, 0x19, 0x66,
0x3b, 0xe2, 0x47, 0xf7, 0x3f, 0x62, 0x3b, 0xe2, 0x84, 0x0a, 0x6c, 0xc7, 0x6f, 0x4b, 0xc9, 0xac,
0xbf, 0xf0, 0xb6, 0xe3, 0xf9, 0x5f, 0xae, 0xa8, 0x7f, 0x2e, 0x83, 0x2b, 0xd9, 0x2d, 0x98, 0xd2,
0x41, 0x65, 0xa2, 0x0e, 0x1e, 0x80, 0xd5, 0xc7, 0xbe, 0x61, 0x8c, 0xf8, 0x63, 0x48, 0x88, 0x61,
0xa0, 0xa0, 0x5f, 0x16, 0x91, 0xab, 0xdf, 0x91, 0x60, 0x90, 0x34, 0xb2, 0x40, 0xd3, 0xcb, 0x17,
0xd2, 0xf4, 0x9c, 0xda, 0x54, 0xce, 0xa1, 0x36, 0x52, 0x7d, 0xae, 0x5e, 0x40, 0x9f, 0xa7, 0x16,
0x54, 0xc9, 0x71, 0x35, 0xf1, 0x0e, 0xff, 0x4b, 0x05, 0xac, 0xc9, 0xaf, 0xcf, 0xd0, 0x00, 0x4b,
0x26, 0x7e, 0x92, 0x7c, 0x79, 0x31, 0x49, 0x30, 0x7c, 0xaa, 0x1b, 0x5a, 0xf0, 0x75, 0x47, 0x7b,
0xcf, 0xa2, 0xfb, 0xee, 0x21, 0x75, 0x75, 0x6b, 0x10, 0x08, 0x6c, 0x27, 0xc5, 0x85, 0x32, 0xdc,
0xea, 0x27, 0x0a, 0x58, 0x2f, 0x50, 0xb9, 0xcb, 0xcd, 0x04, 0x3e, 0x02, 0x35, 0x13, 0x3f, 0x39,
0xf4, 0xdd, 0x41, 0x28, 0xc9, 0xe7, 0x1f, 0x87, 0x6f, 0xe4, 0x8e, 0x60, 0x41, 0x11, 0x9f, 0xba,
0x0f, 0x6e, 0xa4, 0x26, 0xc9, 0x36, 0x0d, 0x79, 0xec, 0x1b, 0x7c, 0xff, 0x08, 0x4f, 0x71, 0x1b,
0xcc, 0x3b, 0xd8, 0xa5, 0x7a, 0x64, 0x46, 0xab, 0xad, 0xc5, 0xf1, 0xe9, 0xc6, 0xfc, 0x41, 0xd8,
0x88, 0xe2, 0x7e, 0xf5, 0x17, 0x25, 0xb0, 0x90, 0x20, 0xb9, 0x04, 0x7d, 0x7f, 0x27, 0xa5, 0xef,
0xd2, 0x2f, 0x26, 0xc9, 0x59, 0x15, 0x09, 0x7c, 0x27, 0x23, 0xf0, 0x5f, 0x9f, 0x44, 0x74, 0xb6,
0xc2, 0xff, 0x41, 0x01, 0xcb, 0x09, 0xf4, 0x25, 0x88, 0xce, 0x4e, 0x5a, 0x74, 0x36, 0x26, 0xe4,
0x5f, 0xa0, 0x3a, 0x4f, 0xab, 0xa9, 0xbc, 0xbf, 0xf0, 0xb2, 0xf3, 0x53, 0xb0, 0x3a, 0xb4, 0x0d,
0xdf, 0x24, 0x6d, 0x03, 0xeb, 0x66, 0x08, 0x60, 0x27, 0x2b, 0x7b, 0x88, 0xb7, 0xa4, 0xf4, 0xc4,
0xf5, 0x74, 0x8f, 0x12, 0x8b, 0x3e, 0x8c, 0x23, 0x63, 0x6d, 0x78, 0x28, 0xa1, 0x43, 0xd2, 0x41,
0xe0, 0x9b, 0x60, 0x81, 0x9d, 0xf1, 0x7a, 0x8f, 0xec, 0x61, 0x33, 0xf4, 0x31, 0xd1, 0xfb, 0xea,
0xc3, 0xb8, 0x0b, 0x25, 0x71, 0xf0, 0x18, 0xac, 0x38, 0x76, 0xbf, 0x83, 0x2d, 0x3c, 0x20, 0xec,
0x3c, 0x3a, 0xe0, 0xdf, 0xe6, 0xf9, 0x3d, 0x78, 0xbe, 0xf5, 0x56, 0x78, 0x41, 0x3a, 0xc8, 0x43,
0x98, 0x87, 0x94, 0x34, 0x73, 0x0f, 0x29, 0xa3, 0x84, 0x66, 0xee, 0xf3, 0xca, 0x5c, 0xee, 0x9b,
0xb4, 0xac, 0xb8, 0x2e, 0xf8, 0x81, 0xa5, 0xe8, 0x86, 0x5f, 0xbb, 0xd0, 0xd7, 0x91, 0x5f, 0x57,
0xc0, 0xd5, 0xdc, 0x86, 0xfd, 0x1c, 0xef, 0xd8, 0x39, 0xf5, 0x2e, 0x9f, 0x43, 0xbd, 0xb7, 0xc1,
0xb2, 0xf8, 0x30, 0x93, 0x11, 0xff, 0xc8, 0x1e, 0xb5, 0xd3, 0xdd, 0x28, 0x8b, 0x97, 0xdd, 0xf1,
0xab, 0xe7, 0xbc, 0xe3, 0x27, 0xb3, 0x10, 0xff, 0x4f, 0x10, 0x54, 0x5d, 0x3e, 0x0b, 0xf1, 0x6f,
0x05, 0x59, 0x3c, 0xfc, 0x56, 0x58, 0x52, 0x11, 0xc3, 0x1c, 0x67, 0xc8, 0xd4, 0x48, 0x44, 0x90,
0x41, 0x3f, 0xcf, 0xc7, 0x07, 0xf5, 0xaf, 0x0a, 0x78, 0xb9, 0xb0, 0x4a, 0xe1, 0x76, 0xea, 0xf2,
0x75, 0x27, 0x73, 0xf9, 0x7a, 0xa5, 0x30, 0x30, 0x71, 0x05, 0x33, 0xe5, 0x57, 0xe8, 0x7b, 0x13,
0xaf, 0xd0, 0x12, 0xdd, 0x9d, 0x7c, 0x97, 0x6e, 0x6d, 0x3e, 0x7d, 0xd6, 0x98, 0xf9, 0xe8, 0x59,
0x63, 0xe6, 0xe3, 0x67, 0x8d, 0x99, 0x9f, 0x8d, 0x1b, 0xca, 0xd3, 0x71, 0x43, 0xf9, 0x68, 0xdc,
0x50, 0x3e, 0x1e, 0x37, 0x94, 0x7f, 0x8c, 0x1b, 0xca, 0x6f, 0x3e, 0x69, 0xcc, 0x3c, 0x2a, 0x0d,
0xb7, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x74, 0x8b, 0xc8, 0xc1, 0x6f, 0x24, 0x00, 0x00,
0x1d, 0x75, 0xcf, 0x87, 0x3d, 0x2e, 0xaf, 0xed, 0xdd, 0xb2, 0xb1, 0x27, 0xbb, 0x64, 0x66, 0x19,
0x60, 0xe3, 0xcd, 0x66, 0x7b, 0xf0, 0x66, 0x13, 0xa1, 0x2c, 0x02, 0x79, 0xc6, 0x21, 0x84, 0x78,
0x6c, 0x53, 0x5e, 0xef, 0x61, 0x09, 0x12, 0x35, 0x33, 0xb5, 0xe3, 0x8e, 0xfb, 0x4b, 0xdd, 0xd5,
0xc3, 0x8e, 0xb8, 0x20, 0x24, 0x38, 0x71, 0xe0, 0x3f, 0x41, 0x08, 0xc1, 0x0d, 0x45, 0x88, 0xcb,
0x5e, 0x90, 0x22, 0x2e, 0xe4, 0x64, 0xb1, 0x93, 0x13, 0x42, 0x39, 0x72, 0xc9, 0x05, 0x54, 0xd5,
0xd5, 0xdf, 0xd5, 0x9e, 0xb1, 0x37, 0xeb, 0xa0, 0x68, 0x6f, 0x9e, 0xaa, 0xf7, 0x7b, 0xfd, 0xab,
0xaa, 0x5f, 0xd5, 0x7b, 0x5d, 0x6d, 0x70, 0xef, 0xf8, 0xdb, 0xae, 0xaa, 0x59, 0xcd, 0x63, 0xaf,
0x4b, 0x1c, 0x93, 0x50, 0xe2, 0x36, 0x87, 0xc4, 0xec, 0x5b, 0x4e, 0x53, 0x74, 0x60, 0x5b, 0x6b,
0x62, 0xdb, 0x76, 0x9b, 0xc3, 0xcd, 0xe6, 0x80, 0x98, 0xc4, 0xc1, 0x94, 0xf4, 0x55, 0xdb, 0xb1,
0xa8, 0x05, 0xa1, 0x8f, 0x51, 0xb1, 0xad, 0xa9, 0x0c, 0xa3, 0x0e, 0x37, 0xaf, 0xde, 0x1e, 0x68,
0xf4, 0xc8, 0xeb, 0xaa, 0x3d, 0xcb, 0x68, 0x0e, 0xac, 0x81, 0xd5, 0xe4, 0xd0, 0xae, 0xf7, 0x88,
0xff, 0xe2, 0x3f, 0xf8, 0x5f, 0x3e, 0xc5, 0xd5, 0x46, 0xec, 0x31, 0x3d, 0xcb, 0x21, 0x92, 0xc7,
0x5c, 0xbd, 0x19, 0xc3, 0xd8, 0x96, 0xae, 0xf5, 0x46, 0xcd, 0xe1, 0x66, 0x97, 0x50, 0x9c, 0x85,
0xde, 0x8d, 0xa0, 0x06, 0xee, 0x1d, 0x69, 0x26, 0x71, 0x46, 0x4d, 0xfb, 0x78, 0xc0, 0x1a, 0xdc,
0xa6, 0x41, 0x28, 0x96, 0x3d, 0xa0, 0x99, 0x17, 0xe5, 0x78, 0x26, 0xd5, 0x0c, 0x92, 0x09, 0x78,
0x73, 0x52, 0x80, 0xdb, 0x3b, 0x22, 0x06, 0xce, 0xc4, 0xbd, 0x9e, 0x17, 0xe7, 0x51, 0x4d, 0x6f,
0x6a, 0x26, 0x75, 0xa9, 0x93, 0x0e, 0x6a, 0xfc, 0x47, 0x01, 0xb0, 0x6d, 0x99, 0xd4, 0xb1, 0x74,
0x9d, 0x38, 0x88, 0x0c, 0x35, 0x57, 0xb3, 0x4c, 0xf8, 0x53, 0x50, 0x61, 0xe3, 0xe9, 0x63, 0x8a,
0xab, 0xca, 0x75, 0x65, 0x63, 0xe1, 0xce, 0xb7, 0xd4, 0x68, 0x3d, 0x42, 0x7a, 0xd5, 0x3e, 0x1e,
0xb0, 0x06, 0x57, 0x65, 0x68, 0x75, 0xb8, 0xa9, 0xee, 0x75, 0x3f, 0x20, 0x3d, 0xda, 0x21, 0x14,
0xb7, 0xe0, 0x93, 0x93, 0xfa, 0xcc, 0xf8, 0xa4, 0x0e, 0xa2, 0x36, 0x14, 0xb2, 0xc2, 0x3d, 0x50,
0xe2, 0xec, 0x05, 0xce, 0x7e, 0x3b, 0x97, 0x5d, 0x0c, 0x5a, 0x45, 0xf8, 0x67, 0x6f, 0x3f, 0xa6,
0xc4, 0x64, 0xe9, 0xb5, 0x2e, 0x09, 0xea, 0xd2, 0x36, 0xa6, 0x18, 0x71, 0x22, 0xf8, 0x1a, 0xa8,
0x38, 0x22, 0xfd, 0x6a, 0xf1, 0xba, 0xb2, 0x51, 0x6c, 0x5d, 0x16, 0xa8, 0x4a, 0x30, 0x2c, 0x14,
0x22, 0x1a, 0x7f, 0x55, 0xc0, 0x5a, 0x76, 0xdc, 0x3b, 0x9a, 0x4b, 0xe1, 0xfb, 0x99, 0xb1, 0xab,
0xd3, 0x8d, 0x9d, 0x45, 0xf3, 0x91, 0x87, 0x0f, 0x0e, 0x5a, 0x62, 0xe3, 0x7e, 0x0f, 0x94, 0x35,
0x4a, 0x0c, 0xb7, 0x5a, 0xb8, 0x5e, 0xdc, 0x58, 0xb8, 0x73, 0x43, 0xcd, 0x96, 0xb9, 0x9a, 0x4d,
0xac, 0xb5, 0x28, 0x28, 0xcb, 0xef, 0xb2, 0x60, 0xe4, 0x73, 0x34, 0xfe, 0xab, 0x80, 0xf9, 0x6d,
0x4c, 0x0c, 0xcb, 0x3c, 0x20, 0xf4, 0x02, 0x16, 0xad, 0x0d, 0x4a, 0xae, 0x4d, 0x7a, 0x62, 0xd1,
0xbe, 0x26, 0xcb, 0x3d, 0x4c, 0xe7, 0xc0, 0x26, 0xbd, 0x68, 0xa1, 0xd8, 0x2f, 0xc4, 0x83, 0xe1,
0x7b, 0x60, 0xd6, 0xa5, 0x98, 0x7a, 0x2e, 0x5f, 0xa6, 0x85, 0x3b, 0x5f, 0x3f, 0x9d, 0x86, 0x43,
0x5b, 0x4b, 0x82, 0x68, 0xd6, 0xff, 0x8d, 0x04, 0x45, 0xe3, 0x5f, 0x05, 0x00, 0x43, 0x6c, 0xdb,
0x32, 0xfb, 0x1a, 0x65, 0xf5, 0xfb, 0x16, 0x28, 0xd1, 0x91, 0x4d, 0xf8, 0x34, 0xcc, 0xb7, 0x6e,
0x04, 0x59, 0xdc, 0x1f, 0xd9, 0xe4, 0xb3, 0x93, 0xfa, 0x5a, 0x36, 0x82, 0xf5, 0x20, 0x1e, 0x03,
0x77, 0xc2, 0xfc, 0x0a, 0x3c, 0xfa, 0x6e, 0xf2, 0xd1, 0x9f, 0x9d, 0xd4, 0x25, 0xe7, 0x8a, 0x1a,
0x32, 0x25, 0x13, 0x84, 0x43, 0x00, 0x75, 0xec, 0xd2, 0xfb, 0x0e, 0x36, 0x5d, 0xff, 0x49, 0x9a,
0x41, 0xc4, 0xc8, 0x5f, 0x9d, 0x6e, 0x79, 0x58, 0x44, 0xeb, 0xaa, 0xc8, 0x02, 0xee, 0x64, 0xd8,
0x90, 0xe4, 0x09, 0xf0, 0x06, 0x98, 0x75, 0x08, 0x76, 0x2d, 0xb3, 0x5a, 0xe2, 0xa3, 0x08, 0x27,
0x10, 0xf1, 0x56, 0x24, 0x7a, 0xe1, 0x4d, 0x30, 0x67, 0x10, 0xd7, 0xc5, 0x03, 0x52, 0x2d, 0x73,
0xe0, 0xb2, 0x00, 0xce, 0x75, 0xfc, 0x66, 0x14, 0xf4, 0x37, 0x7e, 0xaf, 0x80, 0xc5, 0x70, 0xe6,
0x2e, 0x60, 0xab, 0xb4, 0x92, 0x5b, 0xe5, 0xe5, 0x53, 0xeb, 0x24, 0x67, 0x87, 0x7c, 0x58, 0x8c,
0xe5, 0xcc, 0x8a, 0x10, 0xfe, 0x04, 0x54, 0x5c, 0xa2, 0x93, 0x1e, 0xb5, 0x1c, 0x91, 0xf3, 0xeb,
0x53, 0xe6, 0x8c, 0xbb, 0x44, 0x3f, 0x10, 0xa1, 0xad, 0x4b, 0x2c, 0xe9, 0xe0, 0x17, 0x0a, 0x29,
0xe1, 0x8f, 0x40, 0x85, 0x12, 0xc3, 0xd6, 0x31, 0x25, 0x62, 0x9b, 0x24, 0xea, 0x9b, 0x95, 0x0b,
0x23, 0xdb, 0xb7, 0xfa, 0xf7, 0x05, 0x8c, 0x6f, 0x94, 0x70, 0x1e, 0x82, 0x56, 0x14, 0xd2, 0xc0,
0x63, 0xb0, 0xe4, 0xd9, 0x7d, 0x86, 0xa4, 0xec, 0xe8, 0x1e, 0x8c, 0x44, 0xf9, 0xdc, 0x3a, 0x75,
0x42, 0x0e, 0x13, 0x21, 0xad, 0x35, 0xf1, 0x80, 0xa5, 0x64, 0x3b, 0x4a, 0x51, 0xc3, 0x2d, 0xb0,
0x6c, 0x68, 0x26, 0x22, 0xb8, 0x3f, 0x3a, 0x20, 0x3d, 0xcb, 0xec, 0xbb, 0xbc, 0x80, 0xca, 0xad,
0x75, 0x41, 0xb0, 0xdc, 0x49, 0x76, 0xa3, 0x34, 0x1e, 0xee, 0x80, 0xd5, 0xe0, 0x9c, 0xfd, 0x81,
0xe6, 0x52, 0xcb, 0x19, 0xed, 0x68, 0x86, 0x46, 0xab, 0xb3, 0x9c, 0xa7, 0x3a, 0x3e, 0xa9, 0xaf,
0x22, 0x49, 0x3f, 0x92, 0x46, 0x35, 0x7e, 0x33, 0x0b, 0x96, 0x53, 0xa7, 0x01, 0x7c, 0x00, 0xd6,
0x7a, 0x9e, 0xe3, 0x10, 0x93, 0xee, 0x7a, 0x46, 0x97, 0x38, 0x07, 0xbd, 0x23, 0xd2, 0xf7, 0x74,
0xd2, 0xe7, 0x2b, 0x5a, 0x6e, 0xd5, 0x44, 0xae, 0x6b, 0x6d, 0x29, 0x0a, 0xe5, 0x44, 0xc3, 0x1f,
0x02, 0x68, 0xf2, 0xa6, 0x8e, 0xe6, 0xba, 0x21, 0x67, 0x81, 0x73, 0x86, 0x1b, 0x70, 0x37, 0x83,
0x40, 0x92, 0x28, 0x96, 0x63, 0x9f, 0xb8, 0x9a, 0x43, 0xfa, 0xe9, 0x1c, 0x8b, 0xc9, 0x1c, 0xb7,
0xa5, 0x28, 0x94, 0x13, 0x0d, 0xdf, 0x00, 0x0b, 0xfe, 0xd3, 0xf8, 0x9c, 0x8b, 0xc5, 0x59, 0x11,
0x64, 0x0b, 0xbb, 0x51, 0x17, 0x8a, 0xe3, 0xd8, 0xd0, 0xac, 0xae, 0x4b, 0x9c, 0x21, 0xe9, 0xbf,
0xe3, 0x7b, 0x00, 0x26, 0x94, 0x65, 0x2e, 0x94, 0xe1, 0xd0, 0xf6, 0x32, 0x08, 0x24, 0x89, 0x62,
0x43, 0xf3, 0xab, 0x26, 0x33, 0xb4, 0xd9, 0xe4, 0xd0, 0x0e, 0xa5, 0x28, 0x94, 0x13, 0xcd, 0x6a,
0xcf, 0x4f, 0x79, 0x6b, 0x88, 0x35, 0x1d, 0x77, 0x75, 0x52, 0x9d, 0x4b, 0xd6, 0xde, 0x6e, 0xb2,
0x1b, 0xa5, 0xf1, 0xf0, 0x1d, 0x70, 0xc5, 0x6f, 0x3a, 0x34, 0x71, 0x48, 0x52, 0xe1, 0x24, 0x2f,
0x09, 0x92, 0x2b, 0xbb, 0x69, 0x00, 0xca, 0xc6, 0xc0, 0xb7, 0xc0, 0x52, 0xcf, 0xd2, 0x75, 0x5e,
0x8f, 0x6d, 0xcb, 0x33, 0x69, 0x75, 0x9e, 0xb3, 0x40, 0xb6, 0x87, 0xda, 0x89, 0x1e, 0x94, 0x42,
0xc2, 0x87, 0x00, 0xf4, 0x02, 0x39, 0x70, 0xab, 0x20, 0x5f, 0xe8, 0xb3, 0x3a, 0x14, 0x09, 0x70,
0xd8, 0xe4, 0xa2, 0x18, 0x5b, 0xe3, 0x43, 0x05, 0xac, 0xe7, 0xec, 0x71, 0xf8, 0xbd, 0x84, 0xea,
0xdd, 0x4a, 0xa9, 0xde, 0xb5, 0x9c, 0xb0, 0x98, 0xf4, 0xf5, 0xc0, 0x22, 0xf3, 0x1d, 0x9a, 0x39,
0xf0, 0x21, 0xe2, 0x04, 0x7b, 0x55, 0x96, 0x3b, 0x8a, 0x03, 0xa3, 0x63, 0xf8, 0xca, 0xf8, 0xa4,
0xbe, 0x98, 0xe8, 0x43, 0x49, 0xce, 0xc6, 0x2f, 0x0b, 0x00, 0x6c, 0x13, 0x5b, 0xb7, 0x46, 0x06,
0x31, 0x2f, 0xc2, 0xb5, 0x6c, 0x27, 0x5c, 0x4b, 0x43, 0xba, 0x10, 0x61, 0x3e, 0xb9, 0xb6, 0x65,
0x27, 0x65, 0x5b, 0xbe, 0x31, 0x81, 0xe7, 0x74, 0xdf, 0xf2, 0x8f, 0x22, 0x58, 0x89, 0xc0, 0x91,
0x71, 0xb9, 0x97, 0x58, 0xc2, 0x57, 0x52, 0x4b, 0xb8, 0x2e, 0x09, 0x79, 0x6e, 0xce, 0xe5, 0xf3,
0x77, 0x10, 0xf0, 0x03, 0xb0, 0xc4, 0xac, 0x8a, 0x5f, 0x08, 0xdc, 0x08, 0xcd, 0x9e, 0xd9, 0x08,
0x85, 0x42, 0xb6, 0x93, 0x60, 0x42, 0x29, 0xe6, 0x1c, 0xe3, 0x35, 0xf7, 0xbc, 0x8d, 0x57, 0xe3,
0x0f, 0x0a, 0x58, 0x8a, 0x96, 0xe9, 0x02, 0x6c, 0x52, 0x3b, 0x69, 0x93, 0x6a, 0xa7, 0xd7, 0x65,
0x8e, 0x4f, 0xfa, 0x7b, 0x29, 0x9e, 0x35, 0x37, 0x4a, 0x1b, 0xec, 0x85, 0xca, 0xd6, 0xb5, 0x1e,
0x76, 0x85, 0xac, 0x5e, 0xf2, 0x5f, 0xa6, 0xfc, 0x36, 0x14, 0xf6, 0x26, 0x2c, 0x55, 0xe1, 0xf9,
0x5a, 0xaa, 0xe2, 0xe7, 0x63, 0xa9, 0xee, 0x83, 0x8a, 0x1b, 0x98, 0xa9, 0x12, 0xa7, 0xbc, 0x31,
0x69, 0x3b, 0x0b, 0x1f, 0x15, 0xb2, 0x86, 0x0e, 0x2a, 0x64, 0x92, 0x79, 0xa7, 0xf2, 0x17, 0xe9,
0x9d, 0xd8, 0x16, 0xb6, 0xb1, 0xe7, 0x92, 0x3e, 0xaf, 0xfb, 0x4a, 0xb4, 0x85, 0xf7, 0x79, 0x2b,
0x12, 0xbd, 0xf0, 0x10, 0xac, 0xdb, 0x8e, 0x35, 0x70, 0x88, 0xeb, 0x6e, 0x13, 0xdc, 0xd7, 0x35,
0x93, 0x04, 0x03, 0xf0, 0x55, 0xef, 0xda, 0xf8, 0xa4, 0xbe, 0xbe, 0x2f, 0x87, 0xa0, 0xbc, 0xd8,
0xc6, 0x9f, 0x4b, 0xe0, 0x72, 0xfa, 0x44, 0xcc, 0x31, 0x22, 0xca, 0xb9, 0x8c, 0xc8, 0x6b, 0xb1,
0x12, 0xf5, 0x5d, 0x5a, 0xec, 0x9d, 0x3f, 0x53, 0xa6, 0x5b, 0x60, 0x59, 0x18, 0x8f, 0xa0, 0x53,
0x58, 0xb1, 0x70, 0x79, 0x0e, 0x93, 0xdd, 0x28, 0x8d, 0x67, 0xf6, 0x22, 0x72, 0x0d, 0x01, 0x49,
0x29, 0x69, 0x2f, 0xb6, 0xd2, 0x00, 0x94, 0x8d, 0x81, 0x1d, 0xb0, 0xe2, 0x99, 0x59, 0x2a, 0xbf,
0x5c, 0xae, 0x09, 0xaa, 0x95, 0xc3, 0x2c, 0x04, 0xc9, 0xe2, 0xe0, 0x8f, 0x13, 0x8e, 0x63, 0x96,
0x1f, 0x04, 0xaf, 0x9c, 0x5e, 0xd1, 0x53, 0x5b, 0x0e, 0x78, 0x0f, 0x2c, 0x3a, 0xdc, 0x50, 0x06,
0x59, 0xfa, 0xa6, 0xec, 0x2b, 0x22, 0x6c, 0x11, 0xc5, 0x3b, 0x51, 0x12, 0x2b, 0xf1, 0x51, 0x95,
0x69, 0x7d, 0x54, 0xe3, 0x4f, 0x0a, 0x80, 0xd9, 0x2d, 0x38, 0xf1, 0xe5, 0x3e, 0x13, 0x11, 0x93,
0xc8, 0xbe, 0xdc, 0xe1, 0xdc, 0x9a, 0xec, 0x70, 0xa2, 0x13, 0x74, 0x3a, 0x8b, 0x23, 0x66, 0xe0,
0x62, 0x2e, 0x66, 0xa6, 0xb0, 0x38, 0x51, 0x3e, 0xcf, 0x66, 0x71, 0x62, 0x3c, 0xa7, 0x5b, 0x9c,
0x7f, 0x17, 0xc0, 0x4a, 0x04, 0x9e, 0xda, 0xe2, 0x48, 0x42, 0x5e, 0x5c, 0xce, 0x4c, 0xbe, 0x9c,
0x61, 0xb6, 0x23, 0x9a, 0xba, 0xff, 0x13, 0xdb, 0x11, 0x25, 0x94, 0x63, 0x3b, 0x7e, 0x57, 0x88,
0x67, 0xfd, 0xa5, 0xb7, 0x1d, 0xcf, 0x7e, 0xb9, 0xd2, 0xf8, 0x4b, 0x11, 0x5c, 0x4e, 0x6f, 0xc1,
0x84, 0x0e, 0x2a, 0x13, 0x75, 0x70, 0x1f, 0xac, 0x3e, 0xf2, 0x74, 0x7d, 0xc4, 0xa7, 0x21, 0x26,
0x86, 0xbe, 0x82, 0x7e, 0x55, 0x44, 0xae, 0x7e, 0x5f, 0x82, 0x41, 0xd2, 0xc8, 0x1c, 0x4d, 0x2f,
0x9e, 0x4b, 0xd3, 0x33, 0x6a, 0x53, 0x3a, 0x83, 0xda, 0x48, 0xf5, 0xb9, 0x7c, 0x0e, 0x7d, 0x9e,
0x5a, 0x50, 0x25, 0xc7, 0xd5, 0xc4, 0x77, 0xf8, 0x5f, 0x2b, 0x60, 0x4d, 0xfe, 0xfa, 0x0c, 0x75,
0xb0, 0x64, 0xe0, 0xc7, 0xf1, 0xcb, 0x8b, 0x49, 0x82, 0xe1, 0x51, 0x4d, 0x57, 0xfd, 0xaf, 0x3b,
0xea, 0xbb, 0x26, 0xdd, 0x73, 0x0e, 0xa8, 0xa3, 0x99, 0x03, 0x5f, 0x60, 0x3b, 0x09, 0x2e, 0x94,
0xe2, 0x6e, 0x7c, 0xa2, 0x80, 0xf5, 0x1c, 0x95, 0xbb, 0xd8, 0x4c, 0xe0, 0x43, 0x50, 0x31, 0xf0,
0xe3, 0x03, 0xcf, 0x19, 0x04, 0x92, 0x7c, 0xf6, 0xe7, 0xf0, 0x8d, 0xdc, 0x11, 0x2c, 0x28, 0xe4,
0x6b, 0xec, 0x81, 0xeb, 0x89, 0x41, 0xb2, 0x4d, 0x43, 0x1e, 0x79, 0x3a, 0xdf, 0x3f, 0xc2, 0x53,
0xdc, 0x02, 0xf3, 0x36, 0x76, 0xa8, 0x16, 0x9a, 0xd1, 0x72, 0x6b, 0x71, 0x7c, 0x52, 0x9f, 0xdf,
0x0f, 0x1a, 0x51, 0xd4, 0xdf, 0xf8, 0x55, 0x01, 0x2c, 0xc4, 0x48, 0x2e, 0x40, 0xdf, 0xdf, 0x4e,
0xe8, 0xbb, 0xf4, 0x8b, 0x49, 0x7c, 0x54, 0x79, 0x02, 0xdf, 0x49, 0x09, 0xfc, 0x37, 0x27, 0x11,
0x9d, 0xae, 0xf0, 0x9f, 0x16, 0xc0, 0x6a, 0x0c, 0x1d, 0x49, 0xfc, 0x77, 0x12, 0x12, 0xbf, 0x91,
0x92, 0xf8, 0xaa, 0x2c, 0xe6, 0x85, 0xc6, 0x4f, 0xd6, 0xf8, 0x3f, 0x2a, 0x60, 0x39, 0x36, 0x77,
0x17, 0x20, 0xf2, 0xdb, 0x49, 0x91, 0xaf, 0x4f, 0xa8, 0x97, 0x1c, 0x95, 0x7f, 0x52, 0x4e, 0xe4,
0xfd, 0xa5, 0x97, 0xf9, 0x9f, 0x83, 0xd5, 0xa1, 0xa5, 0x7b, 0x06, 0x69, 0xeb, 0x58, 0x33, 0x02,
0x00, 0x53, 0x32, 0x36, 0x89, 0x37, 0xa5, 0xf4, 0xc4, 0x71, 0x35, 0x97, 0x12, 0x93, 0x3e, 0x88,
0x22, 0x23, 0x2d, 0x7e, 0x20, 0xa1, 0x43, 0xd2, 0x87, 0xc0, 0x37, 0xc0, 0x02, 0xd3, 0x54, 0xad,
0x47, 0x76, 0xb1, 0x11, 0xd4, 0x54, 0xf8, 0x7d, 0xe0, 0x20, 0xea, 0x42, 0x71, 0x1c, 0x3c, 0x02,
0x2b, 0xb6, 0xd5, 0xef, 0x60, 0x13, 0x0f, 0x08, 0x3b, 0xff, 0xf7, 0xf9, 0xff, 0x42, 0xf0, 0x7b,
0x87, 0xf9, 0xd6, 0x9b, 0xc1, 0x0b, 0xe9, 0x7e, 0x16, 0xc2, 0x3c, 0xbb, 0xa4, 0x99, 0xef, 0x67,
0x19, 0x25, 0x34, 0x32, 0x9f, 0xb3, 0xe6, 0x32, 0xff, 0x03, 0x20, 0x2b, 0xae, 0x73, 0x7e, 0xd0,
0xca, 0xbb, 0x51, 0xa9, 0x9c, 0xeb, 0x6b, 0xd4, 0xa7, 0x25, 0x70, 0x25, 0x73, 0x40, 0x7e, 0x81,
0x77, 0x1a, 0x19, 0xb7, 0x54, 0x3c, 0x83, 0x5b, 0xda, 0x02, 0xcb, 0xe2, 0x43, 0x58, 0xca, 0x6c,
0x85, 0x76, 0xb4, 0x9d, 0xec, 0x46, 0x69, 0xbc, 0xec, 0x4e, 0xa5, 0x7c, 0xc6, 0x3b, 0x95, 0x78,
0x16, 0xe2, 0xff, 0x37, 0xfc, 0xaa, 0xcb, 0x66, 0x21, 0xfe, 0x8d, 0x23, 0x8d, 0x87, 0xdf, 0x0d,
0x4a, 0x2a, 0x64, 0x98, 0xe3, 0x0c, 0xa9, 0x1a, 0x09, 0x09, 0x52, 0xe8, 0x67, 0xfa, 0xd8, 0xf3,
0xbe, 0xe4, 0x63, 0xcf, 0xc6, 0x84, 0x52, 0x9e, 0xde, 0x2a, 0xfe, 0x4d, 0x01, 0x2f, 0xe5, 0xee,
0x01, 0xb8, 0x95, 0xd0, 0xd9, 0xdb, 0x29, 0x9d, 0x7d, 0x39, 0x37, 0x30, 0x26, 0xb6, 0x86, 0xfc,
0x42, 0xe4, 0xee, 0xc4, 0x0b, 0x11, 0x89, 0x8b, 0x9a, 0x7c, 0x33, 0xd2, 0xda, 0x78, 0xf2, 0xb4,
0x36, 0xf3, 0xd1, 0xd3, 0xda, 0xcc, 0xc7, 0x4f, 0x6b, 0x33, 0xbf, 0x18, 0xd7, 0x94, 0x27, 0xe3,
0x9a, 0xf2, 0xd1, 0xb8, 0xa6, 0x7c, 0x3c, 0xae, 0x29, 0xff, 0x1c, 0xd7, 0x94, 0xdf, 0x7e, 0x52,
0x9b, 0x79, 0x58, 0x18, 0x6e, 0xfe, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x70, 0x5f, 0xbf, 0x58, 0x3d,
0x26, 0x00, 0x00,
}

View File

@ -555,6 +555,27 @@ message StatefulSet {
optional StatefulSetStatus status = 3;
}
// StatefulSetCondition describes the state of a statefulset at a certain point.
message StatefulSetCondition {
// Type of statefulset condition.
optional string type = 1;
// Status of the condition, one of True, False, Unknown.
optional string status = 2;
// Last time the condition transitioned from one status to another.
// +optional
optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
// The reason for the condition's last transition.
// +optional
optional string reason = 4;
// A human readable message indicating details about the transition.
// +optional
optional string message = 5;
}
// StatefulSetList is a collection of StatefulSets.
message StatefulSetList {
// +optional
@ -659,6 +680,12 @@ message StatefulSetStatus {
// newest ControllerRevision.
// +optional
optional int32 collisionCount = 9;
// Represents the latest available observations of a statefulset's current state.
// +optional
// +patchMergeKey=type
// +patchStrategy=merge
repeated StatefulSetCondition conditions = 10;
}
// StatefulSetUpdateStrategy indicates the strategy that the StatefulSet

View File

@ -206,6 +206,31 @@ type StatefulSetStatus struct {
// newest ControllerRevision.
// +optional
CollisionCount *int32 `json:"collisionCount,omitempty" protobuf:"varint,9,opt,name=collisionCount"`
// Represents the latest available observations of a statefulset's current state.
// +optional
// +patchMergeKey=type
// +patchStrategy=merge
Conditions []StatefulSetCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,10,rep,name=conditions"`
}
type StatefulSetConditionType string
// StatefulSetCondition describes the state of a statefulset at a certain point.
type StatefulSetCondition struct {
// Type of statefulset condition.
Type StatefulSetConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=StatefulSetConditionType"`
// Status of the condition, one of True, False, Unknown.
Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
// Last time the condition transitioned from one status to another.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
// The reason for the condition's last transition.
// +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// A human readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

View File

@ -298,6 +298,19 @@ func (StatefulSet) SwaggerDoc() map[string]string {
return map_StatefulSet
}
var map_StatefulSetCondition = map[string]string{
"": "StatefulSetCondition describes the state of a statefulset at a certain point.",
"type": "Type of statefulset condition.",
"status": "Status of the condition, one of True, False, Unknown.",
"lastTransitionTime": "Last time the condition transitioned from one status to another.",
"reason": "The reason for the condition's last transition.",
"message": "A human readable message indicating details about the transition.",
}
func (StatefulSetCondition) SwaggerDoc() map[string]string {
return map_StatefulSetCondition
}
var map_StatefulSetList = map[string]string{
"": "StatefulSetList is a collection of StatefulSets.",
}
@ -332,6 +345,7 @@ var map_StatefulSetStatus = map[string]string{
"currentRevision": "currentRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas).",
"updateRevision": "updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)",
"collisionCount": "collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.",
"conditions": "Represents the latest available observations of a statefulset's current state.",
}
func (StatefulSetStatus) SwaggerDoc() map[string]string {

View File

@ -131,6 +131,10 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
in.(*StatefulSet).DeepCopyInto(out.(*StatefulSet))
return nil
}, InType: reflect.TypeOf(&StatefulSet{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*StatefulSetCondition).DeepCopyInto(out.(*StatefulSetCondition))
return nil
}, InType: reflect.TypeOf(&StatefulSetCondition{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*StatefulSetList).DeepCopyInto(out.(*StatefulSetList))
return nil
@ -828,6 +832,23 @@ func (in *StatefulSet) DeepCopyObject() runtime.Object {
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StatefulSetCondition) DeepCopyInto(out *StatefulSetCondition) {
*out = *in
in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulSetCondition.
func (in *StatefulSetCondition) DeepCopy() *StatefulSetCondition {
if in == nil {
return nil
}
out := new(StatefulSetCondition)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StatefulSetList) DeepCopyInto(out *StatefulSetList) {
*out = *in
@ -926,6 +947,13 @@ func (in *StatefulSetStatus) DeepCopyInto(out *StatefulSetStatus) {
**out = **in
}
}
if in.Conditions != nil {
in, out := &in.Conditions, &out.Conditions
*out = make([]StatefulSetCondition, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
return
}

View File

@ -41,6 +41,7 @@ limitations under the License.
ScaleSpec
ScaleStatus
StatefulSet
StatefulSetCondition
StatefulSetList
StatefulSetSpec
StatefulSetStatus
@ -144,22 +145,26 @@ func (m *StatefulSet) Reset() { *m = StatefulSet{} }
func (*StatefulSet) ProtoMessage() {}
func (*StatefulSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} }
func (m *StatefulSetCondition) Reset() { *m = StatefulSetCondition{} }
func (*StatefulSetCondition) ProtoMessage() {}
func (*StatefulSetCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} }
func (m *StatefulSetList) Reset() { *m = StatefulSetList{} }
func (*StatefulSetList) ProtoMessage() {}
func (*StatefulSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} }
func (*StatefulSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} }
func (m *StatefulSetSpec) Reset() { *m = StatefulSetSpec{} }
func (*StatefulSetSpec) ProtoMessage() {}
func (*StatefulSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} }
func (*StatefulSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} }
func (m *StatefulSetStatus) Reset() { *m = StatefulSetStatus{} }
func (*StatefulSetStatus) ProtoMessage() {}
func (*StatefulSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} }
func (*StatefulSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{19} }
func (m *StatefulSetUpdateStrategy) Reset() { *m = StatefulSetUpdateStrategy{} }
func (*StatefulSetUpdateStrategy) ProtoMessage() {}
func (*StatefulSetUpdateStrategy) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{19}
return fileDescriptorGenerated, []int{20}
}
func init() {
@ -179,6 +184,7 @@ func init() {
proto.RegisterType((*ScaleSpec)(nil), "k8s.io.api.apps.v1beta1.ScaleSpec")
proto.RegisterType((*ScaleStatus)(nil), "k8s.io.api.apps.v1beta1.ScaleStatus")
proto.RegisterType((*StatefulSet)(nil), "k8s.io.api.apps.v1beta1.StatefulSet")
proto.RegisterType((*StatefulSetCondition)(nil), "k8s.io.api.apps.v1beta1.StatefulSetCondition")
proto.RegisterType((*StatefulSetList)(nil), "k8s.io.api.apps.v1beta1.StatefulSetList")
proto.RegisterType((*StatefulSetSpec)(nil), "k8s.io.api.apps.v1beta1.StatefulSetSpec")
proto.RegisterType((*StatefulSetStatus)(nil), "k8s.io.api.apps.v1beta1.StatefulSetStatus")
@ -840,6 +846,48 @@ func (m *StatefulSet) MarshalTo(dAtA []byte) (int, error) {
return i, nil
}
func (m *StatefulSetCondition) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA)
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *StatefulSetCondition) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
i += copy(dAtA[i:], m.Type)
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Status)))
i += copy(dAtA[i:], m.Status)
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size()))
n24, err := m.LastTransitionTime.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n24
dAtA[i] = 0x22
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason)))
i += copy(dAtA[i:], m.Reason)
dAtA[i] = 0x2a
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message)))
i += copy(dAtA[i:], m.Message)
return i, nil
}
func (m *StatefulSetList) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@ -858,11 +906,11 @@ func (m *StatefulSetList) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
n24, err := m.ListMeta.MarshalTo(dAtA[i:])
n25, err := m.ListMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n24
i += n25
if len(m.Items) > 0 {
for _, msg := range m.Items {
dAtA[i] = 0x12
@ -902,20 +950,20 @@ func (m *StatefulSetSpec) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
n25, err := m.Selector.MarshalTo(dAtA[i:])
n26, err := m.Selector.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n25
i += n26
}
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size()))
n26, err := m.Template.MarshalTo(dAtA[i:])
n27, err := m.Template.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n26
i += n27
if len(m.VolumeClaimTemplates) > 0 {
for _, msg := range m.VolumeClaimTemplates {
dAtA[i] = 0x22
@ -939,11 +987,11 @@ func (m *StatefulSetSpec) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x3a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.UpdateStrategy.Size()))
n27, err := m.UpdateStrategy.MarshalTo(dAtA[i:])
n28, err := m.UpdateStrategy.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n27
i += n28
if m.RevisionHistoryLimit != nil {
dAtA[i] = 0x40
i++
@ -997,6 +1045,18 @@ func (m *StatefulSetStatus) MarshalTo(dAtA []byte) (int, error) {
i++
i = encodeVarintGenerated(dAtA, i, uint64(*m.CollisionCount))
}
if len(m.Conditions) > 0 {
for _, msg := range m.Conditions {
dAtA[i] = 0x52
i++
i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
n, err := msg.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n
}
}
return i, nil
}
@ -1023,11 +1083,11 @@ func (m *StatefulSetUpdateStrategy) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.RollingUpdate.Size()))
n28, err := m.RollingUpdate.MarshalTo(dAtA[i:])
n29, err := m.RollingUpdate.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n28
i += n29
}
return i, nil
}
@ -1286,6 +1346,22 @@ func (m *StatefulSet) Size() (n int) {
return n
}
func (m *StatefulSetCondition) Size() (n int) {
var l int
_ = l
l = len(m.Type)
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Status)
n += 1 + l + sovGenerated(uint64(l))
l = m.LastTransitionTime.Size()
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Reason)
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Message)
n += 1 + l + sovGenerated(uint64(l))
return n
}
func (m *StatefulSetList) Size() (n int) {
var l int
_ = l
@ -1347,6 +1423,12 @@ func (m *StatefulSetStatus) Size() (n int) {
if m.CollisionCount != nil {
n += 1 + sovGenerated(uint64(*m.CollisionCount))
}
if len(m.Conditions) > 0 {
for _, e := range m.Conditions {
l = e.Size()
n += 1 + l + sovGenerated(uint64(l))
}
}
return n
}
@ -1591,6 +1673,20 @@ func (this *StatefulSet) String() string {
}, "")
return s
}
func (this *StatefulSetCondition) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&StatefulSetCondition{`,
`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
`Status:` + fmt.Sprintf("%v", this.Status) + `,`,
`LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`,
`Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
`Message:` + fmt.Sprintf("%v", this.Message) + `,`,
`}`,
}, "")
return s
}
func (this *StatefulSetList) String() string {
if this == nil {
return "nil"
@ -1632,6 +1728,7 @@ func (this *StatefulSetStatus) String() string {
`CurrentRevision:` + fmt.Sprintf("%v", this.CurrentRevision) + `,`,
`UpdateRevision:` + fmt.Sprintf("%v", this.UpdateRevision) + `,`,
`CollisionCount:` + valueToStringGenerated(this.CollisionCount) + `,`,
`Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "StatefulSetCondition", "StatefulSetCondition", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
@ -4017,6 +4114,202 @@ func (m *StatefulSet) Unmarshal(dAtA []byte) error {
}
return nil
}
func (m *StatefulSetCondition) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: StatefulSetCondition: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: StatefulSetCondition: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Type", 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.Type = StatefulSetConditionType(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Status", 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.Status = k8s_io_api_core_v1.ConditionStatus(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", 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 err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Reason", 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.Reason = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 5:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Message", 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.Message = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthGenerated
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *StatefulSetList) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@ -4603,6 +4896,37 @@ func (m *StatefulSetStatus) Unmarshal(dAtA []byte) error {
}
}
m.CollisionCount = &v
case 10:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Conditions", 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
}
m.Conditions = append(m.Conditions, StatefulSetCondition{})
if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@ -4846,119 +5170,122 @@ func init() {
}
var fileDescriptorGenerated = []byte{
// 1820 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0x4b, 0x6f, 0x1b, 0xc9,
0x11, 0xd6, 0x50, 0xa4, 0x44, 0xb6, 0x56, 0x94, 0xd5, 0x52, 0x24, 0xae, 0x36, 0xa1, 0x04, 0x66,
0xb1, 0x2b, 0xef, 0xae, 0x86, 0x6b, 0xd9, 0x31, 0xfc, 0x00, 0x8c, 0x88, 0x94, 0x63, 0xcb, 0x90,
0x22, 0xb9, 0x29, 0x39, 0x88, 0x93, 0x00, 0x6e, 0x0e, 0xdb, 0xd4, 0x58, 0xf3, 0xc2, 0x4c, 0x0f,
0x63, 0x22, 0x97, 0xdc, 0x13, 0xc0, 0x39, 0xe7, 0x57, 0xe4, 0x18, 0x24, 0xb7, 0x9c, 0x74, 0x09,
0x60, 0xe4, 0x12, 0x9f, 0x84, 0x98, 0xbe, 0xe6, 0x9a, 0x8b, 0x81, 0x00, 0x41, 0xf7, 0xf4, 0xbc,
0x67, 0x24, 0x2a, 0x40, 0x74, 0xc8, 0x8d, 0xd3, 0x55, 0xf5, 0x55, 0x75, 0x77, 0x75, 0xd5, 0x57,
0x04, 0x3f, 0x3c, 0xb9, 0xe3, 0xc8, 0xaa, 0xd9, 0x3c, 0x71, 0xbb, 0xc4, 0x36, 0x08, 0x25, 0x4e,
0x73, 0x40, 0x8c, 0x9e, 0x69, 0x37, 0x85, 0x00, 0x5b, 0x6a, 0x13, 0x5b, 0x96, 0xd3, 0x1c, 0xdc,
0xe8, 0x12, 0x8a, 0x6f, 0x34, 0xfb, 0xc4, 0x20, 0x36, 0xa6, 0xa4, 0x27, 0x5b, 0xb6, 0x49, 0x4d,
0xb8, 0xec, 0x29, 0xca, 0xd8, 0x52, 0x65, 0xa6, 0x28, 0x0b, 0xc5, 0x95, 0x8d, 0xbe, 0x4a, 0x8f,
0xdd, 0xae, 0xac, 0x98, 0x7a, 0xb3, 0x6f, 0xf6, 0xcd, 0x26, 0xd7, 0xef, 0xba, 0x2f, 0xf9, 0x17,
0xff, 0xe0, 0xbf, 0x3c, 0x9c, 0x95, 0x46, 0xc4, 0xa1, 0x62, 0xda, 0xa4, 0x39, 0x48, 0xf9, 0x5a,
0xb9, 0x1e, 0xd1, 0xb1, 0x4c, 0x4d, 0x55, 0x86, 0x79, 0x61, 0xad, 0xdc, 0x0a, 0x55, 0x75, 0xac,
0x1c, 0xab, 0x06, 0xb1, 0x87, 0x4d, 0xeb, 0xa4, 0xcf, 0x16, 0x9c, 0xa6, 0x4e, 0x28, 0xce, 0x72,
0xd0, 0xcc, 0xb3, 0xb2, 0x5d, 0x83, 0xaa, 0x3a, 0x49, 0x19, 0xdc, 0xbe, 0xc8, 0xc0, 0x51, 0x8e,
0x89, 0x8e, 0x53, 0x76, 0x37, 0xf3, 0xec, 0x5c, 0xaa, 0x6a, 0x4d, 0xd5, 0xa0, 0x0e, 0xb5, 0x93,
0x46, 0x8d, 0x7f, 0x49, 0x00, 0xb6, 0x4d, 0x83, 0xda, 0xa6, 0xa6, 0x11, 0x1b, 0x91, 0x81, 0xea,
0xa8, 0xa6, 0x01, 0x5f, 0x80, 0x32, 0xdb, 0x4f, 0x0f, 0x53, 0x5c, 0x93, 0xd6, 0xa4, 0xf5, 0x99,
0xcd, 0x6f, 0xe5, 0xf0, 0x52, 0x02, 0x78, 0xd9, 0x3a, 0xe9, 0xb3, 0x05, 0x47, 0x66, 0xda, 0xf2,
0xe0, 0x86, 0xbc, 0xdf, 0x7d, 0x45, 0x14, 0xba, 0x47, 0x28, 0x6e, 0xc1, 0xd3, 0xb3, 0xd5, 0x89,
0xd1, 0xd9, 0x2a, 0x08, 0xd7, 0x50, 0x80, 0x0a, 0xf7, 0x41, 0x91, 0xa3, 0x17, 0x38, 0xfa, 0x46,
0x2e, 0xba, 0xd8, 0xb4, 0x8c, 0xf0, 0x2f, 0x1f, 0xbe, 0xa6, 0xc4, 0x60, 0xe1, 0xb5, 0x3e, 0x11,
0xd0, 0xc5, 0x6d, 0x4c, 0x31, 0xe2, 0x40, 0xf0, 0x1b, 0x50, 0xb6, 0x45, 0xf8, 0xb5, 0xc9, 0x35,
0x69, 0x7d, 0xb2, 0x75, 0x4d, 0x68, 0x95, 0xfd, 0x6d, 0xa1, 0x40, 0xa3, 0x71, 0x2a, 0x81, 0xa5,
0xf4, 0xbe, 0x77, 0x55, 0x87, 0xc2, 0x9f, 0xa7, 0xf6, 0x2e, 0x8f, 0xb7, 0x77, 0x66, 0xcd, 0x77,
0x1e, 0x38, 0xf6, 0x57, 0x22, 0xfb, 0x3e, 0x00, 0x25, 0x95, 0x12, 0xdd, 0xa9, 0x15, 0xd6, 0x26,
0xd7, 0x67, 0x36, 0xbf, 0x96, 0x73, 0x72, 0x5d, 0x4e, 0x47, 0xd7, 0x9a, 0x15, 0xb8, 0xa5, 0x1d,
0x86, 0x80, 0x3c, 0xa0, 0xc6, 0x6f, 0x0b, 0x00, 0x6c, 0x13, 0x4b, 0x33, 0x87, 0x3a, 0x31, 0xe8,
0x15, 0x5c, 0xdd, 0x0e, 0x28, 0x3a, 0x16, 0x51, 0xc4, 0xd5, 0x7d, 0x99, 0xbb, 0x83, 0x30, 0xa8,
0x8e, 0x45, 0x94, 0xf0, 0xd2, 0xd8, 0x17, 0xe2, 0x10, 0xf0, 0x29, 0x98, 0x72, 0x28, 0xa6, 0xae,
0xc3, 0xaf, 0x6c, 0x66, 0xf3, 0xfa, 0x38, 0x60, 0xdc, 0xa0, 0x55, 0x15, 0x70, 0x53, 0xde, 0x37,
0x12, 0x40, 0x8d, 0xbf, 0x4f, 0x82, 0x85, 0x50, 0xb9, 0x6d, 0x1a, 0x3d, 0x95, 0xb2, 0x94, 0xbe,
0x0f, 0x8a, 0x74, 0x68, 0x11, 0x7e, 0x26, 0x95, 0xd6, 0x97, 0x7e, 0x30, 0x87, 0x43, 0x8b, 0x7c,
0x3c, 0x5b, 0x5d, 0xce, 0x30, 0x61, 0x22, 0xc4, 0x8d, 0xe0, 0x6e, 0x10, 0x67, 0x81, 0x9b, 0xdf,
0x8a, 0x3b, 0xff, 0x78, 0xb6, 0x9a, 0x51, 0x6b, 0xe4, 0x00, 0x29, 0x1e, 0x22, 0xfc, 0x02, 0x4c,
0xd9, 0x04, 0x3b, 0xa6, 0x51, 0x2b, 0x72, 0xb4, 0x60, 0x2b, 0x88, 0xaf, 0x22, 0x21, 0x85, 0xd7,
0xc1, 0xb4, 0x4e, 0x1c, 0x07, 0xf7, 0x49, 0xad, 0xc4, 0x15, 0xe7, 0x84, 0xe2, 0xf4, 0x9e, 0xb7,
0x8c, 0x7c, 0x39, 0x7c, 0x05, 0xaa, 0x1a, 0x76, 0xe8, 0x91, 0xd5, 0xc3, 0x94, 0x1c, 0xaa, 0x3a,
0xa9, 0x4d, 0xf1, 0x03, 0xfd, 0x6a, 0xbc, 0xbb, 0x67, 0x16, 0xad, 0x25, 0x81, 0x5e, 0xdd, 0x8d,
0x21, 0xa1, 0x04, 0x32, 0x1c, 0x00, 0xc8, 0x56, 0x0e, 0x6d, 0x6c, 0x38, 0xde, 0x41, 0x31, 0x7f,
0xd3, 0x97, 0xf6, 0xb7, 0x22, 0xfc, 0xc1, 0xdd, 0x14, 0x1a, 0xca, 0xf0, 0xd0, 0xf8, 0xa3, 0x04,
0xaa, 0xe1, 0x35, 0x5d, 0xc1, 0x5b, 0x7d, 0x1c, 0x7f, 0xab, 0xdf, 0x1f, 0x23, 0x39, 0x73, 0xde,
0xe8, 0x3f, 0x0b, 0x00, 0x86, 0x4a, 0xc8, 0xd4, 0xb4, 0x2e, 0x56, 0x4e, 0xe0, 0x1a, 0x28, 0x1a,
0x58, 0xf7, 0x73, 0x32, 0x78, 0x20, 0x3f, 0xc6, 0x3a, 0x41, 0x5c, 0x02, 0xdf, 0x48, 0x00, 0xba,
0xfc, 0xe8, 0x7b, 0x5b, 0x86, 0x61, 0x52, 0xcc, 0x4e, 0xc3, 0x0f, 0xa8, 0x3d, 0x46, 0x40, 0xbe,
0x2f, 0xf9, 0x28, 0x85, 0xf2, 0xd0, 0xa0, 0xf6, 0x30, 0xbc, 0x85, 0xb4, 0x02, 0xca, 0x70, 0x0d,
0x7f, 0x06, 0x80, 0x2d, 0x30, 0x0f, 0x4d, 0xf1, 0x6c, 0xf3, 0x6b, 0x80, 0xef, 0xbe, 0x6d, 0x1a,
0x2f, 0xd5, 0x7e, 0x58, 0x58, 0x50, 0x00, 0x81, 0x22, 0x70, 0x2b, 0x0f, 0xc1, 0x72, 0x4e, 0x9c,
0xf0, 0x1a, 0x98, 0x3c, 0x21, 0x43, 0xef, 0xa8, 0x10, 0xfb, 0x09, 0x17, 0x41, 0x69, 0x80, 0x35,
0x97, 0x78, 0x6f, 0x12, 0x79, 0x1f, 0xf7, 0x0a, 0x77, 0xa4, 0xc6, 0x1f, 0x4a, 0xd1, 0x4c, 0x61,
0xf5, 0x06, 0xae, 0xb3, 0xf6, 0x60, 0x69, 0xaa, 0x82, 0x1d, 0x8e, 0x51, 0x6a, 0x7d, 0xe2, 0xb5,
0x06, 0x6f, 0x0d, 0x05, 0x52, 0xf8, 0x0b, 0x50, 0x76, 0x88, 0x46, 0x14, 0x6a, 0xda, 0xa2, 0xc4,
0xdd, 0x1c, 0x33, 0xa7, 0x70, 0x97, 0x68, 0x1d, 0x61, 0xea, 0xc1, 0xfb, 0x5f, 0x28, 0x80, 0x84,
0x4f, 0x41, 0x99, 0x12, 0xdd, 0xd2, 0x30, 0x25, 0xe2, 0xf4, 0x62, 0x79, 0xc5, 0x6a, 0x07, 0x03,
0x3b, 0x30, 0x7b, 0x87, 0x42, 0x8d, 0x57, 0xcf, 0x20, 0x4f, 0xfd, 0x55, 0x14, 0xc0, 0xc0, 0x9f,
0x82, 0xb2, 0x43, 0x59, 0x57, 0xef, 0x0f, 0x79, 0x45, 0x39, 0xaf, 0xad, 0x44, 0xeb, 0xa8, 0x67,
0x12, 0x42, 0xfb, 0x2b, 0x28, 0x80, 0x83, 0x5b, 0x60, 0x4e, 0x57, 0x0d, 0x44, 0x70, 0x6f, 0xd8,
0x21, 0x8a, 0x69, 0xf4, 0x1c, 0x5e, 0x8a, 0x4a, 0xad, 0x65, 0x61, 0x34, 0xb7, 0x17, 0x17, 0xa3,
0xa4, 0x3e, 0xdc, 0x05, 0x8b, 0x7e, 0xdb, 0x7d, 0xac, 0x3a, 0xd4, 0xb4, 0x87, 0xbb, 0xaa, 0xae,
0x52, 0x5e, 0xa0, 0x4a, 0xad, 0xda, 0xe8, 0x6c, 0x75, 0x11, 0x65, 0xc8, 0x51, 0xa6, 0x15, 0xab,
0x9d, 0x16, 0x76, 0x1d, 0xd2, 0xe3, 0x05, 0xa7, 0x1c, 0xd6, 0xce, 0x03, 0xbe, 0x8a, 0x84, 0x14,
0xfe, 0x24, 0x96, 0xa6, 0xe5, 0xcb, 0xa5, 0x69, 0x35, 0x3f, 0x45, 0xe1, 0x11, 0x58, 0xb6, 0x6c,
0xb3, 0x6f, 0x13, 0xc7, 0xd9, 0x26, 0xb8, 0xa7, 0xa9, 0x06, 0xf1, 0x4f, 0xa6, 0xc2, 0x77, 0xf4,
0xd9, 0xe8, 0x6c, 0x75, 0xf9, 0x20, 0x5b, 0x05, 0xe5, 0xd9, 0x36, 0xfe, 0x52, 0x04, 0xd7, 0x92,
0x3d, 0x0e, 0x3e, 0x01, 0xd0, 0xec, 0x3a, 0xc4, 0x1e, 0x90, 0xde, 0x23, 0x8f, 0xb8, 0x31, 0x76,
0x23, 0x71, 0x76, 0x13, 0xbc, 0xdb, 0xfd, 0x94, 0x06, 0xca, 0xb0, 0xf2, 0xf8, 0x91, 0x78, 0x00,
0x05, 0x1e, 0x68, 0x84, 0x1f, 0xa5, 0x1e, 0xc1, 0x16, 0x98, 0x13, 0x6f, 0xdf, 0x17, 0xf2, 0x64,
0x8d, 0xdc, 0xfb, 0x51, 0x5c, 0x8c, 0x92, 0xfa, 0xf0, 0x11, 0x98, 0xc7, 0x03, 0xac, 0x6a, 0xb8,
0xab, 0x91, 0x00, 0xa4, 0xc8, 0x41, 0x3e, 0x15, 0x20, 0xf3, 0x5b, 0x49, 0x05, 0x94, 0xb6, 0x81,
0x7b, 0x60, 0xc1, 0x35, 0xd2, 0x50, 0x5e, 0x1e, 0x7e, 0x26, 0xa0, 0x16, 0x8e, 0xd2, 0x2a, 0x28,
0xcb, 0x0e, 0xbe, 0x00, 0x40, 0xf1, 0x1b, 0xb3, 0x53, 0x9b, 0xe2, 0x95, 0xf4, 0x9b, 0x31, 0xde,
0x4b, 0xd0, 0xcd, 0xc3, 0x2a, 0x16, 0x2c, 0x39, 0x28, 0x82, 0x09, 0xef, 0x83, 0x59, 0x9b, 0xbd,
0x80, 0x20, 0xd4, 0x69, 0x1e, 0xea, 0x77, 0x84, 0xd9, 0x2c, 0x8a, 0x0a, 0x51, 0x5c, 0x17, 0xde,
0x03, 0x55, 0xc5, 0xd4, 0x34, 0x9e, 0xf9, 0x6d, 0xd3, 0x35, 0x28, 0x4f, 0xde, 0x52, 0x0b, 0xb2,
0xce, 0xdc, 0x8e, 0x49, 0x50, 0x42, 0xb3, 0xf1, 0x67, 0x29, 0xda, 0x66, 0xfc, 0xe7, 0x0c, 0xef,
0xc5, 0xa8, 0xcf, 0x17, 0x09, 0xea, 0xb3, 0x94, 0xb6, 0x88, 0x30, 0x1f, 0x15, 0xcc, 0xb2, 0xe4,
0x57, 0x8d, 0xbe, 0x77, 0xe1, 0xa2, 0x24, 0x7e, 0x7b, 0xee, 0x53, 0x0a, 0xb4, 0x23, 0x8d, 0x71,
0x9e, 0xef, 0x3c, 0x2a, 0x44, 0x71, 0xe4, 0xc6, 0x03, 0x50, 0x8d, 0xbf, 0xc3, 0x18, 0xa7, 0x97,
0x2e, 0xe4, 0xf4, 0x1f, 0x24, 0xb0, 0x9c, 0xe3, 0x1d, 0x6a, 0xa0, 0xaa, 0xe3, 0xd7, 0x91, 0x1c,
0xb9, 0x90, 0x1b, 0xb3, 0xa9, 0x49, 0xf6, 0xa6, 0x26, 0x79, 0xc7, 0xa0, 0xfb, 0x76, 0x87, 0xda,
0xaa, 0xd1, 0xf7, 0xee, 0x61, 0x2f, 0x86, 0x85, 0x12, 0xd8, 0xf0, 0x39, 0x28, 0xeb, 0xf8, 0x75,
0xc7, 0xb5, 0xfb, 0x59, 0xe7, 0x35, 0x9e, 0x1f, 0xde, 0x3f, 0xf6, 0x04, 0x0a, 0x0a, 0xf0, 0x1a,
0xfb, 0x60, 0x2d, 0xb6, 0x49, 0x56, 0x2a, 0xc8, 0x4b, 0x57, 0xeb, 0x90, 0xf0, 0xc2, 0xbf, 0x06,
0x15, 0x0b, 0xdb, 0x54, 0x0d, 0xca, 0x45, 0xa9, 0x35, 0x3b, 0x3a, 0x5b, 0xad, 0x1c, 0xf8, 0x8b,
0x28, 0x94, 0x37, 0xfe, 0x2d, 0x81, 0x52, 0x47, 0xc1, 0x1a, 0xb9, 0x82, 0xd1, 0x61, 0x3b, 0x36,
0x3a, 0x34, 0x72, 0x93, 0x88, 0xc7, 0x93, 0x3b, 0x35, 0xec, 0x26, 0xa6, 0x86, 0xcf, 0x2f, 0xc0,
0x39, 0x7f, 0x60, 0xb8, 0x0b, 0x2a, 0x81, 0xbb, 0x58, 0x95, 0x94, 0x2e, 0xaa, 0x92, 0x8d, 0xdf,
0x17, 0xc0, 0x4c, 0xc4, 0xc5, 0xe5, 0xac, 0xd9, 0x71, 0x47, 0x88, 0x06, 0x2b, 0x43, 0x9b, 0xe3,
0x6c, 0x44, 0xf6, 0x49, 0x85, 0xc7, 0xdf, 0xc2, 0xee, 0x9d, 0xe6, 0x1a, 0x0f, 0x40, 0x95, 0x62,
0xbb, 0x4f, 0xa8, 0x2f, 0xe3, 0x07, 0x56, 0x09, 0x99, 0xfe, 0x61, 0x4c, 0x8a, 0x12, 0xda, 0x2b,
0xf7, 0xc1, 0x6c, 0xcc, 0xd9, 0xa5, 0x48, 0xd8, 0x1b, 0x76, 0x38, 0x61, 0x72, 0x5e, 0x41, 0x76,
0x3d, 0x89, 0x65, 0xd7, 0x7a, 0xfe, 0x61, 0x46, 0x9e, 0x4c, 0x5e, 0x8e, 0xa1, 0x44, 0x8e, 0x7d,
0x35, 0x16, 0xda, 0xf9, 0x99, 0xf6, 0x27, 0x09, 0xcc, 0x45, 0xb4, 0xaf, 0x60, 0x82, 0xd9, 0x89,
0x4f, 0x30, 0x9f, 0x8f, 0xb3, 0x89, 0x9c, 0x11, 0xe6, 0xaf, 0xa5, 0x58, 0xf0, 0xff, 0xf7, 0xa4,
0xfa, 0x57, 0x60, 0x71, 0x60, 0x6a, 0xae, 0x4e, 0xda, 0x1a, 0x56, 0x75, 0x5f, 0x81, 0x31, 0x98,
0xc9, 0xe4, 0x1f, 0x15, 0x01, 0x3c, 0xb1, 0x1d, 0xd5, 0xa1, 0xc4, 0xa0, 0xcf, 0x42, 0xcb, 0xd6,
0x77, 0x85, 0x93, 0xc5, 0x67, 0x19, 0x70, 0x28, 0xd3, 0x09, 0xfc, 0x01, 0x98, 0x61, 0x04, 0x4e,
0x55, 0x08, 0x9b, 0x05, 0xc5, 0xf4, 0xbf, 0x20, 0x80, 0x66, 0x3a, 0xa1, 0x08, 0x45, 0xf5, 0xe0,
0x31, 0x58, 0xb0, 0xcc, 0xde, 0x1e, 0x36, 0x70, 0x9f, 0xb0, 0xb6, 0x77, 0xc0, 0xff, 0xd0, 0xe4,
0x4c, 0xbb, 0xd2, 0xba, 0xed, 0x33, 0xa5, 0x83, 0xb4, 0xca, 0x47, 0x46, 0x59, 0xd3, 0xcb, 0x9c,
0x07, 0x64, 0x41, 0x42, 0x1b, 0x54, 0x5d, 0xd1, 0x7e, 0xc4, 0xe0, 0xe1, 0xcd, 0xff, 0x9b, 0xe3,
0x64, 0xd8, 0x51, 0xcc, 0x32, 0xac, 0x46, 0xf1, 0x75, 0x94, 0xf0, 0x90, 0x3b, 0x48, 0x94, 0xff,
0x9b, 0x41, 0xa2, 0xf1, 0x9b, 0x22, 0x98, 0x4f, 0x3d, 0x5d, 0xf8, 0xa3, 0x73, 0x18, 0xf7, 0xd2,
0xff, 0x8c, 0x6d, 0xa7, 0x08, 0xe3, 0xe4, 0x25, 0x08, 0xe3, 0x16, 0x98, 0x53, 0x5c, 0xdb, 0x66,
0xb3, 0x7e, 0x9c, 0x65, 0x07, 0x54, 0xbd, 0x1d, 0x17, 0xa3, 0xa4, 0x7e, 0x16, 0xdb, 0x2f, 0x5d,
0x92, 0xed, 0x47, 0xa3, 0x10, 0x8c, 0xcd, 0x4b, 0xbb, 0x74, 0x14, 0x82, 0xb8, 0x25, 0xf5, 0x59,
0xb7, 0xf2, 0x50, 0x03, 0x84, 0xe9, 0x78, 0xb7, 0x3a, 0x8a, 0x49, 0x51, 0x42, 0x3b, 0x83, 0x39,
0x57, 0xc6, 0x66, 0xce, 0x7f, 0x93, 0xc0, 0xa7, 0xb9, 0x19, 0x0a, 0xb7, 0x62, 0x04, 0x7a, 0x23,
0x41, 0xa0, 0xbf, 0x97, 0x6b, 0x18, 0xe1, 0xd1, 0x76, 0x36, 0x8f, 0xbe, 0x3b, 0x1e, 0x8f, 0xce,
0x20, 0x79, 0x17, 0x13, 0xea, 0xd6, 0xc6, 0xe9, 0xfb, 0xfa, 0xc4, 0xdb, 0xf7, 0xf5, 0x89, 0x77,
0xef, 0xeb, 0x13, 0xbf, 0x1e, 0xd5, 0xa5, 0xd3, 0x51, 0x5d, 0x7a, 0x3b, 0xaa, 0x4b, 0xef, 0x46,
0x75, 0xe9, 0x1f, 0xa3, 0xba, 0xf4, 0xbb, 0x0f, 0xf5, 0x89, 0xe7, 0xd3, 0xc2, 0xe3, 0x7f, 0x02,
0x00, 0x00, 0xff, 0xff, 0x3a, 0x2e, 0x29, 0xcd, 0xb9, 0x19, 0x00, 0x00,
// 1871 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0x4f, 0x6f, 0x1b, 0xc7,
0x15, 0xd7, 0x52, 0xa4, 0x44, 0x3d, 0x45, 0x94, 0x3d, 0x52, 0x2d, 0x46, 0x69, 0x29, 0x61, 0x1b,
0x24, 0x72, 0x12, 0x2d, 0x63, 0x25, 0x0d, 0x12, 0xbb, 0x08, 0x2a, 0xca, 0x6e, 0xe2, 0x40, 0xaa,
0x94, 0xa1, 0x94, 0xa2, 0x69, 0x0b, 0x64, 0xb8, 0x1c, 0xd3, 0x1b, 0xed, 0x3f, 0xec, 0x0e, 0x59,
0x13, 0xbd, 0xf4, 0x03, 0x14, 0x48, 0xcf, 0xfd, 0x14, 0x3d, 0x16, 0xed, 0xad, 0x27, 0x5f, 0x0a,
0x04, 0xbd, 0x34, 0x27, 0xa1, 0xa6, 0xaf, 0x6d, 0x6f, 0xbd, 0x18, 0x28, 0x50, 0xcc, 0xec, 0xec,
0xff, 0x5d, 0x89, 0x2a, 0x20, 0x1d, 0x72, 0xe3, 0xce, 0x7b, 0xef, 0xf7, 0xde, 0xcc, 0xbc, 0xf7,
0xe6, 0xfd, 0x08, 0x3f, 0x3a, 0x7d, 0xdf, 0xd7, 0x0c, 0xa7, 0x7d, 0x3a, 0xec, 0x51, 0xcf, 0xa6,
0x8c, 0xfa, 0xed, 0x11, 0xb5, 0xfb, 0x8e, 0xd7, 0x96, 0x02, 0xe2, 0x1a, 0x6d, 0xe2, 0xba, 0x7e,
0x7b, 0x74, 0xa7, 0x47, 0x19, 0xb9, 0xd3, 0x1e, 0x50, 0x9b, 0x7a, 0x84, 0xd1, 0xbe, 0xe6, 0x7a,
0x0e, 0x73, 0xd0, 0x5a, 0xa0, 0xa8, 0x11, 0xd7, 0xd0, 0xb8, 0xa2, 0x26, 0x15, 0xd7, 0xb7, 0x07,
0x06, 0x7b, 0x3c, 0xec, 0x69, 0xba, 0x63, 0xb5, 0x07, 0xce, 0xc0, 0x69, 0x0b, 0xfd, 0xde, 0xf0,
0x91, 0xf8, 0x12, 0x1f, 0xe2, 0x57, 0x80, 0xb3, 0xae, 0x26, 0x1c, 0xea, 0x8e, 0x47, 0xdb, 0xa3,
0x9c, 0xaf, 0xf5, 0xdb, 0x09, 0x1d, 0xd7, 0x31, 0x0d, 0x7d, 0x5c, 0x16, 0xd6, 0xfa, 0xbb, 0xb1,
0xaa, 0x45, 0xf4, 0xc7, 0x86, 0x4d, 0xbd, 0x71, 0xdb, 0x3d, 0x1d, 0xf0, 0x05, 0xbf, 0x6d, 0x51,
0x46, 0x8a, 0x1c, 0xb4, 0xcb, 0xac, 0xbc, 0xa1, 0xcd, 0x0c, 0x8b, 0xe6, 0x0c, 0xde, 0xbb, 0xc8,
0xc0, 0xd7, 0x1f, 0x53, 0x8b, 0xe4, 0xec, 0xde, 0x29, 0xb3, 0x1b, 0x32, 0xc3, 0x6c, 0x1b, 0x36,
0xf3, 0x99, 0x97, 0x35, 0x52, 0xff, 0xa3, 0x00, 0xda, 0x73, 0x6c, 0xe6, 0x39, 0xa6, 0x49, 0x3d,
0x4c, 0x47, 0x86, 0x6f, 0x38, 0x36, 0xfa, 0x02, 0xea, 0x7c, 0x3f, 0x7d, 0xc2, 0x48, 0x53, 0xd9,
0x54, 0xb6, 0x16, 0x77, 0xde, 0xd6, 0xe2, 0x4b, 0x89, 0xe0, 0x35, 0xf7, 0x74, 0xc0, 0x17, 0x7c,
0x8d, 0x6b, 0x6b, 0xa3, 0x3b, 0xda, 0x61, 0xef, 0x4b, 0xaa, 0xb3, 0x03, 0xca, 0x48, 0x07, 0x3d,
0x3d, 0xdb, 0x98, 0x99, 0x9c, 0x6d, 0x40, 0xbc, 0x86, 0x23, 0x54, 0x74, 0x08, 0x55, 0x81, 0x5e,
0x11, 0xe8, 0xdb, 0xa5, 0xe8, 0x72, 0xd3, 0x1a, 0x26, 0xbf, 0x7a, 0xf0, 0x84, 0x51, 0x9b, 0x87,
0xd7, 0x79, 0x49, 0x42, 0x57, 0xef, 0x13, 0x46, 0xb0, 0x00, 0x42, 0x6f, 0x41, 0xdd, 0x93, 0xe1,
0x37, 0x67, 0x37, 0x95, 0xad, 0xd9, 0xce, 0x0d, 0xa9, 0x55, 0x0f, 0xb7, 0x85, 0x23, 0x0d, 0xf5,
0xa9, 0x02, 0xb7, 0xf2, 0xfb, 0xde, 0x37, 0x7c, 0x86, 0x7e, 0x91, 0xdb, 0xbb, 0x36, 0xdd, 0xde,
0xb9, 0xb5, 0xd8, 0x79, 0xe4, 0x38, 0x5c, 0x49, 0xec, 0xfb, 0x08, 0x6a, 0x06, 0xa3, 0x96, 0xdf,
0xac, 0x6c, 0xce, 0x6e, 0x2d, 0xee, 0xbc, 0xa9, 0x95, 0xe4, 0xba, 0x96, 0x8f, 0xae, 0xb3, 0x24,
0x71, 0x6b, 0x0f, 0x39, 0x02, 0x0e, 0x80, 0xd4, 0xdf, 0x56, 0x00, 0xee, 0x53, 0xd7, 0x74, 0xc6,
0x16, 0xb5, 0xd9, 0x35, 0x5c, 0xdd, 0x43, 0xa8, 0xfa, 0x2e, 0xd5, 0xe5, 0xd5, 0xbd, 0x5e, 0xba,
0x83, 0x38, 0xa8, 0xae, 0x4b, 0xf5, 0xf8, 0xd2, 0xf8, 0x17, 0x16, 0x10, 0xe8, 0x53, 0x98, 0xf3,
0x19, 0x61, 0x43, 0x5f, 0x5c, 0xd9, 0xe2, 0xce, 0xed, 0x69, 0xc0, 0x84, 0x41, 0xa7, 0x21, 0xe1,
0xe6, 0x82, 0x6f, 0x2c, 0x81, 0xd4, 0xbf, 0xcf, 0xc2, 0x4a, 0xac, 0xbc, 0xe7, 0xd8, 0x7d, 0x83,
0xf1, 0x94, 0xbe, 0x07, 0x55, 0x36, 0x76, 0xa9, 0x38, 0x93, 0x85, 0xce, 0xeb, 0x61, 0x30, 0xc7,
0x63, 0x97, 0xbe, 0x38, 0xdb, 0x58, 0x2b, 0x30, 0xe1, 0x22, 0x2c, 0x8c, 0xd0, 0x7e, 0x14, 0x67,
0x45, 0x98, 0xbf, 0x9b, 0x76, 0xfe, 0xe2, 0x6c, 0xa3, 0xa0, 0xd7, 0x68, 0x11, 0x52, 0x3a, 0x44,
0xf4, 0x1a, 0xcc, 0x79, 0x94, 0xf8, 0x8e, 0xdd, 0xac, 0x0a, 0xb4, 0x68, 0x2b, 0x58, 0xac, 0x62,
0x29, 0x45, 0xb7, 0x61, 0xde, 0xa2, 0xbe, 0x4f, 0x06, 0xb4, 0x59, 0x13, 0x8a, 0xcb, 0x52, 0x71,
0xfe, 0x20, 0x58, 0xc6, 0xa1, 0x1c, 0x7d, 0x09, 0x0d, 0x93, 0xf8, 0xec, 0xc4, 0xed, 0x13, 0x46,
0x8f, 0x0d, 0x8b, 0x36, 0xe7, 0xc4, 0x81, 0xbe, 0x31, 0xdd, 0xdd, 0x73, 0x8b, 0xce, 0x2d, 0x89,
0xde, 0xd8, 0x4f, 0x21, 0xe1, 0x0c, 0x32, 0x1a, 0x01, 0xe2, 0x2b, 0xc7, 0x1e, 0xb1, 0xfd, 0xe0,
0xa0, 0xb8, 0xbf, 0xf9, 0x4b, 0xfb, 0x5b, 0x97, 0xfe, 0xd0, 0x7e, 0x0e, 0x0d, 0x17, 0x78, 0x50,
0xff, 0xa8, 0x40, 0x23, 0xbe, 0xa6, 0x6b, 0xa8, 0xd5, 0x8f, 0xd3, 0xb5, 0xfa, 0xfd, 0x29, 0x92,
0xb3, 0xa4, 0x46, 0xff, 0x59, 0x01, 0x14, 0x2b, 0x61, 0xc7, 0x34, 0x7b, 0x44, 0x3f, 0x45, 0x9b,
0x50, 0xb5, 0x89, 0x15, 0xe6, 0x64, 0x54, 0x20, 0x3f, 0x21, 0x16, 0xc5, 0x42, 0x82, 0xbe, 0x52,
0x00, 0x0d, 0xc5, 0xd1, 0xf7, 0x77, 0x6d, 0xdb, 0x61, 0x84, 0x9f, 0x46, 0x18, 0xd0, 0xde, 0x14,
0x01, 0x85, 0xbe, 0xb4, 0x93, 0x1c, 0xca, 0x03, 0x9b, 0x79, 0xe3, 0xf8, 0x16, 0xf2, 0x0a, 0xb8,
0xc0, 0x35, 0xfa, 0x39, 0x80, 0x27, 0x31, 0x8f, 0x1d, 0x59, 0xb6, 0xe5, 0x3d, 0x20, 0x74, 0xbf,
0xe7, 0xd8, 0x8f, 0x8c, 0x41, 0xdc, 0x58, 0x70, 0x04, 0x81, 0x13, 0x70, 0xeb, 0x0f, 0x60, 0xad,
0x24, 0x4e, 0x74, 0x03, 0x66, 0x4f, 0xe9, 0x38, 0x38, 0x2a, 0xcc, 0x7f, 0xa2, 0x55, 0xa8, 0x8d,
0x88, 0x39, 0xa4, 0x41, 0x4d, 0xe2, 0xe0, 0xe3, 0x6e, 0xe5, 0x7d, 0x45, 0xfd, 0x43, 0x2d, 0x99,
0x29, 0xbc, 0xdf, 0xa0, 0x2d, 0xfe, 0x3c, 0xb8, 0xa6, 0xa1, 0x13, 0x5f, 0x60, 0xd4, 0x3a, 0x2f,
0x05, 0x4f, 0x43, 0xb0, 0x86, 0x23, 0x29, 0xfa, 0x25, 0xd4, 0x7d, 0x6a, 0x52, 0x9d, 0x39, 0x9e,
0x6c, 0x71, 0xef, 0x4c, 0x99, 0x53, 0xa4, 0x47, 0xcd, 0xae, 0x34, 0x0d, 0xe0, 0xc3, 0x2f, 0x1c,
0x41, 0xa2, 0x4f, 0xa1, 0xce, 0xa8, 0xe5, 0x9a, 0x84, 0x51, 0x79, 0x7a, 0xa9, 0xbc, 0xe2, 0xbd,
0x83, 0x83, 0x1d, 0x39, 0xfd, 0x63, 0xa9, 0x26, 0xba, 0x67, 0x94, 0xa7, 0xe1, 0x2a, 0x8e, 0x60,
0xd0, 0xcf, 0xa0, 0xee, 0x33, 0xfe, 0xaa, 0x0f, 0xc6, 0xa2, 0xa3, 0x9c, 0xf7, 0xac, 0x24, 0xfb,
0x68, 0x60, 0x12, 0x43, 0x87, 0x2b, 0x38, 0x82, 0x43, 0xbb, 0xb0, 0x6c, 0x19, 0x36, 0xa6, 0xa4,
0x3f, 0xee, 0x52, 0xdd, 0xb1, 0xfb, 0xbe, 0x68, 0x45, 0xb5, 0xce, 0x9a, 0x34, 0x5a, 0x3e, 0x48,
0x8b, 0x71, 0x56, 0x1f, 0xed, 0xc3, 0x6a, 0xf8, 0xec, 0x7e, 0x6c, 0xf8, 0xcc, 0xf1, 0xc6, 0xfb,
0x86, 0x65, 0x30, 0xd1, 0xa0, 0x6a, 0x9d, 0xe6, 0xe4, 0x6c, 0x63, 0x15, 0x17, 0xc8, 0x71, 0xa1,
0x15, 0xef, 0x9d, 0x2e, 0x19, 0xfa, 0xb4, 0x2f, 0x1a, 0x4e, 0x3d, 0xee, 0x9d, 0x47, 0x62, 0x15,
0x4b, 0x29, 0xfa, 0x69, 0x2a, 0x4d, 0xeb, 0x97, 0x4b, 0xd3, 0x46, 0x79, 0x8a, 0xa2, 0x13, 0x58,
0x73, 0x3d, 0x67, 0xe0, 0x51, 0xdf, 0xbf, 0x4f, 0x49, 0xdf, 0x34, 0x6c, 0x1a, 0x9e, 0xcc, 0x82,
0xd8, 0xd1, 0x2b, 0x93, 0xb3, 0x8d, 0xb5, 0xa3, 0x62, 0x15, 0x5c, 0x66, 0xab, 0xfe, 0xa5, 0x0a,
0x37, 0xb2, 0x6f, 0x1c, 0xfa, 0x04, 0x90, 0xd3, 0xf3, 0xa9, 0x37, 0xa2, 0xfd, 0x8f, 0x82, 0xc1,
0x8d, 0x4f, 0x37, 0x8a, 0x98, 0x6e, 0xa2, 0xba, 0x3d, 0xcc, 0x69, 0xe0, 0x02, 0xab, 0x60, 0x3e,
0x92, 0x05, 0x50, 0x11, 0x81, 0x26, 0xe6, 0xa3, 0x5c, 0x11, 0xec, 0xc2, 0xb2, 0xac, 0xfd, 0x50,
0x28, 0x92, 0x35, 0x71, 0xef, 0x27, 0x69, 0x31, 0xce, 0xea, 0xa3, 0x8f, 0xe0, 0x26, 0x19, 0x11,
0xc3, 0x24, 0x3d, 0x93, 0x46, 0x20, 0x55, 0x01, 0xf2, 0xb2, 0x04, 0xb9, 0xb9, 0x9b, 0x55, 0xc0,
0x79, 0x1b, 0x74, 0x00, 0x2b, 0x43, 0x3b, 0x0f, 0x15, 0xe4, 0xe1, 0x2b, 0x12, 0x6a, 0xe5, 0x24,
0xaf, 0x82, 0x8b, 0xec, 0xd0, 0x17, 0x00, 0x7a, 0xf8, 0x30, 0xfb, 0xcd, 0x39, 0xd1, 0x49, 0xdf,
0x9a, 0xa2, 0x5e, 0xa2, 0xd7, 0x3c, 0xee, 0x62, 0xd1, 0x92, 0x8f, 0x13, 0x98, 0xe8, 0x1e, 0x2c,
0x79, 0xbc, 0x02, 0xa2, 0x50, 0xe7, 0x45, 0xa8, 0xdf, 0x91, 0x66, 0x4b, 0x38, 0x29, 0xc4, 0x69,
0x5d, 0x74, 0x17, 0x1a, 0xba, 0x63, 0x9a, 0x22, 0xf3, 0xf7, 0x9c, 0xa1, 0xcd, 0x44, 0xf2, 0xd6,
0x3a, 0x88, 0xbf, 0xcc, 0x7b, 0x29, 0x09, 0xce, 0x68, 0xaa, 0x7f, 0x56, 0x92, 0xcf, 0x4c, 0x58,
0xce, 0xe8, 0x6e, 0x6a, 0xf4, 0x79, 0x2d, 0x33, 0xfa, 0xdc, 0xca, 0x5b, 0x24, 0x26, 0x1f, 0x03,
0x96, 0x78, 0xf2, 0x1b, 0xf6, 0x20, 0xb8, 0x70, 0xd9, 0x12, 0xdf, 0x3e, 0xb7, 0x94, 0x22, 0xed,
0xc4, 0xc3, 0x78, 0x53, 0xec, 0x3c, 0x29, 0xc4, 0x69, 0x64, 0xf5, 0x43, 0x68, 0xa4, 0xeb, 0x30,
0x35, 0xd3, 0x2b, 0x17, 0xce, 0xf4, 0xcf, 0x15, 0x58, 0x2b, 0xf1, 0x8e, 0x4c, 0x68, 0x58, 0xe4,
0x49, 0x22, 0x47, 0x2e, 0x9c, 0x8d, 0x39, 0x6b, 0xd2, 0x02, 0xd6, 0xa4, 0x3d, 0xb4, 0xd9, 0xa1,
0xd7, 0x65, 0x9e, 0x61, 0x0f, 0x82, 0x7b, 0x38, 0x48, 0x61, 0xe1, 0x0c, 0x36, 0xfa, 0x1c, 0xea,
0x16, 0x79, 0xd2, 0x1d, 0x7a, 0x83, 0xa2, 0xf3, 0x9a, 0xce, 0x8f, 0x78, 0x3f, 0x0e, 0x24, 0x0a,
0x8e, 0xf0, 0xd4, 0x43, 0xd8, 0x4c, 0x6d, 0x92, 0xb7, 0x0a, 0xfa, 0x68, 0x68, 0x76, 0x69, 0x7c,
0xe1, 0x6f, 0xc2, 0x82, 0x4b, 0x3c, 0x66, 0x44, 0xed, 0xa2, 0xd6, 0x59, 0x9a, 0x9c, 0x6d, 0x2c,
0x1c, 0x85, 0x8b, 0x38, 0x96, 0xab, 0xff, 0x55, 0xa0, 0xd6, 0xd5, 0x89, 0x49, 0xaf, 0x81, 0x3a,
0xdc, 0x4f, 0x51, 0x07, 0xb5, 0x34, 0x89, 0x44, 0x3c, 0xa5, 0xac, 0x61, 0x3f, 0xc3, 0x1a, 0x5e,
0xbd, 0x00, 0xe7, 0x7c, 0xc2, 0xf0, 0x01, 0x2c, 0x44, 0xee, 0x52, 0x5d, 0x52, 0xb9, 0xa8, 0x4b,
0xaa, 0xbf, 0xaf, 0xc0, 0x62, 0xc2, 0xc5, 0xe5, 0xac, 0xf9, 0x71, 0x27, 0x06, 0x0d, 0xde, 0x86,
0x76, 0xa6, 0xd9, 0x88, 0x16, 0x0e, 0x15, 0xc1, 0xfc, 0x16, 0xbf, 0xde, 0xf9, 0x59, 0xe3, 0x43,
0x68, 0x30, 0xe2, 0x0d, 0x28, 0x0b, 0x65, 0xe2, 0xc0, 0x16, 0xe2, 0x49, 0xff, 0x38, 0x25, 0xc5,
0x19, 0xed, 0xf5, 0x7b, 0xb0, 0x94, 0x72, 0x76, 0xa9, 0x21, 0xec, 0x2b, 0x7e, 0x38, 0x71, 0x72,
0x5e, 0x43, 0x76, 0x7d, 0x92, 0xca, 0xae, 0xad, 0xf2, 0xc3, 0x4c, 0x94, 0x4c, 0x59, 0x8e, 0xe1,
0x4c, 0x8e, 0xbd, 0x31, 0x15, 0xda, 0xf9, 0x99, 0xf6, 0xaf, 0x0a, 0xac, 0x26, 0xb4, 0x63, 0x6e,
0xfa, 0xc3, 0x54, 0x83, 0xde, 0xca, 0x34, 0xe8, 0x66, 0x91, 0xcd, 0x95, 0x91, 0xd3, 0x62, 0x76,
0x37, 0x7b, 0xd5, 0xec, 0xee, 0x0a, 0x48, 0xb1, 0xfa, 0x27, 0x05, 0x96, 0x13, 0x67, 0x77, 0x0d,
0x8c, 0xf1, 0x61, 0x9a, 0x31, 0xbe, 0x3a, 0x4d, 0xd2, 0x94, 0x50, 0xc6, 0xbf, 0xd6, 0x52, 0xc1,
0x7f, 0xeb, 0x49, 0xcc, 0xaf, 0x61, 0x75, 0xe4, 0x98, 0x43, 0x8b, 0xee, 0x99, 0xc4, 0xb0, 0x42,
0x05, 0x3e, 0x31, 0xce, 0x66, 0xff, 0x18, 0x8a, 0xe0, 0xa9, 0xe7, 0x1b, 0x3e, 0xa3, 0x36, 0xfb,
0x2c, 0xb6, 0xec, 0x7c, 0x57, 0x3a, 0x59, 0xfd, 0xac, 0x00, 0x0e, 0x17, 0x3a, 0x41, 0x3f, 0x80,
0x45, 0x3e, 0x30, 0x1b, 0x3a, 0xe5, 0xdc, 0x5b, 0x26, 0xd6, 0x8a, 0x04, 0x5a, 0xec, 0xc6, 0x22,
0x9c, 0xd4, 0x43, 0x8f, 0x61, 0xc5, 0x75, 0xfa, 0x07, 0xc4, 0x26, 0x03, 0xca, 0xc7, 0x8c, 0x23,
0xf1, 0x07, 0xb2, 0x60, 0x36, 0x0b, 0x9d, 0xf7, 0xc2, 0xc9, 0xf4, 0x28, 0xaf, 0xf2, 0x82, 0x53,
0x84, 0xfc, 0xb2, 0x28, 0xea, 0x22, 0x48, 0xe4, 0x41, 0x63, 0x28, 0x9f, 0x7b, 0x49, 0xf4, 0x82,
0xff, 0x5b, 0x76, 0xa6, 0xc9, 0xb0, 0x93, 0x94, 0x65, 0xdc, 0xfd, 0xd3, 0xeb, 0x38, 0xe3, 0xa1,
0x94, 0xb8, 0xd5, 0xff, 0x1f, 0xe2, 0xa6, 0xfe, 0xbb, 0x0a, 0x37, 0x73, 0xad, 0x12, 0xfd, 0xf8,
0x1c, 0x86, 0x73, 0xeb, 0xca, 0xd8, 0x4d, 0x6e, 0x40, 0x9f, 0xbd, 0xc4, 0x80, 0xbe, 0x0b, 0xcb,
0xfa, 0xd0, 0xf3, 0xa8, 0xcd, 0x32, 0xac, 0x26, 0xa2, 0x46, 0x7b, 0x69, 0x31, 0xce, 0xea, 0x17,
0xb1, 0xab, 0xda, 0x25, 0xd9, 0x55, 0x32, 0x0a, 0x39, 0x21, 0x07, 0x69, 0x97, 0x8f, 0x42, 0x0e,
0xca, 0x59, 0x7d, 0x3e, 0x1d, 0x04, 0xa8, 0x11, 0xc2, 0x7c, 0x7a, 0x3a, 0x38, 0x49, 0x49, 0x71,
0x46, 0xbb, 0x80, 0xa9, 0x2c, 0x4c, 0xcb, 0x54, 0x10, 0x49, 0x91, 0x30, 0x10, 0x35, 0xbe, 0x3d,
0x4d, 0x2e, 0x4f, 0xcd, 0xc2, 0xd4, 0xbf, 0x29, 0xf0, 0x72, 0x69, 0x11, 0xa0, 0xdd, 0xd4, 0x93,
0xbb, 0x9d, 0x79, 0x72, 0xbf, 0x57, 0x6a, 0x98, 0x78, 0x77, 0xbd, 0x62, 0x6a, 0xf4, 0xc1, 0x74,
0xd4, 0xa8, 0x60, 0x6e, 0xbf, 0x98, 0x23, 0x75, 0xb6, 0x9f, 0x3e, 0x6b, 0xcd, 0x7c, 0xfd, 0xac,
0x35, 0xf3, 0xcd, 0xb3, 0xd6, 0xcc, 0x6f, 0x26, 0x2d, 0xe5, 0xe9, 0xa4, 0xa5, 0x7c, 0x3d, 0x69,
0x29, 0xdf, 0x4c, 0x5a, 0xca, 0x3f, 0x26, 0x2d, 0xe5, 0x77, 0xcf, 0x5b, 0x33, 0x9f, 0xcf, 0x4b,
0x8f, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x9d, 0x5d, 0x9e, 0x04, 0x8c, 0x1b, 0x00, 0x00,
}

View File

@ -338,6 +338,27 @@ message StatefulSet {
optional StatefulSetStatus status = 3;
}
// StatefulSetCondition describes the state of a statefulset at a certain point.
message StatefulSetCondition {
// Type of statefulset condition.
optional string type = 1;
// Status of the condition, one of True, False, Unknown.
optional string status = 2;
// Last time the condition transitioned from one status to another.
// +optional
optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
// The reason for the condition's last transition.
// +optional
optional string reason = 4;
// A human readable message indicating details about the transition.
// +optional
optional string message = 5;
}
// StatefulSetList is a collection of StatefulSets.
message StatefulSetList {
// +optional
@ -442,6 +463,12 @@ message StatefulSetStatus {
// newest ControllerRevision.
// +optional
optional int32 collisionCount = 9;
// Represents the latest available observations of a statefulset's current state.
// +optional
// +patchMergeKey=type
// +patchStrategy=merge
repeated StatefulSetCondition conditions = 10;
}
// StatefulSetUpdateStrategy indicates the strategy that the StatefulSet

View File

@ -247,6 +247,31 @@ type StatefulSetStatus struct {
// newest ControllerRevision.
// +optional
CollisionCount *int32 `json:"collisionCount,omitempty" protobuf:"varint,9,opt,name=collisionCount"`
// Represents the latest available observations of a statefulset's current state.
// +optional
// +patchMergeKey=type
// +patchStrategy=merge
Conditions []StatefulSetCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,10,rep,name=conditions"`
}
type StatefulSetConditionType string
// StatefulSetCondition describes the state of a statefulset at a certain point.
type StatefulSetCondition struct {
// Type of statefulset condition.
Type StatefulSetConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=StatefulSetConditionType"`
// Status of the condition, one of True, False, Unknown.
Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
// Last time the condition transitioned from one status to another.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
// The reason for the condition's last transition.
// +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// A human readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

View File

@ -206,6 +206,19 @@ func (StatefulSet) SwaggerDoc() map[string]string {
return map_StatefulSet
}
var map_StatefulSetCondition = map[string]string{
"": "StatefulSetCondition describes the state of a statefulset at a certain point.",
"type": "Type of statefulset condition.",
"status": "Status of the condition, one of True, False, Unknown.",
"lastTransitionTime": "Last time the condition transitioned from one status to another.",
"reason": "The reason for the condition's last transition.",
"message": "A human readable message indicating details about the transition.",
}
func (StatefulSetCondition) SwaggerDoc() map[string]string {
return map_StatefulSetCondition
}
var map_StatefulSetList = map[string]string{
"": "StatefulSetList is a collection of StatefulSets.",
}
@ -240,6 +253,7 @@ var map_StatefulSetStatus = map[string]string{
"currentRevision": "currentRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas).",
"updateRevision": "updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)",
"collisionCount": "collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.",
"conditions": "Represents the latest available observations of a statefulset's current state.",
}
func (StatefulSetStatus) SwaggerDoc() map[string]string {

View File

@ -103,6 +103,10 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
in.(*StatefulSet).DeepCopyInto(out.(*StatefulSet))
return nil
}, InType: reflect.TypeOf(&StatefulSet{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*StatefulSetCondition).DeepCopyInto(out.(*StatefulSetCondition))
return nil
}, InType: reflect.TypeOf(&StatefulSetCondition{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*StatefulSetList).DeepCopyInto(out.(*StatefulSetList))
return nil
@ -591,6 +595,23 @@ func (in *StatefulSet) DeepCopyObject() runtime.Object {
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StatefulSetCondition) DeepCopyInto(out *StatefulSetCondition) {
*out = *in
in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulSetCondition.
func (in *StatefulSetCondition) DeepCopy() *StatefulSetCondition {
if in == nil {
return nil
}
out := new(StatefulSetCondition)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StatefulSetList) DeepCopyInto(out *StatefulSetList) {
*out = *in
@ -698,6 +719,13 @@ func (in *StatefulSetStatus) DeepCopyInto(out *StatefulSetStatus) {
**out = **in
}
}
if in.Conditions != nil {
in, out := &in.Conditions, &out.Conditions
*out = make([]StatefulSetCondition, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
return
}

View File

@ -51,6 +51,7 @@ limitations under the License.
ScaleSpec
ScaleStatus
StatefulSet
StatefulSetCondition
StatefulSetList
StatefulSetSpec
StatefulSetStatus
@ -194,22 +195,26 @@ func (m *StatefulSet) Reset() { *m = StatefulSet{} }
func (*StatefulSet) ProtoMessage() {}
func (*StatefulSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{25} }
func (m *StatefulSetCondition) Reset() { *m = StatefulSetCondition{} }
func (*StatefulSetCondition) ProtoMessage() {}
func (*StatefulSetCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} }
func (m *StatefulSetList) Reset() { *m = StatefulSetList{} }
func (*StatefulSetList) ProtoMessage() {}
func (*StatefulSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{26} }
func (*StatefulSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} }
func (m *StatefulSetSpec) Reset() { *m = StatefulSetSpec{} }
func (*StatefulSetSpec) ProtoMessage() {}
func (*StatefulSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{27} }
func (*StatefulSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} }
func (m *StatefulSetStatus) Reset() { *m = StatefulSetStatus{} }
func (*StatefulSetStatus) ProtoMessage() {}
func (*StatefulSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{28} }
func (*StatefulSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{29} }
func (m *StatefulSetUpdateStrategy) Reset() { *m = StatefulSetUpdateStrategy{} }
func (*StatefulSetUpdateStrategy) ProtoMessage() {}
func (*StatefulSetUpdateStrategy) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{29}
return fileDescriptorGenerated, []int{30}
}
func init() {
@ -239,6 +244,7 @@ func init() {
proto.RegisterType((*ScaleSpec)(nil), "k8s.io.api.apps.v1beta2.ScaleSpec")
proto.RegisterType((*ScaleStatus)(nil), "k8s.io.api.apps.v1beta2.ScaleStatus")
proto.RegisterType((*StatefulSet)(nil), "k8s.io.api.apps.v1beta2.StatefulSet")
proto.RegisterType((*StatefulSetCondition)(nil), "k8s.io.api.apps.v1beta2.StatefulSetCondition")
proto.RegisterType((*StatefulSetList)(nil), "k8s.io.api.apps.v1beta2.StatefulSetList")
proto.RegisterType((*StatefulSetSpec)(nil), "k8s.io.api.apps.v1beta2.StatefulSetSpec")
proto.RegisterType((*StatefulSetStatus)(nil), "k8s.io.api.apps.v1beta2.StatefulSetStatus")
@ -1321,6 +1327,48 @@ func (m *StatefulSet) MarshalTo(dAtA []byte) (int, error) {
return i, nil
}
func (m *StatefulSetCondition) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA)
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *StatefulSetCondition) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Type)))
i += copy(dAtA[i:], m.Type)
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Status)))
i += copy(dAtA[i:], m.Status)
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size()))
n39, err := m.LastTransitionTime.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n39
dAtA[i] = 0x22
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason)))
i += copy(dAtA[i:], m.Reason)
dAtA[i] = 0x2a
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Message)))
i += copy(dAtA[i:], m.Message)
return i, nil
}
func (m *StatefulSetList) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@ -1339,11 +1387,11 @@ func (m *StatefulSetList) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
n39, err := m.ListMeta.MarshalTo(dAtA[i:])
n40, err := m.ListMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n39
i += n40
if len(m.Items) > 0 {
for _, msg := range m.Items {
dAtA[i] = 0x12
@ -1383,20 +1431,20 @@ func (m *StatefulSetSpec) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
n40, err := m.Selector.MarshalTo(dAtA[i:])
n41, err := m.Selector.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n40
i += n41
}
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size()))
n41, err := m.Template.MarshalTo(dAtA[i:])
n42, err := m.Template.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n41
i += n42
if len(m.VolumeClaimTemplates) > 0 {
for _, msg := range m.VolumeClaimTemplates {
dAtA[i] = 0x22
@ -1420,11 +1468,11 @@ func (m *StatefulSetSpec) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x3a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.UpdateStrategy.Size()))
n42, err := m.UpdateStrategy.MarshalTo(dAtA[i:])
n43, err := m.UpdateStrategy.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n42
i += n43
if m.RevisionHistoryLimit != nil {
dAtA[i] = 0x40
i++
@ -1476,6 +1524,18 @@ func (m *StatefulSetStatus) MarshalTo(dAtA []byte) (int, error) {
i++
i = encodeVarintGenerated(dAtA, i, uint64(*m.CollisionCount))
}
if len(m.Conditions) > 0 {
for _, msg := range m.Conditions {
dAtA[i] = 0x52
i++
i = encodeVarintGenerated(dAtA, i, uint64(msg.Size()))
n, err := msg.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n
}
}
return i, nil
}
@ -1502,11 +1562,11 @@ func (m *StatefulSetUpdateStrategy) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.RollingUpdate.Size()))
n43, err := m.RollingUpdate.MarshalTo(dAtA[i:])
n44, err := m.RollingUpdate.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n43
i += n44
}
return i, nil
}
@ -1916,6 +1976,22 @@ func (m *StatefulSet) Size() (n int) {
return n
}
func (m *StatefulSetCondition) Size() (n int) {
var l int
_ = l
l = len(m.Type)
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Status)
n += 1 + l + sovGenerated(uint64(l))
l = m.LastTransitionTime.Size()
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Reason)
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Message)
n += 1 + l + sovGenerated(uint64(l))
return n
}
func (m *StatefulSetList) Size() (n int) {
var l int
_ = l
@ -1975,6 +2051,12 @@ func (m *StatefulSetStatus) Size() (n int) {
if m.CollisionCount != nil {
n += 1 + sovGenerated(uint64(*m.CollisionCount))
}
if len(m.Conditions) > 0 {
for _, e := range m.Conditions {
l = e.Size()
n += 1 + l + sovGenerated(uint64(l))
}
}
return n
}
@ -2342,6 +2424,20 @@ func (this *StatefulSet) String() string {
}, "")
return s
}
func (this *StatefulSetCondition) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&StatefulSetCondition{`,
`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
`Status:` + fmt.Sprintf("%v", this.Status) + `,`,
`LastTransitionTime:` + strings.Replace(strings.Replace(this.LastTransitionTime.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`,
`Reason:` + fmt.Sprintf("%v", this.Reason) + `,`,
`Message:` + fmt.Sprintf("%v", this.Message) + `,`,
`}`,
}, "")
return s
}
func (this *StatefulSetList) String() string {
if this == nil {
return "nil"
@ -2383,6 +2479,7 @@ func (this *StatefulSetStatus) String() string {
`CurrentRevision:` + fmt.Sprintf("%v", this.CurrentRevision) + `,`,
`UpdateRevision:` + fmt.Sprintf("%v", this.UpdateRevision) + `,`,
`CollisionCount:` + valueToStringGenerated(this.CollisionCount) + `,`,
`Conditions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Conditions), "StatefulSetCondition", "StatefulSetCondition", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
@ -6293,6 +6390,202 @@ func (m *StatefulSet) Unmarshal(dAtA []byte) error {
}
return nil
}
func (m *StatefulSetCondition) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: StatefulSetCondition: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: StatefulSetCondition: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Type", 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.Type = StatefulSetConditionType(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Status", 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.Status = k8s_io_api_core_v1.ConditionStatus(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field LastTransitionTime", 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 err := m.LastTransitionTime.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Reason", 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.Reason = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 5:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Message", 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.Message = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthGenerated
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *StatefulSetList) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@ -6878,6 +7171,37 @@ func (m *StatefulSetStatus) Unmarshal(dAtA []byte) error {
}
}
m.CollisionCount = &v
case 10:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Conditions", 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
}
m.Conditions = append(m.Conditions, StatefulSetCondition{})
if err := m.Conditions[len(m.Conditions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@ -7121,140 +7445,142 @@ func init() {
}
var fileDescriptorGenerated = []byte{
// 2150 bytes of a gzipped FileDescriptorProto
// 2186 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcb, 0x6f, 0x1c, 0xb7,
0x19, 0xd7, 0xec, 0x43, 0x5a, 0x51, 0x96, 0x64, 0x53, 0xaa, 0xb4, 0x91, 0xdb, 0x95, 0x31, 0x09,
0x1c, 0x39, 0xb6, 0x77, 0x6d, 0xe5, 0x81, 0xc4, 0x06, 0xda, 0x6a, 0xa5, 0xd4, 0x76, 0xa0, 0x57,
0x19, 0xf7, 0xec, 0x43, 0x5a, 0x51, 0x96, 0x64, 0x53, 0xaa, 0xb4, 0x91, 0xdb, 0x95, 0xb1, 0x09,
0x1c, 0x39, 0xb6, 0x66, 0x6d, 0xe5, 0x81, 0xc4, 0x2e, 0xda, 0x6a, 0xa5, 0xd4, 0x76, 0xa0, 0x57,
0x28, 0xcb, 0x40, 0x83, 0x16, 0x35, 0xb5, 0x4b, 0xaf, 0x26, 0x9a, 0x17, 0x66, 0x38, 0x5b, 0x2f,
0x7a, 0xe9, 0xa9, 0x40, 0x81, 0x02, 0x69, 0xaf, 0xfd, 0x27, 0x7a, 0x2b, 0x8a, 0xf6, 0x56, 0x04,
0x85, 0x2f, 0x05, 0x82, 0x5e, 0x92, 0x93, 0x50, 0x6f, 0x4e, 0x45, 0xcf, 0xbd, 0x04, 0x28, 0x50,
0x90, 0xc3, 0x79, 0x70, 0x1e, 0xde, 0x91, 0x62, 0x2b, 0x85, 0x91, 0x9b, 0x96, 0xfc, 0x7d, 0x3f,
0x7e, 0x1f, 0xf9, 0x91, 0xdf, 0x8f, 0x1c, 0x81, 0x1f, 0x1e, 0xbd, 0xeb, 0x36, 0x35, 0xab, 0x75,
0xe4, 0x1d, 0x10, 0xc7, 0x24, 0x94, 0xb8, 0xad, 0x3e, 0x31, 0xbb, 0x96, 0xd3, 0x12, 0x1d, 0xd8,
0xd6, 0x5a, 0xd8, 0xb6, 0xdd, 0x56, 0xff, 0xe6, 0x01, 0xa1, 0x78, 0xb5, 0xd5, 0x23, 0x26, 0x71,
0x30, 0x25, 0xdd, 0xa6, 0xed, 0x58, 0xd4, 0x82, 0x8b, 0x3e, 0xb0, 0x89, 0x6d, 0xad, 0xc9, 0x80,
0x4d, 0x01, 0x5c, 0xba, 0xde, 0xd3, 0xe8, 0xa1, 0x77, 0xd0, 0xec, 0x58, 0x46, 0xab, 0x67, 0xf5,
0xac, 0x16, 0xc7, 0x1f, 0x78, 0x8f, 0xf8, 0x2f, 0xfe, 0x83, 0xff, 0xe5, 0xf3, 0x2c, 0xa9, 0xb1,
0x01, 0x3b, 0x96, 0x43, 0x5a, 0xfd, 0x9b, 0xc9, 0xb1, 0x96, 0xae, 0xc4, 0x30, 0xb6, 0xa5, 0x6b,
0x9d, 0x81, 0x70, 0x2b, 0x0d, 0x7d, 0x2b, 0x82, 0x1a, 0xb8, 0x73, 0xa8, 0x99, 0xc4, 0x19, 0xb4,
0xec, 0xa3, 0x1e, 0x6b, 0x70, 0x5b, 0x06, 0xa1, 0x38, 0x6b, 0x80, 0x56, 0x9e, 0x95, 0xe3, 0x99,
0x54, 0x33, 0x48, 0xca, 0xe0, 0x9d, 0x51, 0x06, 0x6e, 0xe7, 0x90, 0x18, 0x38, 0x65, 0xf7, 0x66,
0x9e, 0x9d, 0x47, 0x35, 0xbd, 0xa5, 0x99, 0xd4, 0xa5, 0x4e, 0xd2, 0x48, 0xfd, 0x8f, 0x02, 0xe0,
0xba, 0x65, 0x52, 0xc7, 0xd2, 0x75, 0xe2, 0x20, 0xd2, 0xd7, 0x5c, 0xcd, 0x32, 0xe1, 0x43, 0x50,
0x63, 0xf1, 0x74, 0x31, 0xc5, 0x75, 0xe5, 0x92, 0xb2, 0x32, 0xb5, 0x7a, 0xa3, 0x19, 0x2d, 0x4a,
0x48, 0xdf, 0xb4, 0x8f, 0x7a, 0xac, 0xc1, 0x6d, 0x32, 0x74, 0xb3, 0x7f, 0xb3, 0xb9, 0x73, 0xf0,
0x31, 0xe9, 0xd0, 0x2d, 0x42, 0x71, 0x1b, 0x3e, 0x39, 0x5e, 0x1e, 0x1b, 0x1e, 0x2f, 0x83, 0xa8,
0x0d, 0x85, 0xac, 0x70, 0x07, 0x54, 0x38, 0x7b, 0x89, 0xb3, 0x5f, 0xcf, 0x65, 0x17, 0x41, 0x37,
0x11, 0xfe, 0xf9, 0xfb, 0x8f, 0x29, 0x31, 0x99, 0x7b, 0xed, 0x73, 0x82, 0xba, 0xb2, 0x81, 0x29,
0x46, 0x9c, 0x08, 0x5e, 0x03, 0x35, 0x47, 0xb8, 0x5f, 0x2f, 0x5f, 0x52, 0x56, 0xca, 0xed, 0xf3,
0x02, 0x55, 0x0b, 0xc2, 0x42, 0x21, 0x42, 0x7d, 0xa2, 0x80, 0x85, 0x74, 0xdc, 0x9b, 0x9a, 0x4b,
0xe1, 0x4f, 0x52, 0xb1, 0x37, 0x8b, 0xc5, 0xce, 0xac, 0x79, 0xe4, 0xe1, 0xc0, 0x41, 0x4b, 0x2c,
0xee, 0x5d, 0x50, 0xd5, 0x28, 0x31, 0xdc, 0x7a, 0xe9, 0x52, 0x79, 0x65, 0x6a, 0xf5, 0x6a, 0x33,
0x27, 0xd7, 0x9b, 0x69, 0xef, 0xda, 0xd3, 0x82, 0xb7, 0x7a, 0x8f, 0x31, 0x20, 0x9f, 0x48, 0xfd,
0x75, 0x09, 0x4c, 0x6e, 0x60, 0x62, 0x58, 0xe6, 0x1e, 0xa1, 0x67, 0xb0, 0x72, 0x77, 0x41, 0xc5,
0xb5, 0x49, 0x47, 0xac, 0xdc, 0xe5, 0xdc, 0x00, 0x42, 0x9f, 0xf6, 0x6c, 0xd2, 0x89, 0x96, 0x8c,
0xfd, 0x42, 0x9c, 0x01, 0xee, 0x82, 0x71, 0x97, 0x62, 0xea, 0xb9, 0x7c, 0xc1, 0xa6, 0x56, 0x57,
0x0a, 0x70, 0x71, 0x7c, 0x7b, 0x46, 0xb0, 0x8d, 0xfb, 0xbf, 0x91, 0xe0, 0x51, 0xff, 0x55, 0x02,
0x30, 0xc4, 0xae, 0x5b, 0x66, 0x57, 0xa3, 0x2c, 0x9d, 0x6f, 0x81, 0x0a, 0x1d, 0xd8, 0x84, 0x4f,
0xc8, 0x64, 0xfb, 0x72, 0xe0, 0xca, 0xfd, 0x81, 0x4d, 0xbe, 0x3a, 0x5e, 0x5e, 0x48, 0x5b, 0xb0,
0x1e, 0xc4, 0x6d, 0xe0, 0x66, 0xe8, 0x64, 0x89, 0x5b, 0xbf, 0x25, 0x0f, 0xfd, 0xd5, 0xf1, 0x72,
0xc6, 0x31, 0xd3, 0x0c, 0x99, 0x64, 0x07, 0x61, 0x1f, 0x40, 0x1d, 0xbb, 0xf4, 0xbe, 0x83, 0x4d,
0xd7, 0x1f, 0x49, 0x33, 0x88, 0x08, 0xff, 0x8d, 0x62, 0x0b, 0xc5, 0x2c, 0xda, 0x4b, 0xc2, 0x0b,
0xb8, 0x99, 0x62, 0x43, 0x19, 0x23, 0xc0, 0xcb, 0x60, 0xdc, 0x21, 0xd8, 0xb5, 0xcc, 0x7a, 0x85,
0x47, 0x11, 0x4e, 0x20, 0xe2, 0xad, 0x48, 0xf4, 0xc2, 0x2b, 0x60, 0xc2, 0x20, 0xae, 0x8b, 0x7b,
0xa4, 0x5e, 0xe5, 0xc0, 0x59, 0x01, 0x9c, 0xd8, 0xf2, 0x9b, 0x51, 0xd0, 0xaf, 0xfe, 0x51, 0x01,
0xd3, 0xe1, 0xcc, 0x9d, 0xc1, 0xce, 0xb9, 0x23, 0xef, 0x1c, 0x75, 0x74, 0xb2, 0xe4, 0x6c, 0x98,
0x4f, 0xcb, 0x31, 0xc7, 0x59, 0x3a, 0xc2, 0x9f, 0x82, 0x9a, 0x4b, 0x74, 0xd2, 0xa1, 0x96, 0x23,
0x1c, 0x7f, 0xb3, 0xa0, 0xe3, 0xf8, 0x80, 0xe8, 0x7b, 0xc2, 0xb4, 0x7d, 0x8e, 0x79, 0x1e, 0xfc,
0x42, 0x21, 0x25, 0xfc, 0x10, 0xd4, 0x28, 0x31, 0x6c, 0x1d, 0x53, 0x22, 0x76, 0xcd, 0xab, 0x71,
0xe7, 0x59, 0xce, 0x30, 0xb2, 0x5d, 0xab, 0x7b, 0x5f, 0xc0, 0xf8, 0x96, 0x09, 0x27, 0x23, 0x68,
0x45, 0x21, 0x0d, 0xb4, 0xc1, 0x8c, 0x67, 0x77, 0x19, 0x92, 0xb2, 0xe3, 0xbc, 0x37, 0x10, 0x39,
0x74, 0x63, 0xf4, 0xac, 0xec, 0x4b, 0x76, 0xed, 0x05, 0x31, 0xca, 0x8c, 0xdc, 0x8e, 0x12, 0xfc,
0x70, 0x0d, 0xcc, 0x1a, 0x9a, 0x89, 0x08, 0xee, 0x0e, 0xf6, 0x48, 0xc7, 0x32, 0xbb, 0x2e, 0x4f,
0xa5, 0x6a, 0x7b, 0x51, 0x10, 0xcc, 0x6e, 0xc9, 0xdd, 0x28, 0x89, 0x87, 0x9b, 0x60, 0x3e, 0x38,
0x80, 0xef, 0x6a, 0x2e, 0xb5, 0x9c, 0xc1, 0xa6, 0x66, 0x68, 0xb4, 0x3e, 0xce, 0x79, 0xea, 0xc3,
0xe3, 0xe5, 0x79, 0x94, 0xd1, 0x8f, 0x32, 0xad, 0xd4, 0xdf, 0x8d, 0x83, 0xd9, 0xc4, 0xb9, 0x00,
0x1f, 0x80, 0x85, 0x8e, 0xe7, 0x38, 0xc4, 0xa4, 0xdb, 0x9e, 0x71, 0x40, 0x9c, 0xbd, 0xce, 0x21,
0xe9, 0x7a, 0x3a, 0xe9, 0xf2, 0x65, 0xad, 0xb6, 0x1b, 0xc2, 0xd7, 0x85, 0xf5, 0x4c, 0x14, 0xca,
0xb1, 0x86, 0x1f, 0x00, 0x68, 0xf2, 0xa6, 0x2d, 0xcd, 0x75, 0x43, 0xce, 0x12, 0xe7, 0x0c, 0xb7,
0xe2, 0x76, 0x0a, 0x81, 0x32, 0xac, 0x98, 0x8f, 0x5d, 0xe2, 0x6a, 0x0e, 0xe9, 0x26, 0x7d, 0x2c,
0xcb, 0x3e, 0x6e, 0x64, 0xa2, 0x50, 0x8e, 0x35, 0x7c, 0x1b, 0x4c, 0xf9, 0xa3, 0xf1, 0x39, 0x17,
0x8b, 0x33, 0x27, 0xc8, 0xa6, 0xb6, 0xa3, 0x2e, 0x14, 0xc7, 0xb1, 0xd0, 0xac, 0x03, 0x97, 0x38,
0x7d, 0xd2, 0xbd, 0xe3, 0x8b, 0x03, 0x56, 0x41, 0xab, 0xbc, 0x82, 0x86, 0xa1, 0xed, 0xa4, 0x10,
0x28, 0xc3, 0x8a, 0x85, 0xe6, 0x67, 0x4d, 0x2a, 0xb4, 0x71, 0x39, 0xb4, 0xfd, 0x4c, 0x14, 0xca,
0xb1, 0x66, 0xb9, 0xe7, 0xbb, 0xbc, 0xd6, 0xc7, 0x9a, 0x8e, 0x0f, 0x74, 0x52, 0x9f, 0x90, 0x73,
0x6f, 0x5b, 0xee, 0x46, 0x49, 0x3c, 0xbc, 0x03, 0x2e, 0xf8, 0x4d, 0xfb, 0x26, 0x0e, 0x49, 0x6a,
0x9c, 0xe4, 0x15, 0x41, 0x72, 0x61, 0x3b, 0x09, 0x40, 0x69, 0x1b, 0x78, 0x0b, 0xcc, 0x74, 0x2c,
0x5d, 0xe7, 0xf9, 0xb8, 0x6e, 0x79, 0x26, 0xad, 0x4f, 0x72, 0x16, 0xc8, 0xf6, 0xd0, 0xba, 0xd4,
0x83, 0x12, 0x48, 0xf8, 0x33, 0x00, 0x3a, 0x41, 0x61, 0x70, 0xeb, 0x60, 0x84, 0x02, 0x48, 0x97,
0xa5, 0xa8, 0x32, 0x87, 0x4d, 0x2e, 0x8a, 0x51, 0xaa, 0x9f, 0x2a, 0x60, 0x31, 0x67, 0xa3, 0xc3,
0x1f, 0x48, 0x45, 0xf0, 0x6a, 0xa2, 0x08, 0x5e, 0xcc, 0x31, 0x8b, 0x55, 0xc2, 0x43, 0x30, 0xcd,
0x04, 0x89, 0x66, 0xf6, 0x7c, 0x88, 0x38, 0xcb, 0x5a, 0xb9, 0x01, 0xa0, 0x38, 0x3a, 0x3a, 0x95,
0x2f, 0x0c, 0x8f, 0x97, 0xa7, 0xa5, 0x3e, 0x24, 0x13, 0xab, 0xbf, 0x29, 0x01, 0xb0, 0x41, 0x6c,
0xdd, 0x1a, 0x18, 0xc4, 0x3c, 0x0b, 0x4d, 0x73, 0x4f, 0xd2, 0x34, 0xaf, 0xe7, 0x2f, 0x49, 0xe8,
0x54, 0xae, 0xa8, 0xf9, 0x30, 0x21, 0x6a, 0xae, 0x14, 0x21, 0x7b, 0xb6, 0xaa, 0xf9, 0xbc, 0x0c,
0xe6, 0x22, 0x70, 0x24, 0x6b, 0x6e, 0x4b, 0x2b, 0xfa, 0x7a, 0x62, 0x45, 0x17, 0x33, 0x4c, 0x5e,
0x98, 0xae, 0x79, 0xfe, 0xfa, 0x02, 0x7e, 0x0c, 0x66, 0x98, 0x90, 0xf1, 0x53, 0x82, 0xcb, 0xa4,
0xf1, 0x13, 0xcb, 0xa4, 0xb0, 0xb8, 0x6d, 0x4a, 0x4c, 0x28, 0xc1, 0x9c, 0x23, 0xcb, 0x26, 0x5e,
0xb4, 0x2c, 0x53, 0xff, 0xa4, 0x80, 0x99, 0x68, 0x99, 0xce, 0x40, 0x44, 0xdd, 0x95, 0x45, 0xd4,
0xab, 0x05, 0x92, 0x33, 0x47, 0x45, 0x7d, 0x5e, 0x89, 0xbb, 0xce, 0x65, 0xd4, 0x0a, 0xbb, 0x82,
0xd9, 0xba, 0xd6, 0xc1, 0xae, 0xa8, 0xb7, 0xe7, 0xfc, 0xeb, 0x97, 0xdf, 0x86, 0xc2, 0x5e, 0x49,
0x70, 0x95, 0x5e, 0xac, 0xe0, 0x2a, 0x3f, 0x1f, 0xc1, 0xf5, 0x63, 0x50, 0x73, 0x03, 0xa9, 0x55,
0xe1, 0x94, 0x57, 0x0b, 0x6d, 0x6c, 0xa1, 0xb2, 0x42, 0xea, 0x50, 0x5f, 0x85, 0x74, 0x59, 0xca,
0xaa, 0xfa, 0x4d, 0x2a, 0x2b, 0xb6, 0x99, 0x6d, 0xec, 0xb9, 0xa4, 0xcb, 0x77, 0x40, 0x2d, 0xda,
0xcc, 0xbb, 0xbc, 0x15, 0x89, 0x5e, 0xb8, 0x0f, 0x16, 0x6d, 0xc7, 0xea, 0x39, 0xc4, 0x75, 0x37,
0x08, 0xee, 0xea, 0x9a, 0x49, 0x82, 0x00, 0xfc, 0x9a, 0x78, 0x71, 0x78, 0xbc, 0xbc, 0xb8, 0x9b,
0x0d, 0x41, 0x79, 0xb6, 0xea, 0x5f, 0x2b, 0xe0, 0x7c, 0xf2, 0x6c, 0xcc, 0x91, 0x29, 0xca, 0xa9,
0x64, 0xca, 0xb5, 0x58, 0x9e, 0xfa, 0x1a, 0x2e, 0xf6, 0x54, 0x90, 0xca, 0xd5, 0x35, 0x30, 0x2b,
0x64, 0x49, 0xd0, 0x29, 0x84, 0x5a, 0xb8, 0x3c, 0xfb, 0x72, 0x37, 0x4a, 0xe2, 0x99, 0xf8, 0x88,
0x34, 0x45, 0x40, 0x52, 0x91, 0xc5, 0xc7, 0x5a, 0x12, 0x80, 0xd2, 0x36, 0x70, 0x0b, 0xcc, 0x79,
0x66, 0x9a, 0xca, 0x4f, 0x97, 0x8b, 0x82, 0x6a, 0x6e, 0x3f, 0x0d, 0x41, 0x59, 0x76, 0xf0, 0xa1,
0xa4, 0x47, 0xc6, 0xf9, 0x91, 0x70, 0xad, 0x40, 0x5a, 0x17, 0x16, 0x24, 0xf0, 0x36, 0x98, 0x76,
0xb8, 0xe6, 0x0c, 0x5c, 0xf5, 0x75, 0xdb, 0x77, 0x84, 0xd9, 0x34, 0x8a, 0x77, 0x22, 0x19, 0x9b,
0x21, 0xb5, 0x6a, 0x45, 0xa5, 0x96, 0xfa, 0x17, 0x05, 0xc0, 0xf4, 0x3e, 0x1c, 0xf9, 0x12, 0x90,
0xb2, 0x88, 0x55, 0x4c, 0x2d, 0x5b, 0xff, 0xdc, 0x28, 0xa8, 0x7f, 0xa2, 0x03, 0xb5, 0x98, 0x00,
0x12, 0xd3, 0x70, 0x36, 0x8f, 0x3a, 0x45, 0x05, 0x50, 0xe4, 0xd4, 0x73, 0x10, 0x40, 0x31, 0xb2,
0x67, 0x0b, 0xa0, 0x7f, 0x97, 0xc0, 0x5c, 0x04, 0x2e, 0x2c, 0x80, 0x32, 0x4c, 0xbe, 0x7d, 0xd8,
0x19, 0xfd, 0xb0, 0xc3, 0x44, 0x49, 0x34, 0x75, 0xff, 0x4f, 0xa2, 0x24, 0xf2, 0x2a, 0x47, 0x94,
0xfc, 0xa1, 0x14, 0x77, 0xfd, 0xa5, 0x17, 0x25, 0x5f, 0xff, 0x4d, 0x46, 0xfd, 0x5b, 0x19, 0x9c,
0x4f, 0xee, 0x43, 0xa9, 0x40, 0x2a, 0x23, 0x0b, 0xe4, 0x2e, 0x98, 0x7f, 0xe4, 0xe9, 0xfa, 0x80,
0x4f, 0x43, 0xac, 0x4a, 0xfa, 0xa5, 0xf5, 0xbb, 0xc2, 0x72, 0xfe, 0x47, 0x19, 0x18, 0x94, 0x69,
0x99, 0x53, 0xec, 0xcb, 0xa7, 0x2a, 0xf6, 0xa9, 0x0a, 0x54, 0x39, 0x41, 0x05, 0xca, 0x2c, 0xdc,
0xd5, 0x53, 0x14, 0xee, 0x93, 0x55, 0xda, 0x8c, 0x83, 0x6b, 0xe4, 0xd5, 0xff, 0x57, 0x0a, 0x58,
0xc8, 0xbe, 0x70, 0x43, 0x1d, 0xcc, 0x18, 0xf8, 0x71, 0xfc, 0xe1, 0x63, 0x54, 0x11, 0xf1, 0xa8,
0xa6, 0x37, 0xfd, 0x4f, 0x46, 0xcd, 0x7b, 0x26, 0xdd, 0x71, 0xf6, 0xa8, 0xa3, 0x99, 0x3d, 0xbf,
0xf2, 0x6e, 0x49, 0x5c, 0x28, 0xc1, 0xad, 0x7e, 0xa9, 0x80, 0xc5, 0x9c, 0xca, 0x77, 0xb6, 0x9e,
0xc0, 0x8f, 0x40, 0xcd, 0xc0, 0x8f, 0xf7, 0x3c, 0xa7, 0x97, 0x55, 0xab, 0x8b, 0x8d, 0xc3, 0x77,
0xf3, 0x96, 0x60, 0x41, 0x21, 0x9f, 0xba, 0x03, 0x2e, 0x49, 0x41, 0xb2, 0x9d, 0x43, 0x1e, 0x79,
0x3a, 0xdf, 0x44, 0x42, 0x6c, 0x5c, 0x05, 0x93, 0x36, 0x76, 0xa8, 0x16, 0x4a, 0xd5, 0x6a, 0x7b,
0x7a, 0x78, 0xbc, 0x3c, 0xb9, 0x1b, 0x34, 0xa2, 0xa8, 0x5f, 0xfd, 0xaf, 0x02, 0xaa, 0x7b, 0x1d,
0xac, 0x93, 0x33, 0xa8, 0xf6, 0x1b, 0x52, 0xb5, 0xcf, 0x7f, 0x49, 0xe7, 0xfe, 0xe4, 0x16, 0xfa,
0xcd, 0x44, 0xa1, 0x7f, 0x6d, 0x04, 0xcf, 0xb3, 0x6b, 0xfc, 0x7b, 0x60, 0x32, 0x1c, 0xee, 0x64,
0x07, 0x90, 0xfa, 0xfb, 0x12, 0x98, 0x8a, 0x0d, 0x71, 0xc2, 0xe3, 0xeb, 0xa1, 0x74, 0xec, 0xb3,
0x8d, 0xb9, 0x5a, 0x24, 0x90, 0x66, 0x70, 0xc4, 0xbf, 0x6f, 0x52, 0x27, 0x7e, 0xc1, 0x4b, 0x9f,
0xfc, 0xdf, 0x07, 0x33, 0x14, 0x3b, 0x3d, 0x42, 0x83, 0x3e, 0x3e, 0x61, 0x93, 0xd1, 0xeb, 0xc4,
0x7d, 0xa9, 0x17, 0x25, 0xd0, 0x4b, 0xb7, 0xc1, 0xb4, 0x34, 0x18, 0x3c, 0x0f, 0xca, 0x47, 0x64,
0xe0, 0xcb, 0x1e, 0xc4, 0xfe, 0x84, 0xf3, 0xa0, 0xda, 0xc7, 0xba, 0xe7, 0xe7, 0xf9, 0x24, 0xf2,
0x7f, 0xdc, 0x2a, 0xbd, 0xab, 0xa8, 0x9f, 0xb0, 0xc9, 0x89, 0x92, 0xf3, 0x0c, 0xb2, 0xeb, 0x03,
0x29, 0xbb, 0xf2, 0x3f, 0xea, 0xc5, 0xb7, 0x4c, 0x5e, 0x8e, 0xa1, 0x44, 0x8e, 0xbd, 0x51, 0x88,
0xed, 0xd9, 0x99, 0xf6, 0x67, 0x05, 0xcc, 0xc6, 0xd0, 0x67, 0x20, 0x70, 0xee, 0xc9, 0x02, 0xe7,
0xb5, 0x22, 0x41, 0xe4, 0x28, 0x9c, 0xbf, 0x57, 0x25, 0xe7, 0x5f, 0x7a, 0x89, 0xf3, 0x0b, 0x30,
0xdf, 0xb7, 0x74, 0xcf, 0x20, 0xeb, 0x3a, 0xd6, 0x8c, 0x00, 0xc0, 0xaa, 0x78, 0x39, 0x79, 0xb7,
0x08, 0xe9, 0x89, 0xe3, 0x6a, 0x2e, 0x25, 0x26, 0x7d, 0x10, 0x59, 0x46, 0x3a, 0xe4, 0x41, 0x06,
0x1d, 0xca, 0x1c, 0x04, 0xbe, 0x0d, 0xa6, 0x98, 0x9e, 0xd0, 0x3a, 0x64, 0x1b, 0x1b, 0x81, 0x70,
0x0e, 0x3f, 0xa9, 0xec, 0x45, 0x5d, 0x28, 0x8e, 0x83, 0x87, 0x60, 0xce, 0xb6, 0xba, 0x5b, 0xd8,
0xc4, 0x3d, 0xc2, 0xca, 0xde, 0x2e, 0xff, 0xbf, 0x12, 0xfe, 0x18, 0x33, 0xd9, 0x7e, 0x27, 0xb8,
0xa5, 0xef, 0xa6, 0x21, 0xec, 0xd2, 0x92, 0xd1, 0xcc, 0x2f, 0x2d, 0x59, 0x94, 0xd0, 0x49, 0x7d,
0x06, 0xf4, 0xdf, 0x2c, 0x57, 0x8b, 0x64, 0xd8, 0x29, 0x3f, 0x04, 0xe6, 0xbd, 0x35, 0xd5, 0x4e,
0xf5, 0x15, 0xef, 0x93, 0x0a, 0xb8, 0x90, 0xda, 0xba, 0xdf, 0xe0, 0x6b, 0x4f, 0x4a, 0x2e, 0x96,
0x4f, 0x20, 0x17, 0xd7, 0xc0, 0xac, 0xf8, 0x80, 0x98, 0x50, 0x9b, 0xa1, 0x1e, 0x5f, 0x97, 0xbb,
0x51, 0x12, 0x9f, 0xf5, 0xda, 0x54, 0x3d, 0xe1, 0x6b, 0x53, 0xdc, 0x0b, 0xf1, 0x0f, 0x31, 0x7e,
0xea, 0xa5, 0xbd, 0x10, 0xff, 0x17, 0x93, 0xc4, 0xb3, 0x8a, 0xe5, 0xb3, 0x86, 0x0c, 0x13, 0x72,
0xc5, 0xda, 0x97, 0x7a, 0x51, 0x02, 0xfd, 0x75, 0x3e, 0x92, 0xa9, 0xff, 0x50, 0xc0, 0x2b, 0xb9,
0x59, 0x0a, 0xd7, 0xa4, 0x2b, 0xff, 0xf5, 0xc4, 0x95, 0xff, 0x7b, 0xb9, 0x86, 0xb1, 0x8b, 0xbf,
0x93, 0xfd, 0x8e, 0xf3, 0x5e, 0xb1, 0x77, 0x9c, 0x0c, 0xa1, 0x37, 0xfa, 0x41, 0xa7, 0x7d, 0xfd,
0xc9, 0xd3, 0xc6, 0xd8, 0x67, 0x4f, 0x1b, 0x63, 0x5f, 0x3c, 0x6d, 0x8c, 0xfd, 0x72, 0xd8, 0x50,
0x9e, 0x0c, 0x1b, 0xca, 0x67, 0xc3, 0x86, 0xf2, 0xc5, 0xb0, 0xa1, 0xfc, 0x73, 0xd8, 0x50, 0x7e,
0xfb, 0x65, 0x63, 0xec, 0xa3, 0x09, 0x31, 0xe2, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x53, 0x1d,
0xeb, 0xb0, 0x44, 0x27, 0x00, 0x00,
0x7a, 0xe9, 0xa9, 0x40, 0x81, 0x02, 0x6d, 0xaf, 0xfd, 0x27, 0x7a, 0x2b, 0x8a, 0xf6, 0x56, 0x04,
0x85, 0x2f, 0x05, 0x82, 0x5e, 0x92, 0x93, 0x50, 0x6f, 0x4e, 0x45, 0xd1, 0x4b, 0x81, 0x5e, 0x02,
0x14, 0x28, 0xc8, 0xe1, 0x3c, 0x38, 0x0f, 0xef, 0x48, 0xb1, 0x95, 0x22, 0xc8, 0x6d, 0x87, 0xfc,
0x7d, 0x3f, 0x7e, 0x24, 0xbf, 0x8f, 0xdf, 0x6f, 0x38, 0x0b, 0xbe, 0x77, 0xf4, 0xb6, 0xab, 0x6a,
0x56, 0xeb, 0xc8, 0x3b, 0x20, 0x8e, 0x49, 0x28, 0x71, 0x5b, 0x7d, 0x62, 0x76, 0x2d, 0xa7, 0x25,
0x3a, 0xb0, 0xad, 0xb5, 0xb0, 0x6d, 0xbb, 0xad, 0xfe, 0xcd, 0x03, 0x42, 0xf1, 0x6a, 0xab, 0x47,
0x4c, 0xe2, 0x60, 0x4a, 0xba, 0xaa, 0xed, 0x58, 0xd4, 0x82, 0x0b, 0x3e, 0x50, 0xc5, 0xb6, 0xa6,
0x32, 0xa0, 0x2a, 0x80, 0x8b, 0x2b, 0x3d, 0x8d, 0x1e, 0x7a, 0x07, 0x6a, 0xc7, 0x32, 0x5a, 0x3d,
0xab, 0x67, 0xb5, 0x38, 0xfe, 0xc0, 0x7b, 0xc4, 0x9f, 0xf8, 0x03, 0xff, 0xe5, 0xf3, 0x2c, 0x36,
0x63, 0x03, 0x76, 0x2c, 0x87, 0xb4, 0xfa, 0x37, 0x93, 0x63, 0x2d, 0x5e, 0x8d, 0x61, 0x6c, 0x4b,
0xd7, 0x3a, 0x03, 0xe1, 0x56, 0x1a, 0xfa, 0x46, 0x04, 0x35, 0x70, 0xe7, 0x50, 0x33, 0x89, 0x33,
0x68, 0xd9, 0x47, 0x3d, 0xd6, 0xe0, 0xb6, 0x0c, 0x42, 0x71, 0xd6, 0x00, 0xad, 0x3c, 0x2b, 0xc7,
0x33, 0xa9, 0x66, 0x90, 0x94, 0xc1, 0x5b, 0xa3, 0x0c, 0xdc, 0xce, 0x21, 0x31, 0x70, 0xca, 0xee,
0xf5, 0x3c, 0x3b, 0x8f, 0x6a, 0x7a, 0x4b, 0x33, 0xa9, 0x4b, 0x9d, 0xa4, 0x51, 0xf3, 0x3f, 0x0a,
0x80, 0xeb, 0x96, 0x49, 0x1d, 0x4b, 0xd7, 0x89, 0x83, 0x48, 0x5f, 0x73, 0x35, 0xcb, 0x84, 0x0f,
0x41, 0x8d, 0xcd, 0xa7, 0x8b, 0x29, 0xae, 0x2b, 0x97, 0x95, 0xe5, 0xc9, 0xd5, 0x1b, 0x6a, 0xb4,
0x29, 0x21, 0xbd, 0x6a, 0x1f, 0xf5, 0x58, 0x83, 0xab, 0x32, 0xb4, 0xda, 0xbf, 0xa9, 0xee, 0x1c,
0x7c, 0x48, 0x3a, 0x74, 0x8b, 0x50, 0xdc, 0x86, 0x4f, 0x8e, 0x97, 0xce, 0x0d, 0x8f, 0x97, 0x40,
0xd4, 0x86, 0x42, 0x56, 0xb8, 0x03, 0x2a, 0x9c, 0xbd, 0xc4, 0xd9, 0x57, 0x72, 0xd9, 0xc5, 0xa4,
0x55, 0x84, 0x7f, 0xf2, 0xee, 0x63, 0x4a, 0x4c, 0xe6, 0x5e, 0xfb, 0xbc, 0xa0, 0xae, 0x6c, 0x60,
0x8a, 0x11, 0x27, 0x82, 0xd7, 0x41, 0xcd, 0x11, 0xee, 0xd7, 0xcb, 0x97, 0x95, 0xe5, 0x72, 0xfb,
0x82, 0x40, 0xd5, 0x82, 0x69, 0xa1, 0x10, 0xd1, 0x7c, 0xa2, 0x80, 0xf9, 0xf4, 0xbc, 0x37, 0x35,
0x97, 0xc2, 0x1f, 0xa6, 0xe6, 0xae, 0x16, 0x9b, 0x3b, 0xb3, 0xe6, 0x33, 0x0f, 0x07, 0x0e, 0x5a,
0x62, 0xf3, 0xde, 0x05, 0x55, 0x8d, 0x12, 0xc3, 0xad, 0x97, 0x2e, 0x97, 0x97, 0x27, 0x57, 0xaf,
0xa9, 0x39, 0xb1, 0xae, 0xa6, 0xbd, 0x6b, 0x4f, 0x09, 0xde, 0xea, 0x3d, 0xc6, 0x80, 0x7c, 0xa2,
0xe6, 0x2f, 0x4a, 0x60, 0x62, 0x03, 0x13, 0xc3, 0x32, 0xf7, 0x08, 0x3d, 0x83, 0x9d, 0xbb, 0x0b,
0x2a, 0xae, 0x4d, 0x3a, 0x62, 0xe7, 0xae, 0xe4, 0x4e, 0x20, 0xf4, 0x69, 0xcf, 0x26, 0x9d, 0x68,
0xcb, 0xd8, 0x13, 0xe2, 0x0c, 0x70, 0x17, 0x8c, 0xb9, 0x14, 0x53, 0xcf, 0xe5, 0x1b, 0x36, 0xb9,
0xba, 0x5c, 0x80, 0x8b, 0xe3, 0xdb, 0xd3, 0x82, 0x6d, 0xcc, 0x7f, 0x46, 0x82, 0xa7, 0xf9, 0x8f,
0x12, 0x80, 0x21, 0x76, 0xdd, 0x32, 0xbb, 0x1a, 0x65, 0xe1, 0x7c, 0x0b, 0x54, 0xe8, 0xc0, 0x26,
0x7c, 0x41, 0x26, 0xda, 0x57, 0x02, 0x57, 0xee, 0x0f, 0x6c, 0xf2, 0xf9, 0xf1, 0xd2, 0x7c, 0xda,
0x82, 0xf5, 0x20, 0x6e, 0x03, 0x37, 0x43, 0x27, 0x4b, 0xdc, 0xfa, 0x0d, 0x79, 0xe8, 0xcf, 0x8f,
0x97, 0x32, 0x8e, 0x19, 0x35, 0x64, 0x92, 0x1d, 0x84, 0x7d, 0x00, 0x75, 0xec, 0xd2, 0xfb, 0x0e,
0x36, 0x5d, 0x7f, 0x24, 0xcd, 0x20, 0x62, 0xfa, 0xaf, 0x15, 0xdb, 0x28, 0x66, 0xd1, 0x5e, 0x14,
0x5e, 0xc0, 0xcd, 0x14, 0x1b, 0xca, 0x18, 0x01, 0x5e, 0x01, 0x63, 0x0e, 0xc1, 0xae, 0x65, 0xd6,
0x2b, 0x7c, 0x16, 0xe1, 0x02, 0x22, 0xde, 0x8a, 0x44, 0x2f, 0xbc, 0x0a, 0xc6, 0x0d, 0xe2, 0xba,
0xb8, 0x47, 0xea, 0x55, 0x0e, 0x9c, 0x11, 0xc0, 0xf1, 0x2d, 0xbf, 0x19, 0x05, 0xfd, 0xcd, 0xdf,
0x2b, 0x60, 0x2a, 0x5c, 0xb9, 0x33, 0xc8, 0x9c, 0x3b, 0x72, 0xe6, 0x34, 0x47, 0x07, 0x4b, 0x4e,
0xc2, 0x7c, 0x54, 0x8e, 0x39, 0xce, 0xc2, 0x11, 0xfe, 0x08, 0xd4, 0x5c, 0xa2, 0x93, 0x0e, 0xb5,
0x1c, 0xe1, 0xf8, 0xeb, 0x05, 0x1d, 0xc7, 0x07, 0x44, 0xdf, 0x13, 0xa6, 0xed, 0xf3, 0xcc, 0xf3,
0xe0, 0x09, 0x85, 0x94, 0xf0, 0x7d, 0x50, 0xa3, 0xc4, 0xb0, 0x75, 0x4c, 0x89, 0xc8, 0x9a, 0x97,
0xe3, 0xce, 0xb3, 0x98, 0x61, 0x64, 0xbb, 0x56, 0xf7, 0xbe, 0x80, 0xf1, 0x94, 0x09, 0x17, 0x23,
0x68, 0x45, 0x21, 0x0d, 0xb4, 0xc1, 0xb4, 0x67, 0x77, 0x19, 0x92, 0xb2, 0xe3, 0xbc, 0x37, 0x10,
0x31, 0x74, 0x63, 0xf4, 0xaa, 0xec, 0x4b, 0x76, 0xed, 0x79, 0x31, 0xca, 0xb4, 0xdc, 0x8e, 0x12,
0xfc, 0x70, 0x0d, 0xcc, 0x18, 0x9a, 0x89, 0x08, 0xee, 0x0e, 0xf6, 0x48, 0xc7, 0x32, 0xbb, 0x2e,
0x0f, 0xa5, 0x6a, 0x7b, 0x41, 0x10, 0xcc, 0x6c, 0xc9, 0xdd, 0x28, 0x89, 0x87, 0x9b, 0x60, 0x2e,
0x38, 0x80, 0xef, 0x6a, 0x2e, 0xb5, 0x9c, 0xc1, 0xa6, 0x66, 0x68, 0xb4, 0x3e, 0xc6, 0x79, 0xea,
0xc3, 0xe3, 0xa5, 0x39, 0x94, 0xd1, 0x8f, 0x32, 0xad, 0x9a, 0xbf, 0x19, 0x03, 0x33, 0x89, 0x73,
0x01, 0x3e, 0x00, 0xf3, 0x1d, 0xcf, 0x71, 0x88, 0x49, 0xb7, 0x3d, 0xe3, 0x80, 0x38, 0x7b, 0x9d,
0x43, 0xd2, 0xf5, 0x74, 0xd2, 0xe5, 0xdb, 0x5a, 0x6d, 0x37, 0x84, 0xaf, 0xf3, 0xeb, 0x99, 0x28,
0x94, 0x63, 0x0d, 0xdf, 0x03, 0xd0, 0xe4, 0x4d, 0x5b, 0x9a, 0xeb, 0x86, 0x9c, 0x25, 0xce, 0x19,
0xa6, 0xe2, 0x76, 0x0a, 0x81, 0x32, 0xac, 0x98, 0x8f, 0x5d, 0xe2, 0x6a, 0x0e, 0xe9, 0x26, 0x7d,
0x2c, 0xcb, 0x3e, 0x6e, 0x64, 0xa2, 0x50, 0x8e, 0x35, 0x7c, 0x13, 0x4c, 0xfa, 0xa3, 0xf1, 0x35,
0x17, 0x9b, 0x33, 0x2b, 0xc8, 0x26, 0xb7, 0xa3, 0x2e, 0x14, 0xc7, 0xb1, 0xa9, 0x59, 0x07, 0x2e,
0x71, 0xfa, 0xa4, 0x7b, 0xc7, 0x17, 0x07, 0xac, 0x82, 0x56, 0x79, 0x05, 0x0d, 0xa7, 0xb6, 0x93,
0x42, 0xa0, 0x0c, 0x2b, 0x36, 0x35, 0x3f, 0x6a, 0x52, 0x53, 0x1b, 0x93, 0xa7, 0xb6, 0x9f, 0x89,
0x42, 0x39, 0xd6, 0x2c, 0xf6, 0x7c, 0x97, 0xd7, 0xfa, 0x58, 0xd3, 0xf1, 0x81, 0x4e, 0xea, 0xe3,
0x72, 0xec, 0x6d, 0xcb, 0xdd, 0x28, 0x89, 0x87, 0x77, 0xc0, 0x45, 0xbf, 0x69, 0xdf, 0xc4, 0x21,
0x49, 0x8d, 0x93, 0xbc, 0x24, 0x48, 0x2e, 0x6e, 0x27, 0x01, 0x28, 0x6d, 0x03, 0x6f, 0x81, 0xe9,
0x8e, 0xa5, 0xeb, 0x3c, 0x1e, 0xd7, 0x2d, 0xcf, 0xa4, 0xf5, 0x09, 0xce, 0x02, 0x59, 0x0e, 0xad,
0x4b, 0x3d, 0x28, 0x81, 0x84, 0x3f, 0x06, 0xa0, 0x13, 0x14, 0x06, 0xb7, 0x0e, 0x46, 0x28, 0x80,
0x74, 0x59, 0x8a, 0x2a, 0x73, 0xd8, 0xe4, 0xa2, 0x18, 0x65, 0xf3, 0x23, 0x05, 0x2c, 0xe4, 0x24,
0x3a, 0xfc, 0xae, 0x54, 0x04, 0xaf, 0x25, 0x8a, 0xe0, 0xa5, 0x1c, 0xb3, 0x58, 0x25, 0x3c, 0x04,
0x53, 0x4c, 0x90, 0x68, 0x66, 0xcf, 0x87, 0x88, 0xb3, 0xac, 0x95, 0x3b, 0x01, 0x14, 0x47, 0x47,
0xa7, 0xf2, 0xc5, 0xe1, 0xf1, 0xd2, 0x94, 0xd4, 0x87, 0x64, 0xe2, 0xe6, 0x2f, 0x4b, 0x00, 0x6c,
0x10, 0x5b, 0xb7, 0x06, 0x06, 0x31, 0xcf, 0x42, 0xd3, 0xdc, 0x93, 0x34, 0xcd, 0xab, 0xf9, 0x5b,
0x12, 0x3a, 0x95, 0x2b, 0x6a, 0xde, 0x4f, 0x88, 0x9a, 0xab, 0x45, 0xc8, 0x9e, 0xad, 0x6a, 0x3e,
0x29, 0x83, 0xd9, 0x08, 0x1c, 0xc9, 0x9a, 0xdb, 0xd2, 0x8e, 0xbe, 0x9a, 0xd8, 0xd1, 0x85, 0x0c,
0x93, 0x17, 0xa6, 0x6b, 0x9e, 0xbf, 0xbe, 0x80, 0x1f, 0x82, 0x69, 0x26, 0x64, 0xfc, 0x90, 0xe0,
0x32, 0x69, 0xec, 0xc4, 0x32, 0x29, 0x2c, 0x6e, 0x9b, 0x12, 0x13, 0x4a, 0x30, 0xe7, 0xc8, 0xb2,
0xf1, 0x17, 0x2d, 0xcb, 0x9a, 0x7f, 0x50, 0xc0, 0x74, 0xb4, 0x4d, 0x67, 0x20, 0xa2, 0xee, 0xca,
0x22, 0xea, 0xe5, 0x02, 0xc1, 0x99, 0xa3, 0xa2, 0x3e, 0xa9, 0xc4, 0x5d, 0xe7, 0x32, 0x6a, 0x99,
0xbd, 0x82, 0xd9, 0xba, 0xd6, 0xc1, 0xae, 0xa8, 0xb7, 0xe7, 0xfd, 0xd7, 0x2f, 0xbf, 0x0d, 0x85,
0xbd, 0x92, 0xe0, 0x2a, 0xbd, 0x58, 0xc1, 0x55, 0x7e, 0x3e, 0x82, 0xeb, 0x07, 0xa0, 0xe6, 0x06,
0x52, 0xab, 0xc2, 0x29, 0xaf, 0x15, 0x4a, 0x6c, 0xa1, 0xb2, 0x42, 0xea, 0x50, 0x5f, 0x85, 0x74,
0x59, 0xca, 0xaa, 0xfa, 0x65, 0x2a, 0x2b, 0x96, 0xcc, 0x36, 0xf6, 0x5c, 0xd2, 0xe5, 0x19, 0x50,
0x8b, 0x92, 0x79, 0x97, 0xb7, 0x22, 0xd1, 0x0b, 0xf7, 0xc1, 0x82, 0xed, 0x58, 0x3d, 0x87, 0xb8,
0xee, 0x06, 0xc1, 0x5d, 0x5d, 0x33, 0x49, 0x30, 0x01, 0xbf, 0x26, 0x5e, 0x1a, 0x1e, 0x2f, 0x2d,
0xec, 0x66, 0x43, 0x50, 0x9e, 0x6d, 0xf3, 0xcf, 0x15, 0x70, 0x21, 0x79, 0x36, 0xe6, 0xc8, 0x14,
0xe5, 0x54, 0x32, 0xe5, 0x7a, 0x2c, 0x4e, 0x7d, 0x0d, 0x17, 0xbb, 0x2a, 0x48, 0xc5, 0xea, 0x1a,
0x98, 0x11, 0xb2, 0x24, 0xe8, 0x14, 0x42, 0x2d, 0xdc, 0x9e, 0x7d, 0xb9, 0x1b, 0x25, 0xf1, 0x4c,
0x7c, 0x44, 0x9a, 0x22, 0x20, 0xa9, 0xc8, 0xe2, 0x63, 0x2d, 0x09, 0x40, 0x69, 0x1b, 0xb8, 0x05,
0x66, 0x3d, 0x33, 0x4d, 0xe5, 0x87, 0xcb, 0x25, 0x41, 0x35, 0xbb, 0x9f, 0x86, 0xa0, 0x2c, 0x3b,
0xf8, 0x50, 0xd2, 0x23, 0x63, 0xfc, 0x48, 0xb8, 0x5e, 0x20, 0xac, 0x0b, 0x0b, 0x12, 0x78, 0x1b,
0x4c, 0x39, 0x5c, 0x73, 0x06, 0xae, 0xfa, 0xba, 0xed, 0x1b, 0xc2, 0x6c, 0x0a, 0xc5, 0x3b, 0x91,
0x8c, 0xcd, 0x90, 0x5a, 0xb5, 0xa2, 0x52, 0xab, 0xf9, 0x27, 0x05, 0xc0, 0x74, 0x1e, 0x8e, 0xbc,
0x09, 0x48, 0x59, 0xc4, 0x2a, 0xa6, 0x96, 0xad, 0x7f, 0x6e, 0x14, 0xd4, 0x3f, 0xd1, 0x81, 0x5a,
0x4c, 0x00, 0x89, 0x65, 0x38, 0x9b, 0x4b, 0x9d, 0xa2, 0x02, 0x28, 0x72, 0xea, 0x39, 0x08, 0xa0,
0x18, 0xd9, 0xb3, 0x05, 0xd0, 0x3f, 0x4b, 0x60, 0x36, 0x02, 0x17, 0x16, 0x40, 0x19, 0x26, 0x5f,
0x5f, 0xec, 0x8c, 0xbe, 0xd8, 0x61, 0xa2, 0x24, 0x5a, 0xba, 0xff, 0x27, 0x51, 0x12, 0x79, 0x95,
0x23, 0x4a, 0x7e, 0x57, 0x8a, 0xbb, 0xfe, 0x95, 0x17, 0x25, 0x5f, 0xfc, 0x4e, 0xa6, 0xf9, 0x97,
0x32, 0xb8, 0x90, 0xcc, 0x43, 0xa9, 0x40, 0x2a, 0x23, 0x0b, 0xe4, 0x2e, 0x98, 0x7b, 0xe4, 0xe9,
0xfa, 0x80, 0x2f, 0x43, 0xac, 0x4a, 0xfa, 0xa5, 0xf5, 0x9b, 0xc2, 0x72, 0xee, 0xfb, 0x19, 0x18,
0x94, 0x69, 0x99, 0x53, 0xec, 0xcb, 0xa7, 0x2a, 0xf6, 0xa9, 0x0a, 0x54, 0x39, 0x41, 0x05, 0xca,
0x2c, 0xdc, 0xd5, 0x53, 0x14, 0xee, 0x93, 0x55, 0xda, 0x8c, 0x83, 0x6b, 0xe4, 0xab, 0xff, 0xcf,
0x15, 0x30, 0x9f, 0xfd, 0xc2, 0x0d, 0x75, 0x30, 0x6d, 0xe0, 0xc7, 0xf1, 0x8b, 0x8f, 0x51, 0x45,
0xc4, 0xa3, 0x9a, 0xae, 0xfa, 0x9f, 0x8c, 0xd4, 0x7b, 0x26, 0xdd, 0x71, 0xf6, 0xa8, 0xa3, 0x99,
0x3d, 0xbf, 0xf2, 0x6e, 0x49, 0x5c, 0x28, 0xc1, 0xdd, 0xfc, 0x4c, 0x01, 0x0b, 0x39, 0x95, 0xef,
0x6c, 0x3d, 0x81, 0x1f, 0x80, 0x9a, 0x81, 0x1f, 0xef, 0x79, 0x4e, 0x2f, 0xab, 0x56, 0x17, 0x1b,
0x87, 0x67, 0xf3, 0x96, 0x60, 0x41, 0x21, 0x5f, 0x73, 0x07, 0x5c, 0x96, 0x26, 0xc9, 0x32, 0x87,
0x3c, 0xf2, 0x74, 0x9e, 0x44, 0x42, 0x6c, 0x5c, 0x03, 0x13, 0x36, 0x76, 0xa8, 0x16, 0x4a, 0xd5,
0x6a, 0x7b, 0x6a, 0x78, 0xbc, 0x34, 0xb1, 0x1b, 0x34, 0xa2, 0xa8, 0xbf, 0xf9, 0x5f, 0x05, 0x54,
0xf7, 0x3a, 0x58, 0x27, 0x67, 0x50, 0xed, 0x37, 0xa4, 0x6a, 0x9f, 0x7f, 0x93, 0xce, 0xfd, 0xc9,
0x2d, 0xf4, 0x9b, 0x89, 0x42, 0xff, 0xca, 0x08, 0x9e, 0x67, 0xd7, 0xf8, 0x77, 0xc0, 0x44, 0x38,
0xdc, 0xc9, 0x0e, 0xa0, 0xe6, 0x6f, 0x4b, 0x60, 0x32, 0x36, 0xc4, 0x09, 0x8f, 0xaf, 0x87, 0xd2,
0xb1, 0xcf, 0x12, 0x73, 0xb5, 0xc8, 0x44, 0xd4, 0xe0, 0x88, 0x7f, 0xd7, 0xa4, 0x4e, 0xfc, 0x05,
0x2f, 0x7d, 0xf2, 0x7f, 0x07, 0x4c, 0x53, 0xec, 0xf4, 0x08, 0x0d, 0xfa, 0xf8, 0x82, 0x4d, 0x44,
0xb7, 0x13, 0xf7, 0xa5, 0x5e, 0x94, 0x40, 0x2f, 0xde, 0x06, 0x53, 0xd2, 0x60, 0xf0, 0x02, 0x28,
0x1f, 0x91, 0x81, 0x2f, 0x7b, 0x10, 0xfb, 0x09, 0xe7, 0x40, 0xb5, 0x8f, 0x75, 0xcf, 0x8f, 0xf3,
0x09, 0xe4, 0x3f, 0xdc, 0x2a, 0xbd, 0xad, 0x34, 0x7f, 0xc5, 0x16, 0x27, 0x0a, 0xce, 0x33, 0x88,
0xae, 0xf7, 0xa4, 0xe8, 0xca, 0xff, 0xa8, 0x17, 0x4f, 0x99, 0xbc, 0x18, 0x43, 0x89, 0x18, 0x7b,
0xad, 0x10, 0xdb, 0xb3, 0x23, 0xed, 0x5f, 0x25, 0x30, 0x17, 0x43, 0x47, 0x72, 0xf2, 0xdb, 0x92,
0x9c, 0x5c, 0x4e, 0xc8, 0xc9, 0x7a, 0x96, 0xcd, 0xd7, 0x7a, 0x72, 0xb4, 0x9e, 0xfc, 0xa3, 0x02,
0x66, 0x62, 0x6b, 0x77, 0x06, 0x82, 0xf2, 0x9e, 0x2c, 0x28, 0x5f, 0x29, 0x12, 0x34, 0x39, 0x8a,
0xf2, 0xaf, 0x55, 0xc9, 0xf9, 0xaf, 0xbc, 0xa4, 0xfc, 0x29, 0x98, 0xeb, 0x5b, 0xba, 0x67, 0x90,
0x75, 0x1d, 0x6b, 0x46, 0x00, 0x60, 0xaa, 0xa9, 0x9c, 0x7c, 0x97, 0x0b, 0xe9, 0x89, 0xe3, 0x6a,
0x2e, 0x25, 0x26, 0x7d, 0x10, 0x59, 0x46, 0xba, 0xef, 0x41, 0x06, 0x1d, 0xca, 0x1c, 0x04, 0xbe,
0x09, 0x26, 0x99, 0x7e, 0xd3, 0x3a, 0x64, 0x1b, 0x1b, 0x41, 0x60, 0x85, 0x9f, 0xb0, 0xf6, 0xa2,
0x2e, 0x14, 0xc7, 0xc1, 0x43, 0x30, 0x6b, 0x5b, 0xdd, 0x2d, 0x6c, 0xe2, 0x1e, 0x61, 0x32, 0x63,
0x97, 0xff, 0x8f, 0x87, 0x5f, 0x7e, 0x4d, 0xb4, 0xdf, 0x0a, 0x6e, 0x45, 0x76, 0xd3, 0x10, 0xf6,
0x92, 0x98, 0xd1, 0xcc, 0x93, 0x3a, 0x8b, 0x12, 0x3a, 0xa9, 0xcf, 0xae, 0xfe, 0x1d, 0xf1, 0x6a,
0x91, 0x08, 0x3b, 0xe5, 0x87, 0xd7, 0xbc, 0xbb, 0xbd, 0xda, 0xa9, 0xbe, 0x9a, 0xfe, 0xbb, 0x02,
0x2e, 0xa6, 0x8e, 0xca, 0x2f, 0xf1, 0x76, 0x2d, 0x25, 0xcf, 0xcb, 0x27, 0x90, 0xe7, 0x6b, 0x60,
0x46, 0x7c, 0xb0, 0x4d, 0xa8, 0xfb, 0xf0, 0xfd, 0x67, 0x5d, 0xee, 0x46, 0x49, 0x7c, 0xd6, 0xed,
0x5e, 0xf5, 0x84, 0xb7, 0x7b, 0x71, 0x2f, 0xc4, 0x1f, 0x90, 0xfc, 0xd0, 0x4b, 0x7b, 0x21, 0xfe,
0x87, 0x94, 0xc4, 0x33, 0x85, 0xe0, 0xb3, 0x86, 0x0c, 0xe3, 0xb2, 0x42, 0xd8, 0x97, 0x7a, 0x51,
0x02, 0xfd, 0x85, 0x3e, 0x4a, 0xe2, 0x8c, 0x8f, 0x92, 0x2b, 0x45, 0xe2, 0xb9, 0xf8, 0xbb, 0xc9,
0xdf, 0x14, 0xf0, 0x52, 0x6e, 0x22, 0xc0, 0x35, 0xa9, 0xec, 0xae, 0x24, 0xca, 0xee, 0xb7, 0x72,
0x0d, 0x63, 0xb5, 0xd7, 0xc9, 0xbe, 0x9a, 0x7b, 0xa7, 0xd8, 0xd5, 0x5c, 0x86, 0x76, 0x1f, 0x7d,
0x47, 0xd7, 0x5e, 0x79, 0xf2, 0xb4, 0x71, 0xee, 0xe3, 0xa7, 0x8d, 0x73, 0x9f, 0x3e, 0x6d, 0x9c,
0xfb, 0xd9, 0xb0, 0xa1, 0x3c, 0x19, 0x36, 0x94, 0x8f, 0x87, 0x0d, 0xe5, 0xd3, 0x61, 0x43, 0xf9,
0xfb, 0xb0, 0xa1, 0xfc, 0xfa, 0xb3, 0xc6, 0xb9, 0x0f, 0xc6, 0xc5, 0x88, 0xff, 0x0b, 0x00, 0x00,
0xff, 0xff, 0xe4, 0x8f, 0x6a, 0x57, 0x17, 0x29, 0x00, 0x00,
}

View File

@ -596,6 +596,27 @@ message StatefulSet {
optional StatefulSetStatus status = 3;
}
// StatefulSetCondition describes the state of a statefulset at a certain point.
message StatefulSetCondition {
// Type of statefulset condition.
optional string type = 1;
// Status of the condition, one of True, False, Unknown.
optional string status = 2;
// Last time the condition transitioned from one status to another.
// +optional
optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3;
// The reason for the condition's last transition.
// +optional
optional string reason = 4;
// A human readable message indicating details about the transition.
// +optional
optional string message = 5;
}
// StatefulSetList is a collection of StatefulSets.
message StatefulSetList {
// +optional
@ -700,6 +721,12 @@ message StatefulSetStatus {
// newest ControllerRevision.
// +optional
optional int32 collisionCount = 9;
// Represents the latest available observations of a statefulset's current state.
// +optional
// +patchMergeKey=type
// +patchStrategy=merge
repeated StatefulSetCondition conditions = 10;
}
// StatefulSetUpdateStrategy indicates the strategy that the StatefulSet

View File

@ -254,6 +254,31 @@ type StatefulSetStatus struct {
// newest ControllerRevision.
// +optional
CollisionCount *int32 `json:"collisionCount,omitempty" protobuf:"varint,9,opt,name=collisionCount"`
// Represents the latest available observations of a statefulset's current state.
// +optional
// +patchMergeKey=type
// +patchStrategy=merge
Conditions []StatefulSetCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,10,rep,name=conditions"`
}
type StatefulSetConditionType string
// StatefulSetCondition describes the state of a statefulset at a certain point.
type StatefulSetCondition struct {
// Type of statefulset condition.
Type StatefulSetConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=StatefulSetConditionType"`
// Status of the condition, one of True, False, Unknown.
Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
// Last time the condition transitioned from one status to another.
// +optional
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
// The reason for the condition's last transition.
// +optional
Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
// A human readable message indicating details about the transition.
// +optional
Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

View File

@ -329,6 +329,19 @@ func (StatefulSet) SwaggerDoc() map[string]string {
return map_StatefulSet
}
var map_StatefulSetCondition = map[string]string{
"": "StatefulSetCondition describes the state of a statefulset at a certain point.",
"type": "Type of statefulset condition.",
"status": "Status of the condition, one of True, False, Unknown.",
"lastTransitionTime": "Last time the condition transitioned from one status to another.",
"reason": "The reason for the condition's last transition.",
"message": "A human readable message indicating details about the transition.",
}
func (StatefulSetCondition) SwaggerDoc() map[string]string {
return map_StatefulSetCondition
}
var map_StatefulSetList = map[string]string{
"": "StatefulSetList is a collection of StatefulSets.",
}
@ -363,6 +376,7 @@ var map_StatefulSetStatus = map[string]string{
"currentRevision": "currentRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas).",
"updateRevision": "updateRevision, if not empty, indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)",
"collisionCount": "collisionCount is the count of hash collisions for the StatefulSet. The StatefulSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.",
"conditions": "Represents the latest available observations of a statefulset's current state.",
}
func (StatefulSetStatus) SwaggerDoc() map[string]string {

View File

@ -143,6 +143,10 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
in.(*StatefulSet).DeepCopyInto(out.(*StatefulSet))
return nil
}, InType: reflect.TypeOf(&StatefulSet{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*StatefulSetCondition).DeepCopyInto(out.(*StatefulSetCondition))
return nil
}, InType: reflect.TypeOf(&StatefulSetCondition{})},
conversion.GeneratedDeepCopyFunc{Fn: func(in interface{}, out interface{}, c *conversion.Cloner) error {
in.(*StatefulSetList).DeepCopyInto(out.(*StatefulSetList))
return nil
@ -908,6 +912,23 @@ func (in *StatefulSet) DeepCopyObject() runtime.Object {
}
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StatefulSetCondition) DeepCopyInto(out *StatefulSetCondition) {
*out = *in
in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime)
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulSetCondition.
func (in *StatefulSetCondition) DeepCopy() *StatefulSetCondition {
if in == nil {
return nil
}
out := new(StatefulSetCondition)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StatefulSetList) DeepCopyInto(out *StatefulSetList) {
*out = *in
@ -1006,6 +1027,13 @@ func (in *StatefulSetStatus) DeepCopyInto(out *StatefulSetStatus) {
**out = **in
}
}
if in.Conditions != nil {
in, out := &in.Conditions, &out.Conditions
*out = make([]StatefulSetCondition, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
return
}