Merge pull request #35651 from caesarxuchao/remove-label-selectors

Automatic merge from submit-queue

Sending #35255 again: Remove versioned LabelSelectors

ref #35255: "Remove versioned LabelSelectors"

FYI @smarterclayton
This commit is contained in:
Kubernetes Submit Queue 2016-10-26 18:21:22 -07:00 committed by GitHub
commit ab0ee35462
47 changed files with 9920 additions and 14404 deletions

View File

@ -30272,7 +30272,7 @@
}, },
"selector": { "selector": {
"description": "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", "description": "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors",
"$ref": "#/definitions/v1.LabelSelector" "$ref": "#/definitions/unversioned.LabelSelector"
}, },
"template": { "template": {
"description": "Template is the object that describes the pod that will be created when executing a job. More info: http://kubernetes.io/docs/user-guide/jobs", "description": "Template is the object that describes the pod that will be created when executing a job. More info: http://kubernetes.io/docs/user-guide/jobs",
@ -30315,49 +30315,6 @@
} }
} }
}, },
"v1.LabelSelector": {
"description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
"properties": {
"matchExpressions": {
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
"type": "array",
"items": {
"$ref": "#/definitions/v1.LabelSelectorRequirement"
}
},
"matchLabels": {
"description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"v1.LabelSelectorRequirement": {
"description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
"required": [
"key",
"operator"
],
"properties": {
"key": {
"description": "key is the label key that the selector applies to.",
"type": "string"
},
"operator": {
"description": "operator represents a key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.",
"type": "string"
},
"values": {
"description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"v1.Lifecycle": { "v1.Lifecycle": {
"description": "Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.", "description": "Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.",
"properties": { "properties": {
@ -32652,7 +32609,7 @@
"properties": { "properties": {
"selector": { "selector": {
"description": "Selector is a label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", "description": "Selector is a label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors",
"$ref": "#/definitions/v1beta1.LabelSelector" "$ref": "#/definitions/unversioned.LabelSelector"
}, },
"template": { "template": {
"description": "Template is the object that describes the pod that will be created. The DaemonSet will create exactly one copy of this pod on every node that matches the template's node selector (or on every node if no node selector is specified). More info: http://kubernetes.io/docs/user-guide/replication-controller#pod-template", "description": "Template is the object that describes the pod that will be created. The DaemonSet will create exactly one copy of this pod on every node that matches the template's node selector (or on every node if no node selector is specified). More info: http://kubernetes.io/docs/user-guide/replication-controller#pod-template",
@ -32782,7 +32739,7 @@
}, },
"selector": { "selector": {
"description": "Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.", "description": "Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.",
"$ref": "#/definitions/v1beta1.LabelSelector" "$ref": "#/definitions/unversioned.LabelSelector"
}, },
"strategy": { "strategy": {
"description": "The deployment strategy to use to replace existing pods with new ones.", "description": "The deployment strategy to use to replace existing pods with new ones.",
@ -33139,7 +33096,7 @@
}, },
"selector": { "selector": {
"description": "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", "description": "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors",
"$ref": "#/definitions/v1beta1.LabelSelector" "$ref": "#/definitions/unversioned.LabelSelector"
}, },
"template": { "template": {
"description": "Template is the object that describes the pod that will be created when executing a job. More info: http://kubernetes.io/docs/user-guide/jobs", "description": "Template is the object that describes the pod that will be created when executing a job. More info: http://kubernetes.io/docs/user-guide/jobs",
@ -33182,49 +33139,6 @@
} }
} }
}, },
"v1beta1.LabelSelector": {
"description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
"properties": {
"matchExpressions": {
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
"type": "array",
"items": {
"$ref": "#/definitions/v1beta1.LabelSelectorRequirement"
}
},
"matchLabels": {
"description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"v1beta1.LabelSelectorRequirement": {
"description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
"required": [
"key",
"operator"
],
"properties": {
"key": {
"description": "key is the label key that the selector applies to.",
"type": "string"
},
"operator": {
"description": "operator represents a key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.",
"type": "string"
},
"values": {
"description": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"v1beta1.LocalSubjectAccessReview": { "v1beta1.LocalSubjectAccessReview": {
"description": "LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions checking.", "description": "LocalSubjectAccessReview checks whether or not a user or group can perform an action in a given namespace. Having a namespace scoped resource makes it much easier to grant namespace scoped policy that includes permissions checking.",
"required": [ "required": [
@ -33298,11 +33212,11 @@
"properties": { "properties": {
"namespaceSelector": { "namespaceSelector": {
"description": "Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If omitted, this selector selects no namespaces. If present but empty, this selector selects all namespaces.", "description": "Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If omitted, this selector selects no namespaces. If present but empty, this selector selects all namespaces.",
"$ref": "#/definitions/v1beta1.LabelSelector" "$ref": "#/definitions/unversioned.LabelSelector"
}, },
"podSelector": { "podSelector": {
"description": "This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If not provided, this selector selects no pods. If present but empty, this selector selects all pods in this namespace.", "description": "This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If not provided, this selector selects no pods. If present but empty, this selector selects all pods in this namespace.",
"$ref": "#/definitions/v1beta1.LabelSelector" "$ref": "#/definitions/unversioned.LabelSelector"
} }
} }
}, },
@ -33332,7 +33246,7 @@
}, },
"podSelector": { "podSelector": {
"description": "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.", "description": "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.",
"$ref": "#/definitions/v1beta1.LabelSelector" "$ref": "#/definitions/unversioned.LabelSelector"
} }
} }
}, },
@ -33429,7 +33343,7 @@
}, },
"selector": { "selector": {
"description": "Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", "description": "Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors",
"$ref": "#/definitions/v1beta1.LabelSelector" "$ref": "#/definitions/unversioned.LabelSelector"
}, },
"template": { "template": {
"description": "Template is the object that describes the pod that will be created if insufficient replicas are detected. More info: http://kubernetes.io/docs/user-guide/replication-controller#pod-template", "description": "Template is the object that describes the pod that will be created if insufficient replicas are detected. More info: http://kubernetes.io/docs/user-guide/replication-controller#pod-template",

View File

@ -1179,7 +1179,7 @@
"description": "Optional duration in seconds relative to the startTime that the job may be active before the system tries to terminate it; value must be positive integer" "description": "Optional duration in seconds relative to the startTime that the job may be active before the system tries to terminate it; value must be positive integer"
}, },
"selector": { "selector": {
"$ref": "v1.LabelSelector", "$ref": "unversioned.LabelSelector",
"description": "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors" "description": "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors"
}, },
"manualSelector": { "manualSelector": {
@ -1192,8 +1192,8 @@
} }
} }
}, },
"v1.LabelSelector": { "unversioned.LabelSelector": {
"id": "v1.LabelSelector", "id": "unversioned.LabelSelector",
"description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.", "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
"properties": { "properties": {
"matchLabels": { "matchLabels": {
@ -1203,14 +1203,14 @@
"matchExpressions": { "matchExpressions": {
"type": "array", "type": "array",
"items": { "items": {
"$ref": "v1.LabelSelectorRequirement" "$ref": "unversioned.LabelSelectorRequirement"
}, },
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed." "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed."
} }
} }
}, },
"v1.LabelSelectorRequirement": { "unversioned.LabelSelectorRequirement": {
"id": "v1.LabelSelectorRequirement", "id": "unversioned.LabelSelectorRequirement",
"description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.", "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
"required": [ "required": [
"key", "key",

View File

@ -7792,7 +7792,7 @@
], ],
"properties": { "properties": {
"selector": { "selector": {
"$ref": "v1beta1.LabelSelector", "$ref": "unversioned.LabelSelector",
"description": "Selector is a label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors" "description": "Selector is a label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors"
}, },
"template": { "template": {
@ -7801,8 +7801,8 @@
} }
} }
}, },
"v1beta1.LabelSelector": { "unversioned.LabelSelector": {
"id": "v1beta1.LabelSelector", "id": "unversioned.LabelSelector",
"description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.", "description": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
"properties": { "properties": {
"matchLabels": { "matchLabels": {
@ -7812,14 +7812,14 @@
"matchExpressions": { "matchExpressions": {
"type": "array", "type": "array",
"items": { "items": {
"$ref": "v1beta1.LabelSelectorRequirement" "$ref": "unversioned.LabelSelectorRequirement"
}, },
"description": "matchExpressions is a list of label selector requirements. The requirements are ANDed." "description": "matchExpressions is a list of label selector requirements. The requirements are ANDed."
} }
} }
}, },
"v1beta1.LabelSelectorRequirement": { "unversioned.LabelSelectorRequirement": {
"id": "v1beta1.LabelSelectorRequirement", "id": "unversioned.LabelSelectorRequirement",
"description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.", "description": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
"required": [ "required": [
"key", "key",
@ -9426,7 +9426,7 @@
"description": "Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1." "description": "Number of desired pods. This is a pointer to distinguish between explicit zero and not specified. Defaults to 1."
}, },
"selector": { "selector": {
"$ref": "v1beta1.LabelSelector", "$ref": "unversioned.LabelSelector",
"description": "Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment." "description": "Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment."
}, },
"template": { "template": {
@ -10040,7 +10040,7 @@
"description": "Optional duration in seconds relative to the startTime that the job may be active before the system tries to terminate it; value must be positive integer" "description": "Optional duration in seconds relative to the startTime that the job may be active before the system tries to terminate it; value must be positive integer"
}, },
"selector": { "selector": {
"$ref": "v1beta1.LabelSelector", "$ref": "unversioned.LabelSelector",
"description": "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors" "description": "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors"
}, },
"autoSelector": { "autoSelector": {
@ -10183,7 +10183,7 @@
], ],
"properties": { "properties": {
"podSelector": { "podSelector": {
"$ref": "v1beta1.LabelSelector", "$ref": "unversioned.LabelSelector",
"description": "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace." "description": "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace."
}, },
"ingress": { "ingress": {
@ -10236,11 +10236,11 @@
"id": "v1beta1.NetworkPolicyPeer", "id": "v1beta1.NetworkPolicyPeer",
"properties": { "properties": {
"podSelector": { "podSelector": {
"$ref": "v1beta1.LabelSelector", "$ref": "unversioned.LabelSelector",
"description": "This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If not provided, this selector selects no pods. If present but empty, this selector selects all pods in this namespace." "description": "This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If not provided, this selector selects no pods. If present but empty, this selector selects all pods in this namespace."
}, },
"namespaceSelector": { "namespaceSelector": {
"$ref": "v1beta1.LabelSelector", "$ref": "unversioned.LabelSelector",
"description": "Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If omitted, this selector selects no namespaces. If present but empty, this selector selects all namespaces." "description": "Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If omitted, this selector selects no namespaces. If present but empty, this selector selects all namespaces."
} }
} }
@ -10314,7 +10314,7 @@
"description": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)" "description": "Minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)"
}, },
"selector": { "selector": {
"$ref": "v1beta1.LabelSelector", "$ref": "unversioned.LabelSelector",
"description": "Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors" "description": "Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors"
}, },
"template": { "template": {

View File

@ -15,7 +15,7 @@
IMAGE=gcr.io/google-containers/kube-addon-manager IMAGE=gcr.io/google-containers/kube-addon-manager
ARCH?=amd64 ARCH?=amd64
TEMP_DIR:=$(shell mktemp -d) TEMP_DIR:=$(shell mktemp -d)
VERSION=v5.1 VERSION=v5.2
KUBECTL_VERSION?=v1.5.0-alpha.1 KUBECTL_VERSION?=v1.5.0-alpha.1
# amd64 and arm has "stable" binaries pushed for v1.2, arm64 and ppc64le hasn't so they have to fetch the latest alpha # amd64 and arm has "stable" binaries pushed for v1.2, arm64 and ppc64le hasn't so they have to fetch the latest alpha

View File

@ -11,7 +11,7 @@
"containers": [ "containers": [
{ {
"name": "kube-addon-manager", "name": "kube-addon-manager",
"image": "REGISTRY/kube-addon-manager-ARCH:v5.1", "image": "REGISTRY/kube-addon-manager-ARCH:v5.2",
"resources": { "resources": {
"requests": { "requests": {
"cpu": "5m", "cpu": "5m",

View File

@ -11,7 +11,7 @@
"containers": [ "containers": [
{ {
"name": "kube-addon-manager", "name": "kube-addon-manager",
"image": "REGISTRY/kube-addon-manager-ARCH:v5.1", "image": "REGISTRY/kube-addon-manager-ARCH:v5.2",
"resources": { "resources": {
"requests": { "requests": {
"cpu": "5m", "cpu": "5m",

View File

@ -11,7 +11,7 @@ spec:
containers: containers:
- name: kube-addon-manager - name: kube-addon-manager
# When updating version also bump it in cluster/images/hyperkube/static-pods/addon-manager.json # When updating version also bump it in cluster/images/hyperkube/static-pods/addon-manager.json
image: gcr.io/google-containers/kube-addon-manager:v5.1 image: gcr.io/google-containers/kube-addon-manager:v5.2
resources: resources:
requests: requests:
cpu: 5m cpu: 5m

View File

@ -652,47 +652,6 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
</tbody> </tbody>
</table> </table>
</div>
<div class="sect2">
<h3 id="_v1_labelselector">v1.LabelSelector</h3>
<div class="paragraph">
<p>A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.</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">matchLabels</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.</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">object</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">matchExpressions</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">matchExpressions is a list of label selector requirements. The requirements are ANDed.</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_labelselectorrequirement">v1.LabelSelectorRequirement</a> array</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div> </div>
<div class="sect2"> <div class="sect2">
<h3 id="_v1_cephfsvolumesource">v1.CephFSVolumeSource</h3> <h3 id="_v1_cephfsvolumesource">v1.CephFSVolumeSource</h3>
@ -2486,6 +2445,47 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
</tbody> </tbody>
</table> </table>
</div>
<div class="sect2">
<h3 id="_unversioned_labelselector">unversioned.LabelSelector</h3>
<div class="paragraph">
<p>A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.</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">matchLabels</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.</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">object</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">matchExpressions</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">matchExpressions is a list of label selector requirements. The requirements are ANDed.</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="#_unversioned_labelselectorrequirement">unversioned.LabelSelectorRequirement</a> array</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div> </div>
<div class="sect2"> <div class="sect2">
<h3 id="_v1_jobcondition">v1.JobCondition</h3> <h3 id="_v1_jobcondition">v1.JobCondition</h3>
@ -2661,54 +2661,6 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
</tbody> </tbody>
</table> </table>
</div>
<div class="sect2">
<h3 id="_v1_labelselectorrequirement">v1.LabelSelectorRequirement</h3>
<div class="paragraph">
<p>A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.</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">key</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">key is the label key that the selector applies to.</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">operator</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">operator represents a key&#8217;s relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.</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">values</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.</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 array</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div> </div>
<div class="sect2"> <div class="sect2">
<h3 id="_v1_envvar">v1.EnvVar</h3> <h3 id="_v1_envvar">v1.EnvVar</h3>
@ -3156,7 +3108,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
<td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: <a href="http://kubernetes.io/docs/user-guide/labels#label-selectors">http://kubernetes.io/docs/user-guide/labels#label-selectors</a></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: <a href="http://kubernetes.io/docs/user-guide/labels#label-selectors">http://kubernetes.io/docs/user-guide/labels#label-selectors</a></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">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1_labelselector">v1.LabelSelector</a></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_unversioned_labelselector">unversioned.LabelSelector</a></p></td>
<td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td>
</tr> </tr>
<tr> <tr>
@ -3557,6 +3509,54 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
</tbody> </tbody>
</table> </table>
</div>
<div class="sect2">
<h3 id="_unversioned_labelselectorrequirement">unversioned.LabelSelectorRequirement</h3>
<div class="paragraph">
<p>A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.</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">key</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">key is the label key that the selector applies to.</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">operator</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">operator represents a key&#8217;s relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.</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">values</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.</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 array</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div> </div>
<div class="sect2"> <div class="sect2">
<h3 id="_unversioned_apiresourcelist">unversioned.APIResourceList</h3> <h3 id="_unversioned_apiresourcelist">unversioned.APIResourceList</h3>
@ -4328,7 +4328,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
</div> </div>
<div id="footer"> <div id="footer">
<div id="footer-text"> <div id="footer-text">
Last updated 2016-09-28 00:00:04 UTC Last updated 2016-10-21 02:17:49 UTC
</div> </div>
</div> </div>
</body> </body>

View File

@ -1848,7 +1848,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
<td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: <a href="http://kubernetes.io/docs/user-guide/labels#label-selectors">http://kubernetes.io/docs/user-guide/labels#label-selectors</a></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: <a href="http://kubernetes.io/docs/user-guide/labels#label-selectors">http://kubernetes.io/docs/user-guide/labels#label-selectors</a></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">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1beta1_labelselector">v1beta1.LabelSelector</a></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_unversioned_labelselector">unversioned.LabelSelector</a></p></td>
<td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td>
</tr> </tr>
<tr> <tr>
@ -1889,7 +1889,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
<td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Selector is a label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: <a href="http://kubernetes.io/docs/user-guide/labels#label-selectors">http://kubernetes.io/docs/user-guide/labels#label-selectors</a></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Selector is a label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: <a href="http://kubernetes.io/docs/user-guide/labels#label-selectors">http://kubernetes.io/docs/user-guide/labels#label-selectors</a></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">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1beta1_labelselector">v1beta1.LabelSelector</a></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_unversioned_labelselector">unversioned.LabelSelector</a></p></td>
<td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td>
</tr> </tr>
<tr> <tr>
@ -2399,6 +2399,47 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
</tbody> </tbody>
</table> </table>
</div>
<div class="sect2">
<h3 id="_unversioned_labelselector">unversioned.LabelSelector</h3>
<div class="paragraph">
<p>A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.</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">matchLabels</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.</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">object</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">matchExpressions</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">matchExpressions is a list of label selector requirements. The requirements are ANDed.</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="#_unversioned_labelselectorrequirement">unversioned.LabelSelectorRequirement</a> array</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div> </div>
<div class="sect2"> <div class="sect2">
<h3 id="_v1beta1_rollbackconfig">v1beta1.RollbackConfig</h3> <h3 id="_v1beta1_rollbackconfig">v1beta1.RollbackConfig</h3>
@ -3364,7 +3405,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
<td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.</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">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1beta1_labelselector">v1beta1.LabelSelector</a></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_unversioned_labelselector">unversioned.LabelSelector</a></p></td>
<td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td>
</tr> </tr>
<tr> <tr>
@ -4364,7 +4405,7 @@ Populated by the system when a graceful deletion is requested. Read-only. More i
<td class="tableblock halign-left valign-top"><p class="tableblock">podSelector</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">podSelector</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.</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">true</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1beta1_labelselector">v1beta1.LabelSelector</a></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_unversioned_labelselector">unversioned.LabelSelector</a></p></td>
<td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td>
</tr> </tr>
<tr> <tr>
@ -4963,14 +5004,14 @@ Both these may change in the future. Incoming requests are matched against the h
<td class="tableblock halign-left valign-top"><p class="tableblock">podSelector</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">podSelector</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If not provided, this selector selects no pods. If present but empty, this selector selects all pods in this namespace.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If not provided, this selector selects no pods. If present but empty, this selector selects all pods in this namespace.</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">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1beta1_labelselector">v1beta1.LabelSelector</a></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_unversioned_labelselector">unversioned.LabelSelector</a></p></td>
<td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td>
</tr> </tr>
<tr> <tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">namespaceSelector</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">namespaceSelector</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If omitted, this selector selects no namespaces. If present but empty, this selector selects all namespaces.</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If omitted, this selector selects no namespaces. If present but empty, this selector selects all namespaces.</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">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1beta1_labelselector">v1beta1.LabelSelector</a></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_unversioned_labelselector">unversioned.LabelSelector</a></p></td>
<td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td>
</tr> </tr>
</tbody> </tbody>
@ -5554,47 +5595,6 @@ Both these may change in the future. Incoming requests are matched against the h
</tbody> </tbody>
</table> </table>
</div>
<div class="sect2">
<h3 id="_v1beta1_labelselector">v1beta1.LabelSelector</h3>
<div class="paragraph">
<p>A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.</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">matchLabels</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.</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">object</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">matchExpressions</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">matchExpressions is a list of label selector requirements. The requirements are ANDed.</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_labelselectorrequirement">v1beta1.LabelSelectorRequirement</a> array</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div> </div>
<div class="sect2"> <div class="sect2">
<h3 id="_v1beta1_replicaset">v1beta1.ReplicaSet</h3> <h3 id="_v1beta1_replicaset">v1beta1.ReplicaSet</h3>
@ -6049,54 +6049,6 @@ Both these may change in the future. Incoming requests are matched against the h
</tbody> </tbody>
</table> </table>
</div>
<div class="sect2">
<h3 id="_v1beta1_labelselectorrequirement">v1beta1.LabelSelectorRequirement</h3>
<div class="paragraph">
<p>A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.</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">key</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">key is the label key that the selector applies to.</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">operator</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">operator represents a key&#8217;s relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.</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">values</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.</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 array</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div> </div>
<div class="sect2"> <div class="sect2">
<h3 id="_v1_envvar">v1.EnvVar</h3> <h3 id="_v1_envvar">v1.EnvVar</h3>
@ -6314,7 +6266,7 @@ Both these may change in the future. Incoming requests are matched against the h
<td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">selector</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: <a href="http://kubernetes.io/docs/user-guide/labels#label-selectors">http://kubernetes.io/docs/user-guide/labels#label-selectors</a></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: <a href="http://kubernetes.io/docs/user-guide/labels#label-selectors">http://kubernetes.io/docs/user-guide/labels#label-selectors</a></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">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_v1beta1_labelselector">v1beta1.LabelSelector</a></p></td> <td class="tableblock halign-left valign-top"><p class="tableblock"><a href="#_unversioned_labelselector">unversioned.LabelSelector</a></p></td>
<td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td>
</tr> </tr>
<tr> <tr>
@ -6334,6 +6286,54 @@ Both these may change in the future. Incoming requests are matched against the h
</tbody> </tbody>
</table> </table>
</div>
<div class="sect2">
<h3 id="_unversioned_labelselectorrequirement">unversioned.LabelSelectorRequirement</h3>
<div class="paragraph">
<p>A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.</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">key</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">key is the label key that the selector applies to.</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">operator</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">operator represents a key&#8217;s relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.</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">values</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.</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 array</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div> </div>
<div class="sect2"> <div class="sect2">
<h3 id="_unversioned_status">unversioned.Status</h3> <h3 id="_unversioned_status">unversioned.Status</h3>
@ -6687,7 +6687,7 @@ Both these may change in the future. Incoming requests are matched against the h
</div> </div>
<div id="footer"> <div id="footer">
<div id="footer-text"> <div id="footer-text">
Last updated 2016-10-20 13:16:06 UTC Last updated 2016-10-21 21:21:20 UTC
</div> </div>
</div> </div>
</body> </body>

View File

@ -44,6 +44,7 @@ go_test(
"//federation/client/clientset_generated/federation_release_1_5/fake:go_default_library", "//federation/client/clientset_generated/federation_release_1_5/fake:go_default_library",
"//federation/pkg/federation-controller/util:go_default_library", "//federation/pkg/federation-controller/util:go_default_library",
"//federation/pkg/federation-controller/util/test:go_default_library", "//federation/pkg/federation-controller/util/test:go_default_library",
"//pkg/api/unversioned:go_default_library",
"//pkg/api/v1:go_default_library", "//pkg/api/v1:go_default_library",
"//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library",
"//pkg/client/clientset_generated/release_1_5:go_default_library", "//pkg/client/clientset_generated/release_1_5:go_default_library",

View File

@ -26,6 +26,7 @@ import (
fake_fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5/fake" fake_fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5/fake"
"k8s.io/kubernetes/federation/pkg/federation-controller/util" "k8s.io/kubernetes/federation/pkg/federation-controller/util"
. "k8s.io/kubernetes/federation/pkg/federation-controller/util/test" . "k8s.io/kubernetes/federation/pkg/federation-controller/util/test"
"k8s.io/kubernetes/pkg/api/unversioned"
api_v1 "k8s.io/kubernetes/pkg/api/v1" api_v1 "k8s.io/kubernetes/pkg/api/v1"
extensionsv1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" extensionsv1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" kubeclientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
@ -85,7 +86,7 @@ func TestDaemonSetController(t *testing.T) {
SelfLink: "/api/v1/namespaces/ns/daemonsets/test-daemonset", SelfLink: "/api/v1/namespaces/ns/daemonsets/test-daemonset",
}, },
Spec: extensionsv1.DaemonSetSpec{ Spec: extensionsv1.DaemonSetSpec{
Selector: &extensionsv1.LabelSelector{ Selector: &unversioned.LabelSelector{
MatchLabels: make(map[string]string), MatchLabels: make(map[string]string),
}, },
}, },

View File

@ -16,10 +16,8 @@ go_library(
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//federation/pkg/federation-controller/util:go_default_library", "//federation/pkg/federation-controller/util:go_default_library",
"//pkg/api:go_default_library",
"//pkg/api/unversioned:go_default_library", "//pkg/api/unversioned:go_default_library",
"//pkg/api/v1:go_default_library", "//pkg/api/v1:go_default_library",
"//pkg/apis/extensions/v1beta1:go_default_library",
"//pkg/labels:go_default_library", "//pkg/labels:go_default_library",
], ],
) )

View File

@ -21,10 +21,8 @@ import (
"time" "time"
"k8s.io/kubernetes/federation/pkg/federation-controller/util" "k8s.io/kubernetes/federation/pkg/federation-controller/util"
api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned" unversioned "k8s.io/kubernetes/pkg/api/unversioned"
api_v1 "k8s.io/kubernetes/pkg/api/v1" api_v1 "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
) )
@ -47,8 +45,8 @@ const (
// A function that calculates how many pods from the list are in one of // A function that calculates how many pods from the list are in one of
// the meaningful (from the replica set perspective) states. This function is // the meaningful (from the replica set perspective) states. This function is
// a temporary workaround against the current lack of ownerRef in pods. // a temporary workaround against the current lack of ownerRef in pods.
func AnalysePods(selectorv1 *v1beta1.LabelSelector, allPods []util.FederatedObject, currentTime time.Time) (map[string]PodAnalysisResult, error) { func AnalysePods(selectorv1 *unversioned.LabelSelector, allPods []util.FederatedObject, currentTime time.Time) (map[string]PodAnalysisResult, error) {
selector, err := labelSelectorAsSelector(selectorv1) selector, err := unversioned.LabelSelectorAsSelector(selectorv1)
if err != nil { if err != nil {
return nil, fmt.Errorf("invalid selector: %v", err) return nil, fmt.Errorf("invalid selector: %v", err)
} }
@ -82,11 +80,3 @@ func AnalysePods(selectorv1 *v1beta1.LabelSelector, allPods []util.FederatedObje
} }
return result, nil return result, nil
} }
func labelSelectorAsSelector(ps *v1beta1.LabelSelector) (labels.Selector, error) {
unversionedSelector := unversioned.LabelSelector{}
if err := api.Scheme.Convert(ps, &unversionedSelector, nil); err != nil {
return nil, err
}
return unversioned.LabelSelectorAsSelector(&unversionedSelector)
}

View File

@ -101,7 +101,7 @@ func newReplicaSet(selectorMap map[string]string) *v1beta1.ReplicaSet {
}, },
Spec: v1beta1.ReplicaSetSpec{ Spec: v1beta1.ReplicaSetSpec{
Replicas: &replicas, Replicas: &replicas,
Selector: &v1beta1.LabelSelector{MatchLabels: selectorMap}, Selector: &unversioned.LabelSelector{MatchLabels: selectorMap},
}, },
} }
return rs return rs

View File

@ -38,7 +38,6 @@ go_library(
"//pkg/util/intstr:go_default_library", "//pkg/util/intstr:go_default_library",
"//pkg/watch/versioned:go_default_library", "//pkg/watch/versioned:go_default_library",
"//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/gogo/protobuf/proto",
"//vendor:github.com/gogo/protobuf/sortkeys",
"//vendor:github.com/ugorji/go/codec", "//vendor:github.com/ugorji/go/codec",
], ],
) )

View File

@ -20,7 +20,6 @@ import (
"fmt" "fmt"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned"
v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/batch"
"k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/conversion"
@ -53,15 +52,7 @@ func Convert_batch_JobSpec_To_v1_JobSpec(in *batch.JobSpec, out *JobSpec, s conv
out.Parallelism = in.Parallelism out.Parallelism = in.Parallelism
out.Completions = in.Completions out.Completions = in.Completions
out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds
// unable to generate simple pointer conversion for unversioned.LabelSelector -> v1.LabelSelector out.Selector = in.Selector
if in.Selector != nil {
out.Selector = new(LabelSelector)
if err := Convert_unversioned_LabelSelector_To_v1_LabelSelector(in.Selector, out.Selector, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if in.ManualSelector != nil { if in.ManualSelector != nil {
out.ManualSelector = new(bool) out.ManualSelector = new(bool)
*out.ManualSelector = *in.ManualSelector *out.ManualSelector = *in.ManualSelector
@ -79,15 +70,7 @@ func Convert_v1_JobSpec_To_batch_JobSpec(in *JobSpec, out *batch.JobSpec, s conv
out.Parallelism = in.Parallelism out.Parallelism = in.Parallelism
out.Completions = in.Completions out.Completions = in.Completions
out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds
// unable to generate simple pointer conversion for v1.LabelSelector -> unversioned.LabelSelector out.Selector = in.Selector
if in.Selector != nil {
out.Selector = new(unversioned.LabelSelector)
if err := Convert_v1_LabelSelector_To_unversioned_LabelSelector(in.Selector, out.Selector, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if in.ManualSelector != nil { if in.ManualSelector != nil {
out.ManualSelector = new(bool) out.ManualSelector = new(bool)
*out.ManualSelector = *in.ManualSelector *out.ManualSelector = *in.ManualSelector

View File

@ -30,8 +30,6 @@ limitations under the License.
JobList JobList
JobSpec JobSpec
JobStatus JobStatus
LabelSelector
LabelSelectorRequirement
*/ */
package v1 package v1
@ -44,7 +42,6 @@ import k8s_io_kubernetes_pkg_api_v1 "k8s.io/kubernetes/pkg/api/v1"
import strings "strings" import strings "strings"
import reflect "reflect" import reflect "reflect"
import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
import io "io" import io "io"
@ -77,24 +74,12 @@ func (m *JobStatus) Reset() { *m = JobStatus{} }
func (*JobStatus) ProtoMessage() {} func (*JobStatus) ProtoMessage() {}
func (*JobStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} } func (*JobStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
func (m *LabelSelector) Reset() { *m = LabelSelector{} }
func (*LabelSelector) ProtoMessage() {}
func (*LabelSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
func (m *LabelSelectorRequirement) Reset() { *m = LabelSelectorRequirement{} }
func (*LabelSelectorRequirement) ProtoMessage() {}
func (*LabelSelectorRequirement) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{6}
}
func init() { func init() {
proto.RegisterType((*Job)(nil), "k8s.io.kubernetes.pkg.apis.batch.v1.Job") proto.RegisterType((*Job)(nil), "k8s.io.kubernetes.pkg.apis.batch.v1.Job")
proto.RegisterType((*JobCondition)(nil), "k8s.io.kubernetes.pkg.apis.batch.v1.JobCondition") proto.RegisterType((*JobCondition)(nil), "k8s.io.kubernetes.pkg.apis.batch.v1.JobCondition")
proto.RegisterType((*JobList)(nil), "k8s.io.kubernetes.pkg.apis.batch.v1.JobList") proto.RegisterType((*JobList)(nil), "k8s.io.kubernetes.pkg.apis.batch.v1.JobList")
proto.RegisterType((*JobSpec)(nil), "k8s.io.kubernetes.pkg.apis.batch.v1.JobSpec") proto.RegisterType((*JobSpec)(nil), "k8s.io.kubernetes.pkg.apis.batch.v1.JobSpec")
proto.RegisterType((*JobStatus)(nil), "k8s.io.kubernetes.pkg.apis.batch.v1.JobStatus") proto.RegisterType((*JobStatus)(nil), "k8s.io.kubernetes.pkg.apis.batch.v1.JobStatus")
proto.RegisterType((*LabelSelector)(nil), "k8s.io.kubernetes.pkg.apis.batch.v1.LabelSelector")
proto.RegisterType((*LabelSelectorRequirement)(nil), "k8s.io.kubernetes.pkg.apis.batch.v1.LabelSelectorRequirement")
} }
func (m *Job) Marshal() (data []byte, err error) { func (m *Job) Marshal() (data []byte, err error) {
size := m.Size() size := m.Size()
@ -346,94 +331,6 @@ func (m *JobStatus) MarshalTo(data []byte) (int, error) {
return i, nil return i, nil
} }
func (m *LabelSelector) 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 *LabelSelector) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if len(m.MatchLabels) > 0 {
for k := range m.MatchLabels {
data[i] = 0xa
i++
v := m.MatchLabels[k]
mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v)))
i = encodeVarintGenerated(data, i, uint64(mapSize))
data[i] = 0xa
i++
i = encodeVarintGenerated(data, i, uint64(len(k)))
i += copy(data[i:], k)
data[i] = 0x12
i++
i = encodeVarintGenerated(data, i, uint64(len(v)))
i += copy(data[i:], v)
}
}
if len(m.MatchExpressions) > 0 {
for _, msg := range m.MatchExpressions {
data[i] = 0x12
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
}
func (m *LabelSelectorRequirement) 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 *LabelSelectorRequirement) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
data[i] = 0xa
i++
i = encodeVarintGenerated(data, i, uint64(len(m.Key)))
i += copy(data[i:], m.Key)
data[i] = 0x12
i++
i = encodeVarintGenerated(data, i, uint64(len(m.Operator)))
i += copy(data[i:], m.Operator)
if len(m.Values) > 0 {
for _, s := range m.Values {
data[i] = 0x1a
i++
l = len(s)
for l >= 1<<7 {
data[i] = uint8(uint64(l)&0x7f | 0x80)
l >>= 7
i++
}
data[i] = uint8(l)
i++
i += copy(data[i:], s)
}
}
return i, nil
}
func encodeFixed64Generated(data []byte, offset int, v uint64) int { func encodeFixed64Generated(data []byte, offset int, v uint64) int {
data[offset] = uint8(v) data[offset] = uint8(v)
data[offset+1] = uint8(v >> 8) data[offset+1] = uint8(v >> 8)
@ -552,42 +449,6 @@ func (m *JobStatus) Size() (n int) {
return n return n
} }
func (m *LabelSelector) Size() (n int) {
var l int
_ = l
if len(m.MatchLabels) > 0 {
for k, v := range m.MatchLabels {
_ = k
_ = v
mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v)))
n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize))
}
}
if len(m.MatchExpressions) > 0 {
for _, e := range m.MatchExpressions {
l = e.Size()
n += 1 + l + sovGenerated(uint64(l))
}
}
return n
}
func (m *LabelSelectorRequirement) Size() (n int) {
var l int
_ = l
l = len(m.Key)
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Operator)
n += 1 + l + sovGenerated(uint64(l))
if len(m.Values) > 0 {
for _, s := range m.Values {
l = len(s)
n += 1 + l + sovGenerated(uint64(l))
}
}
return n
}
func sovGenerated(x uint64) (n int) { func sovGenerated(x uint64) (n int) {
for { for {
n++ n++
@ -647,7 +508,7 @@ func (this *JobSpec) String() string {
`Parallelism:` + valueToStringGenerated(this.Parallelism) + `,`, `Parallelism:` + valueToStringGenerated(this.Parallelism) + `,`,
`Completions:` + valueToStringGenerated(this.Completions) + `,`, `Completions:` + valueToStringGenerated(this.Completions) + `,`,
`ActiveDeadlineSeconds:` + valueToStringGenerated(this.ActiveDeadlineSeconds) + `,`, `ActiveDeadlineSeconds:` + valueToStringGenerated(this.ActiveDeadlineSeconds) + `,`,
`Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "LabelSelector", 1) + `,`, `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_kubernetes_pkg_api_unversioned.LabelSelector", 1) + `,`,
`ManualSelector:` + valueToStringGenerated(this.ManualSelector) + `,`, `ManualSelector:` + valueToStringGenerated(this.ManualSelector) + `,`,
`Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_kubernetes_pkg_api_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`, `Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_kubernetes_pkg_api_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`,
`}`, `}`,
@ -669,39 +530,6 @@ func (this *JobStatus) String() string {
}, "") }, "")
return s return s
} }
func (this *LabelSelector) String() string {
if this == nil {
return "nil"
}
keysForMatchLabels := make([]string, 0, len(this.MatchLabels))
for k := range this.MatchLabels {
keysForMatchLabels = append(keysForMatchLabels, k)
}
github_com_gogo_protobuf_sortkeys.Strings(keysForMatchLabels)
mapStringForMatchLabels := "map[string]string{"
for _, k := range keysForMatchLabels {
mapStringForMatchLabels += fmt.Sprintf("%v: %v,", k, this.MatchLabels[k])
}
mapStringForMatchLabels += "}"
s := strings.Join([]string{`&LabelSelector{`,
`MatchLabels:` + mapStringForMatchLabels + `,`,
`MatchExpressions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.MatchExpressions), "LabelSelectorRequirement", "LabelSelectorRequirement", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *LabelSelectorRequirement) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&LabelSelectorRequirement{`,
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
`Operator:` + fmt.Sprintf("%v", this.Operator) + `,`,
`Values:` + fmt.Sprintf("%v", this.Values) + `,`,
`}`,
}, "")
return s
}
func valueToStringGenerated(v interface{}) string { func valueToStringGenerated(v interface{}) string {
rv := reflect.ValueOf(v) rv := reflect.ValueOf(v)
if rv.IsNil() { if rv.IsNil() {
@ -1303,7 +1131,7 @@ func (m *JobSpec) Unmarshal(data []byte) error {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
if m.Selector == nil { if m.Selector == nil {
m.Selector = &LabelSelector{} m.Selector = &k8s_io_kubernetes_pkg_api_unversioned.LabelSelector{}
} }
if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil { if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err return err
@ -1585,335 +1413,6 @@ func (m *JobStatus) Unmarshal(data []byte) error {
} }
return nil return nil
} }
func (m *LabelSelector) 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: LabelSelector: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: LabelSelector: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field MatchLabels", 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
}
var keykey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
keykey |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
stringLenmapkey |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
return ErrInvalidLengthGenerated
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
}
mapkey := string(data[iNdEx:postStringIndexmapkey])
iNdEx = postStringIndexmapkey
var valuekey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
valuekey |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
stringLenmapvalue |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
return ErrInvalidLengthGenerated
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
}
mapvalue := string(data[iNdEx:postStringIndexmapvalue])
iNdEx = postStringIndexmapvalue
if m.MatchLabels == nil {
m.MatchLabels = make(map[string]string)
}
m.MatchLabels[mapkey] = mapvalue
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field MatchExpressions", 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.MatchExpressions = append(m.MatchExpressions, LabelSelectorRequirement{})
if err := m.MatchExpressions[len(m.MatchExpressions)-1].Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
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 *LabelSelectorRequirement) 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: LabelSelectorRequirement: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: LabelSelectorRequirement: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Key", 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.Key = string(data[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Operator", 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.Operator = LabelSelectorOperator(data[iNdEx:postIndex])
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Values", 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.Values = append(m.Values, 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 skipGenerated(data []byte) (n int, err error) { func skipGenerated(data []byte) (n int, err error) {
l := len(data) l := len(data)
iNdEx := 0 iNdEx := 0
@ -2020,71 +1519,59 @@ var (
) )
var fileDescriptorGenerated = []byte{ var fileDescriptorGenerated = []byte{
// 1041 bytes of a gzipped FileDescriptorProto // 863 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x56, 0xdf, 0x6e, 0xe3, 0xc4, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x54, 0xcf, 0x6f, 0xe3, 0x44,
0x17, 0xae, 0x93, 0xa6, 0x4d, 0x26, 0x6d, 0x37, 0xbf, 0xf9, 0x51, 0x29, 0x44, 0x22, 0x59, 0x05, 0x14, 0xce, 0x8f, 0xa6, 0x4d, 0xa6, 0x3f, 0x76, 0x19, 0xa9, 0x52, 0xc8, 0x21, 0x59, 0x05, 0x84,
0x84, 0xba, 0x62, 0x6b, 0x2b, 0x05, 0xa4, 0xd5, 0x4a, 0xac, 0x84, 0x4b, 0x91, 0x28, 0x0d, 0xad, 0x16, 0xb1, 0x1d, 0x2b, 0x65, 0x91, 0x10, 0x07, 0x24, 0x5c, 0x84, 0x44, 0xd5, 0xb2, 0xd5, 0xa4,
0xa6, 0xd5, 0x6a, 0xc5, 0x9f, 0x8b, 0xb1, 0x73, 0x36, 0x35, 0xb5, 0x3d, 0xc6, 0x33, 0x0e, 0x94, 0x42, 0x2b, 0x10, 0x48, 0x63, 0xfb, 0x6d, 0x3a, 0xd4, 0xf6, 0x58, 0x9e, 0x71, 0xd0, 0xde, 0xb8,
0x2b, 0x24, 0x2e, 0xb8, 0xe5, 0x21, 0x78, 0x06, 0xf6, 0x15, 0x7a, 0xb9, 0x70, 0xc5, 0x55, 0x44, 0x71, 0xe5, 0xaf, 0x01, 0xf1, 0x1f, 0xf4, 0xb8, 0xe2, 0xc4, 0x29, 0xa2, 0xe6, 0xbf, 0xd8, 0x13,
0xc3, 0x5b, 0xf4, 0x0a, 0xcd, 0x78, 0xec, 0x38, 0x49, 0x5b, 0xb5, 0xdc, 0x75, 0xce, 0x39, 0xdf, 0xf2, 0x78, 0x62, 0x3b, 0x4d, 0x1a, 0xa5, 0xdc, 0x3c, 0x6f, 0xbe, 0xef, 0x7b, 0xcf, 0xef, 0x7d,
0x77, 0x3e, 0xcf, 0xf9, 0xce, 0xa4, 0xe8, 0xfd, 0xb3, 0x27, 0xdc, 0xf4, 0x98, 0x75, 0x96, 0x38, 0xf3, 0xd0, 0xc7, 0xd7, 0x9f, 0x4a, 0xc2, 0x85, 0x75, 0x9d, 0x38, 0x10, 0x87, 0xa0, 0x40, 0x5a,
0x10, 0x87, 0x20, 0x80, 0x5b, 0xd1, 0xd9, 0xd0, 0xa2, 0x91, 0xc7, 0x2d, 0x87, 0x0a, 0xf7, 0xd4, 0xd1, 0xf5, 0xc4, 0x62, 0x11, 0x97, 0x96, 0xc3, 0x94, 0x7b, 0x65, 0x4d, 0x47, 0xd6, 0x04, 0x42,
0x1a, 0xf5, 0xac, 0x21, 0x84, 0x10, 0x53, 0x01, 0x03, 0x33, 0x8a, 0x99, 0x60, 0xf8, 0xed, 0x14, 0x88, 0x99, 0x02, 0x8f, 0x44, 0xb1, 0x50, 0x02, 0xbf, 0x97, 0x93, 0x48, 0x49, 0x22, 0xd1, 0xf5,
0x64, 0x4e, 0x41, 0x66, 0x74, 0x36, 0x34, 0x25, 0xc8, 0x54, 0x20, 0x73, 0xd4, 0x6b, 0x6d, 0x0f, 0x84, 0x64, 0x24, 0xa2, 0x49, 0x64, 0x3a, 0xea, 0x1d, 0x4d, 0xb8, 0xba, 0x4a, 0x1c, 0xe2, 0x8a,
0x3d, 0x71, 0x9a, 0x38, 0xa6, 0xcb, 0x02, 0x6b, 0xc8, 0x86, 0xcc, 0x52, 0x58, 0x27, 0x79, 0xa9, 0xc0, 0x9a, 0x88, 0x89, 0xb0, 0x34, 0xd7, 0x49, 0x5e, 0xe9, 0x93, 0x3e, 0xe8, 0xaf, 0x5c, 0xb3,
0x4e, 0xea, 0xa0, 0xfe, 0x4a, 0x39, 0x5b, 0x3b, 0x37, 0x0a, 0xb1, 0x62, 0xe0, 0x2c, 0x89, 0x5d, 0x77, 0x7c, 0x6f, 0x21, 0x56, 0x0c, 0x52, 0x24, 0xb1, 0x0b, 0x77, 0xeb, 0xe8, 0x7d, 0x72, 0x3f,
0x98, 0xd7, 0xd1, 0xfa, 0xf0, 0x66, 0x4c, 0x12, 0x8e, 0x20, 0xe6, 0x1e, 0x0b, 0x61, 0xb0, 0x00, 0x27, 0x09, 0xa7, 0x10, 0x4b, 0x2e, 0x42, 0xf0, 0x96, 0x68, 0xcf, 0xee, 0xa7, 0x2d, 0xff, 0x6c,
0x7b, 0x7c, 0x33, 0x6c, 0xf1, 0x63, 0x5b, 0xdb, 0xd7, 0x57, 0xc7, 0x49, 0x28, 0xbc, 0x60, 0x51, 0xef, 0x68, 0x35, 0x3a, 0x4e, 0x42, 0xc5, 0x83, 0xe5, 0x9a, 0x46, 0xab, 0xe1, 0x89, 0xe2, 0xbe,
0x53, 0xef, 0xfa, 0xf2, 0x44, 0x78, 0xbe, 0xe5, 0x85, 0x82, 0x8b, 0x78, 0x1e, 0xd2, 0xfd, 0xa5, 0xc5, 0x43, 0x25, 0x55, 0x7c, 0x97, 0x32, 0xfc, 0xb5, 0x81, 0x9a, 0xa7, 0xc2, 0xc1, 0x2f, 0x51,
0x84, 0xca, 0xfb, 0xcc, 0xc1, 0x2f, 0x50, 0x35, 0x00, 0x41, 0x07, 0x54, 0xd0, 0xa6, 0xf1, 0xd0, 0x3b, 0x00, 0xc5, 0x3c, 0xa6, 0x58, 0xb7, 0xfe, 0xa4, 0xfe, 0x74, 0xf7, 0xf8, 0x29, 0xb9, 0xb7,
0xd8, 0xaa, 0xef, 0x6c, 0x99, 0x37, 0xde, 0xb4, 0x39, 0xea, 0x99, 0x87, 0xce, 0xb7, 0xe0, 0x8a, 0xd3, 0x64, 0x3a, 0x22, 0x2f, 0x9c, 0x9f, 0xc0, 0x55, 0xe7, 0xa0, 0x98, 0x8d, 0x6f, 0x66, 0x83,
0x3e, 0x08, 0x6a, 0xe3, 0x8b, 0x71, 0x67, 0x69, 0x32, 0xee, 0xa0, 0x69, 0x8c, 0xe4, 0x6c, 0xf8, 0x5a, 0x3a, 0x1b, 0xa0, 0x32, 0x46, 0x0b, 0x35, 0xfc, 0x0d, 0xda, 0x92, 0x11, 0xb8, 0xdd, 0x86,
0x0b, 0xb4, 0xcc, 0x23, 0x70, 0x9b, 0x25, 0xc5, 0xfa, 0xd8, 0xbc, 0xc3, 0xfc, 0xcc, 0x7d, 0xe6, 0x56, 0x7d, 0x46, 0x36, 0x98, 0x1f, 0x39, 0x15, 0xce, 0x38, 0x02, 0xd7, 0xde, 0x33, 0xca, 0x5b,
0x1c, 0x47, 0xe0, 0xda, 0x6b, 0x9a, 0x79, 0x59, 0x9e, 0x88, 0xe2, 0xc1, 0xcf, 0xd1, 0x0a, 0x17, 0xd9, 0x89, 0x6a, 0x1d, 0xfc, 0x2d, 0xda, 0x96, 0x8a, 0xa9, 0x44, 0x76, 0x9b, 0x5a, 0x91, 0x6c,
0x54, 0x24, 0xbc, 0x59, 0x56, 0x8c, 0xe6, 0x9d, 0x19, 0x15, 0xca, 0xde, 0xd0, 0x9c, 0x2b, 0xe9, 0xac, 0xa8, 0x59, 0xf6, 0x81, 0xd1, 0xdc, 0xce, 0xcf, 0xd4, 0xa8, 0x0d, 0xff, 0x6a, 0xa2, 0xbd,
0x99, 0x68, 0xb6, 0xee, 0x9f, 0x65, 0xb4, 0xb6, 0xcf, 0x9c, 0x5d, 0x16, 0x0e, 0x3c, 0xe1, 0xb1, 0x53, 0xe1, 0x9c, 0x88, 0xd0, 0xe3, 0x8a, 0x8b, 0x10, 0x3f, 0x47, 0x5b, 0xea, 0x75, 0x04, 0xba,
0x10, 0x7f, 0x80, 0x96, 0xc5, 0x79, 0x04, 0xea, 0x3a, 0x6a, 0xf6, 0xc3, 0x4c, 0xca, 0xc9, 0x79, 0x1d, 0x1d, 0xfb, 0xc9, 0xbc, 0x94, 0xcb, 0xd7, 0x11, 0xbc, 0x9d, 0x0d, 0x1e, 0x57, 0xb1, 0x59,
0x04, 0x57, 0xe3, 0x4e, 0xa3, 0x58, 0x2b, 0x63, 0x44, 0x55, 0x17, 0xe4, 0x95, 0x14, 0xee, 0xd9, 0x8c, 0x6a, 0x74, 0xa5, 0xbc, 0x86, 0xe6, 0x7d, 0xbe, 0x98, 0xee, 0xed, 0x6c, 0xb0, 0xd6, 0x02,
0x6c, 0xbb, 0xab, 0x71, 0xe7, 0x56, 0x0b, 0x98, 0x39, 0xe7, 0xac, 0x3c, 0x7c, 0x8a, 0xd6, 0x7d, 0xa4, 0xd0, 0x5c, 0x2c, 0x0f, 0x5f, 0xa1, 0x7d, 0x9f, 0x49, 0x75, 0x11, 0x0b, 0x07, 0x2e, 0x79,
0xca, 0xc5, 0x51, 0xcc, 0x1c, 0x38, 0xf1, 0x02, 0xd0, 0x5f, 0xff, 0xde, 0x2d, 0x53, 0x2a, 0xf8, 0x00, 0xe6, 0xef, 0x3f, 0x5a, 0x33, 0xa5, 0x8a, 0x0f, 0x49, 0x46, 0xb1, 0x0f, 0x4d, 0x2d, 0xfb,
0xd0, 0x94, 0x10, 0x7b, 0x53, 0x6b, 0x59, 0x3f, 0x28, 0x32, 0x91, 0x59, 0x62, 0xfc, 0x3d, 0xc2, 0x67, 0x55, 0x25, 0xba, 0x28, 0x8c, 0x7f, 0x46, 0x38, 0x0b, 0x5c, 0xc6, 0x2c, 0x94, 0xf9, 0xdf,
0x32, 0x70, 0x12, 0xd3, 0x90, 0xa7, 0x5f, 0x27, 0xdb, 0x2d, 0xdf, 0xbf, 0x5d, 0x4b, 0xb7, 0xc3, 0x65, 0xe9, 0xb6, 0x1e, 0x9e, 0xae, 0x67, 0xd2, 0xe1, 0xb3, 0x25, 0x39, 0xba, 0x22, 0x05, 0xfe,
0x07, 0x0b, 0x74, 0xe4, 0x9a, 0x16, 0xf8, 0x5d, 0xb4, 0x12, 0x03, 0xe5, 0x2c, 0x6c, 0x56, 0xd4, 0x00, 0x6d, 0xc7, 0xc0, 0xa4, 0x08, 0xbb, 0x2d, 0xdd, 0xba, 0x62, 0x52, 0x54, 0x47, 0xa9, 0xb9,
0xd5, 0xe5, 0x93, 0x22, 0x2a, 0x4a, 0x74, 0x16, 0x3f, 0x42, 0xab, 0x01, 0x70, 0x4e, 0x87, 0xd0, 0xc5, 0x1f, 0xa2, 0x9d, 0x00, 0xa4, 0x64, 0x13, 0xe8, 0x6e, 0x6b, 0xe0, 0x23, 0x03, 0xdc, 0x39,
0x5c, 0x51, 0x85, 0x0f, 0x74, 0xe1, 0x6a, 0x3f, 0x0d, 0x93, 0x2c, 0xdf, 0x7d, 0x65, 0xa0, 0xd5, 0xcf, 0xc3, 0x74, 0x7e, 0x3f, 0xfc, 0xa3, 0x8e, 0x76, 0x4e, 0x85, 0x73, 0xc6, 0xa5, 0xc2, 0x3f,
0x7d, 0xe6, 0x1c, 0x78, 0x5c, 0xe0, 0x6f, 0x16, 0x2c, 0x6e, 0xdd, 0xf1, 0x6b, 0x24, 0x5c, 0x39, 0x2c, 0x59, 0xdc, 0xda, 0xf0, 0x6f, 0x32, 0xba, 0x76, 0xfa, 0x63, 0x93, 0xa8, 0x3d, 0x8f, 0x54,
0xbd, 0xa1, 0x1b, 0x55, 0xb3, 0x48, 0xc1, 0xe7, 0x7d, 0x54, 0xf1, 0x04, 0x04, 0x72, 0xee, 0xe5, 0x7c, 0x7e, 0x8e, 0x5a, 0x5c, 0x41, 0x90, 0xcd, 0xbd, 0xb9, 0xfe, 0xf9, 0x2c, 0xda, 0xd2, 0xde,
0xdb, 0xd7, 0x67, 0xd6, 0x96, 0xf6, 0xba, 0x26, 0xad, 0x7c, 0x26, 0xe1, 0x24, 0x65, 0xe9, 0xbe, 0x37, 0xa2, 0xad, 0xaf, 0x33, 0x3a, 0xcd, 0x55, 0x86, 0x7f, 0x36, 0x75, 0xe5, 0x99, 0xf1, 0xf1,
0x2a, 0x2b, 0xe5, 0xd2, 0xf8, 0xb8, 0x87, 0xea, 0x11, 0x8d, 0xa9, 0xef, 0x83, 0xef, 0xf1, 0x40, 0x08, 0xed, 0x46, 0x2c, 0x66, 0xbe, 0x0f, 0x3e, 0x97, 0x81, 0x2e, 0xbe, 0x65, 0x3f, 0x4a, 0x67,
0x89, 0xaf, 0xd8, 0x0f, 0x26, 0xe3, 0x4e, 0xfd, 0x68, 0x1a, 0x26, 0xc5, 0x1a, 0x09, 0x71, 0x59, 0x83, 0xdd, 0x8b, 0x32, 0x4c, 0xab, 0x98, 0x8c, 0xe2, 0x8a, 0x20, 0xf2, 0x21, 0xeb, 0x6e, 0xee,
0x10, 0xf9, 0x20, 0x6f, 0x37, 0xf5, 0xa2, 0x86, 0xec, 0x4e, 0xc3, 0xa4, 0x58, 0x83, 0x0f, 0xd1, 0x45, 0x43, 0x39, 0x29, 0xc3, 0xb4, 0x8a, 0xc1, 0x2f, 0xd0, 0x21, 0x73, 0x15, 0x9f, 0xc2, 0x97,
0x26, 0x75, 0x85, 0x37, 0x82, 0x4f, 0x80, 0x0e, 0x7c, 0x2f, 0x84, 0x63, 0x70, 0x59, 0x38, 0x48, 0xc0, 0x3c, 0x9f, 0x87, 0x30, 0x06, 0x57, 0x84, 0x5e, 0xfe, 0xce, 0x9a, 0xf6, 0xbb, 0xe9, 0x6c,
0xf7, 0xac, 0x6c, 0xbf, 0x39, 0x19, 0x77, 0x36, 0x3f, 0xbe, 0xae, 0x80, 0x5c, 0x8f, 0xc3, 0x5f, 0x70, 0xf8, 0xc5, 0x2a, 0x00, 0x5d, 0xcd, 0xc3, 0x3f, 0xa2, 0xb6, 0x04, 0x1f, 0x5c, 0x25, 0x62,
0xa3, 0x2a, 0x07, 0x1f, 0x5c, 0xc1, 0x62, 0x6d, 0x9f, 0x9d, 0x3b, 0x5d, 0xca, 0x01, 0x75, 0xc0, 0x63, 0x9f, 0xe7, 0x9b, 0x36, 0x9c, 0x39, 0xe0, 0x8f, 0x0d, 0xd7, 0xde, 0xcb, 0x3a, 0x3e, 0x3f,
0x3f, 0xd6, 0x48, 0x7b, 0x4d, 0xde, 0x77, 0x76, 0x22, 0x39, 0x23, 0x7e, 0x8a, 0x36, 0x02, 0x1a, 0xd1, 0x42, 0x13, 0x7f, 0x86, 0x0e, 0x02, 0x16, 0x26, 0xac, 0x40, 0x6a, 0xdf, 0xb4, 0x6d, 0x9c,
0x26, 0x34, 0xaf, 0x54, 0xae, 0xa9, 0xda, 0x78, 0x32, 0xee, 0x6c, 0xf4, 0x67, 0x32, 0x64, 0xae, 0xce, 0x06, 0x07, 0xe7, 0x0b, 0x37, 0xf4, 0x0e, 0x12, 0x7f, 0x8f, 0xda, 0x0a, 0x82, 0xc8, 0x67,
0x12, 0x7f, 0x85, 0xaa, 0x02, 0x82, 0xc8, 0xa7, 0x22, 0xb5, 0x50, 0x7d, 0x67, 0xfb, 0xf6, 0xd7, 0x2a, 0x37, 0xd1, 0xee, 0xf1, 0xd1, 0xfa, 0x7d, 0x77, 0x21, 0xbc, 0x4b, 0x43, 0xd0, 0xab, 0xa9,
0xee, 0x88, 0x0d, 0x4e, 0x34, 0x40, 0x3d, 0x4c, 0xb9, 0x11, 0xb2, 0x28, 0xc9, 0x09, 0xbb, 0xbf, 0xb0, 0xc2, 0x3c, 0x4a, 0x0b, 0xc1, 0xe1, 0xef, 0x4d, 0xd4, 0x29, 0x16, 0x0e, 0x06, 0x84, 0xdc,
0x97, 0x51, 0x2d, 0x7f, 0x6e, 0x30, 0x20, 0xe4, 0x66, 0x2b, 0xcd, 0x9b, 0x86, 0xf2, 0x46, 0xef, 0xf9, 0xa3, 0x96, 0xdd, 0xba, 0x76, 0xc7, 0x68, 0x53, 0x77, 0x14, 0xeb, 0xa0, 0xdc, 0xb2, 0x45,
0xae, 0xde, 0xc8, 0x1f, 0x83, 0xe9, 0x1b, 0x9b, 0x87, 0x38, 0x29, 0x10, 0xe3, 0x17, 0xa8, 0xc6, 0x48, 0xd2, 0x8a, 0x30, 0x7e, 0x89, 0x3a, 0x52, 0xb1, 0x58, 0xe9, 0xd7, 0xda, 0x78, 0xf8, 0x6b,
0x05, 0x8d, 0x85, 0xda, 0xd5, 0xd2, 0xfd, 0x77, 0x75, 0x7d, 0x32, 0xee, 0xd4, 0x8e, 0x33, 0x06, 0xdd, 0x4f, 0x67, 0x83, 0xce, 0x78, 0xae, 0x40, 0x4b, 0x31, 0x3c, 0x41, 0x07, 0xa5, 0x4f, 0xfe,
0x32, 0x25, 0xc3, 0x43, 0xb4, 0x31, 0x75, 0xc9, 0x7f, 0x7d, 0x79, 0xd4, 0x50, 0x76, 0x67, 0x68, 0xef, 0xee, 0xd1, 0x43, 0x39, 0x59, 0x90, 0xa1, 0x77, 0x64, 0xb3, 0x05, 0x90, 0x3b, 0x49, 0xdb,
0xc8, 0x1c, 0xad, 0x5c, 0xff, 0xd4, 0x47, 0xca, 0x2c, 0x95, 0xe9, 0xfa, 0xa7, 0xa6, 0x23, 0x3a, 0xa5, 0x55, 0x2e, 0x80, 0xdc, 0x76, 0xd4, 0xdc, 0x62, 0x0b, 0x75, 0x64, 0xe2, 0xba, 0x00, 0x1e,
0x8b, 0x2d, 0x54, 0xe3, 0x89, 0xeb, 0x02, 0x0c, 0x60, 0xa0, 0x66, 0x5e, 0xb1, 0xff, 0xa7, 0x4b, 0x78, 0x7a, 0xe6, 0x2d, 0xfb, 0x1d, 0x03, 0xed, 0x8c, 0xe7, 0x17, 0xb4, 0xc4, 0x64, 0xc2, 0xaf,
0x6b, 0xc7, 0x59, 0x82, 0x4c, 0x6b, 0x24, 0xf1, 0x4b, 0xea, 0xf9, 0x30, 0x50, 0xb3, 0x2e, 0x10, 0x18, 0xf7, 0xc1, 0xd3, 0xb3, 0xae, 0x08, 0x7f, 0xa5, 0xa3, 0xd4, 0xdc, 0xda, 0xef, 0xdf, 0xdc,
0x7f, 0xaa, 0xa2, 0x44, 0x67, 0xbb, 0x7f, 0x94, 0xd0, 0xfa, 0x8c, 0xf7, 0xf0, 0x8f, 0xa8, 0x1e, 0xf6, 0x6b, 0x6f, 0x6e, 0xfb, 0xb5, 0xbf, 0x6f, 0xfb, 0xb5, 0x5f, 0xd2, 0x7e, 0xfd, 0x26, 0xed,
0xc8, 0x71, 0xa8, 0x68, 0x36, 0xbd, 0xdd, 0xfb, 0x9b, 0xd8, 0xec, 0x4f, 0x59, 0xf6, 0x42, 0x11, 0xd7, 0xdf, 0xa4, 0xfd, 0xfa, 0x3f, 0x69, 0xbf, 0xfe, 0xdb, 0xbf, 0xfd, 0xda, 0x77, 0x8d, 0xe9,
0x9f, 0xdb, 0xff, 0xd7, 0x1a, 0xea, 0x85, 0x0c, 0x29, 0x36, 0xc3, 0x3f, 0x1b, 0xa8, 0xa1, 0xce, 0xe8, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x45, 0x86, 0xd9, 0xb8, 0x08, 0x00, 0x00,
0x7b, 0x3f, 0x44, 0x31, 0x70, 0xae, 0xf7, 0x58, 0x2a, 0xf8, 0xe8, 0xfe, 0x0a, 0x08, 0x7c, 0x97,
0x78, 0x31, 0x04, 0x10, 0x0a, 0xbb, 0xa9, 0x7b, 0x37, 0xfa, 0x73, 0xf4, 0x64, 0xa1, 0x61, 0xeb,
0x19, 0x6a, 0xcc, 0x6b, 0xc7, 0x0d, 0x54, 0x3e, 0x83, 0xf3, 0xf4, 0x77, 0x91, 0xc8, 0x3f, 0xf1,
0x1b, 0xa8, 0x32, 0xa2, 0x7e, 0x92, 0x3a, 0xaf, 0x46, 0xd2, 0xc3, 0xd3, 0xd2, 0x13, 0xa3, 0xfb,
0x9b, 0x81, 0x9a, 0x37, 0x09, 0xc1, 0x6f, 0x15, 0x88, 0xec, 0xba, 0x56, 0x55, 0xfe, 0x1c, 0xce,
0x53, 0xd6, 0x3d, 0x54, 0x65, 0x91, 0xfc, 0x6f, 0x85, 0xc5, 0xfa, 0xc7, 0xf4, 0x51, 0xb6, 0x76,
0x87, 0x3a, 0x7e, 0x35, 0xee, 0x6c, 0xce, 0xd0, 0x67, 0x09, 0x92, 0x43, 0x71, 0x17, 0xad, 0x28,
0x3d, 0xf2, 0x21, 0x2b, 0x6f, 0xd5, 0x6c, 0x24, 0x47, 0xff, 0x5c, 0x45, 0x88, 0xce, 0xd8, 0xef,
0x5c, 0x5c, 0xb6, 0x97, 0x5e, 0x5f, 0xb6, 0x97, 0xfe, 0xba, 0x6c, 0x2f, 0xfd, 0x34, 0x69, 0x1b,
0x17, 0x93, 0xb6, 0xf1, 0x7a, 0xd2, 0x36, 0xfe, 0x9e, 0xb4, 0x8d, 0x5f, 0xff, 0x69, 0x2f, 0x7d,
0x59, 0x1a, 0xf5, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xd1, 0x8b, 0x10, 0xf1, 0xb1, 0x0a, 0x00,
0x00,
} }

View File

@ -112,7 +112,7 @@ message JobSpec {
// Normally, the system sets this field for you. // Normally, the system sets this field for you.
// More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
// +optional // +optional
optional LabelSelector selector = 4; optional k8s.io.kubernetes.pkg.api.unversioned.LabelSelector selector = 4;
// ManualSelector controls generation of pod labels and pod selectors. // ManualSelector controls generation of pod labels and pod selectors.
// Leave `manualSelector` unset unless you are certain what you are doing. // Leave `manualSelector` unset unless you are certain what you are doing.
@ -165,36 +165,3 @@ message JobStatus {
optional int32 failed = 6; optional int32 failed = 6;
} }
// A label selector is a label query over a set of resources. The result of matchLabels and
// matchExpressions are ANDed. An empty label selector matches all objects. A null
// label selector matches no objects.
message LabelSelector {
// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
// map is equivalent to an element of matchExpressions, whose key field is "key", the
// operator is "In", and the values array contains only "value". The requirements are ANDed.
// +optional
map<string, string> matchLabels = 1;
// matchExpressions is a list of label selector requirements. The requirements are ANDed.
// +optional
repeated LabelSelectorRequirement matchExpressions = 2;
}
// A label selector requirement is a selector that contains values, a key, and an operator that
// relates the key and values.
message LabelSelectorRequirement {
// key is the label key that the selector applies to.
optional string key = 1;
// operator represents a key's relationship to a set of values.
// Valid operators ard In, NotIn, Exists and DoesNotExist.
optional string operator = 2;
// values is an array of string values. If the operator is In or NotIn,
// the values array must be non-empty. If the operator is Exists or DoesNotExist,
// the values array must be empty. This array is replaced during a strategic
// merge patch.
// +optional
repeated string values = 3;
}

File diff suppressed because it is too large Load Diff

View File

@ -83,7 +83,7 @@ type JobSpec struct {
// Normally, the system sets this field for you. // Normally, the system sets this field for you.
// More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
// +optional // +optional
Selector *LabelSelector `json:"selector,omitempty" protobuf:"bytes,4,opt,name=selector"` Selector *unversioned.LabelSelector `json:"selector,omitempty" protobuf:"bytes,4,opt,name=selector"`
// ManualSelector controls generation of pod labels and pod selectors. // ManualSelector controls generation of pod labels and pod selectors.
// Leave `manualSelector` unset unless you are certain what you are doing. // Leave `manualSelector` unset unless you are certain what you are doing.
@ -166,43 +166,3 @@ type JobCondition struct {
// +optional // +optional
Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"` Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
} }
// A label selector is a label query over a set of resources. The result of matchLabels and
// matchExpressions are ANDed. An empty label selector matches all objects. A null
// label selector matches no objects.
type LabelSelector struct {
// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
// map is equivalent to an element of matchExpressions, whose key field is "key", the
// operator is "In", and the values array contains only "value". The requirements are ANDed.
// +optional
MatchLabels map[string]string `json:"matchLabels,omitempty" protobuf:"bytes,1,rep,name=matchLabels"`
// matchExpressions is a list of label selector requirements. The requirements are ANDed.
// +optional
MatchExpressions []LabelSelectorRequirement `json:"matchExpressions,omitempty" protobuf:"bytes,2,rep,name=matchExpressions"`
}
// A label selector requirement is a selector that contains values, a key, and an operator that
// relates the key and values.
type LabelSelectorRequirement struct {
// key is the label key that the selector applies to.
Key string `json:"key" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,1,opt,name=key"`
// operator represents a key's relationship to a set of values.
// Valid operators ard In, NotIn, Exists and DoesNotExist.
Operator LabelSelectorOperator `json:"operator" protobuf:"bytes,2,opt,name=operator,casttype=LabelSelectorOperator"`
// values is an array of string values. If the operator is In or NotIn,
// the values array must be non-empty. If the operator is Exists or DoesNotExist,
// the values array must be empty. This array is replaced during a strategic
// merge patch.
// +optional
Values []string `json:"values,omitempty" protobuf:"bytes,3,rep,name=values"`
}
// A label selector operator is the set of operators that can be used in a selector requirement.
type LabelSelectorOperator string
const (
LabelSelectorOpIn LabelSelectorOperator = "In"
LabelSelectorOpNotIn LabelSelectorOperator = "NotIn"
LabelSelectorOpExists LabelSelectorOperator = "Exists"
LabelSelectorOpDoesNotExist LabelSelectorOperator = "DoesNotExist"
)

View File

@ -90,25 +90,4 @@ func (JobStatus) SwaggerDoc() map[string]string {
return map_JobStatus return map_JobStatus
} }
var map_LabelSelector = map[string]string{
"": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
"matchLabels": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
"matchExpressions": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
}
func (LabelSelector) SwaggerDoc() map[string]string {
return map_LabelSelector
}
var map_LabelSelectorRequirement = map[string]string{
"": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
"key": "key is the label key that the selector applies to.",
"operator": "operator represents a key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.",
"values": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
}
func (LabelSelectorRequirement) SwaggerDoc() map[string]string {
return map_LabelSelectorRequirement
}
// AUTO-GENERATED FUNCTIONS END HERE // AUTO-GENERATED FUNCTIONS END HERE

View File

@ -22,7 +22,6 @@ package v1
import ( import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
api_v1 "k8s.io/kubernetes/pkg/api/v1" api_v1 "k8s.io/kubernetes/pkg/api/v1"
batch "k8s.io/kubernetes/pkg/apis/batch" batch "k8s.io/kubernetes/pkg/apis/batch"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
@ -47,10 +46,6 @@ func RegisterConversions(scheme *runtime.Scheme) error {
Convert_batch_JobSpec_To_v1_JobSpec, Convert_batch_JobSpec_To_v1_JobSpec,
Convert_v1_JobStatus_To_batch_JobStatus, Convert_v1_JobStatus_To_batch_JobStatus,
Convert_batch_JobStatus_To_v1_JobStatus, Convert_batch_JobStatus_To_v1_JobStatus,
Convert_v1_LabelSelector_To_unversioned_LabelSelector,
Convert_unversioned_LabelSelector_To_v1_LabelSelector,
Convert_v1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement,
Convert_unversioned_LabelSelectorRequirement_To_v1_LabelSelectorRequirement,
) )
} }
@ -162,15 +157,7 @@ func autoConvert_v1_JobSpec_To_batch_JobSpec(in *JobSpec, out *batch.JobSpec, s
out.Parallelism = in.Parallelism out.Parallelism = in.Parallelism
out.Completions = in.Completions out.Completions = in.Completions
out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds
if in.Selector != nil { out.Selector = in.Selector
in, out := &in.Selector, &out.Selector
*out = new(unversioned.LabelSelector)
if err := Convert_v1_LabelSelector_To_unversioned_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.Selector = nil
}
out.ManualSelector = in.ManualSelector out.ManualSelector = in.ManualSelector
if err := api_v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := api_v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
@ -182,15 +169,7 @@ func autoConvert_batch_JobSpec_To_v1_JobSpec(in *batch.JobSpec, out *JobSpec, s
out.Parallelism = in.Parallelism out.Parallelism = in.Parallelism
out.Completions = in.Completions out.Completions = in.Completions
out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds
if in.Selector != nil { out.Selector = in.Selector
in, out := &in.Selector, &out.Selector
*out = new(LabelSelector)
if err := Convert_unversioned_LabelSelector_To_v1_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.Selector = nil
}
out.ManualSelector = in.ManualSelector out.ManualSelector = in.ManualSelector
if err := api_v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := api_v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
@ -245,65 +224,3 @@ func autoConvert_batch_JobStatus_To_v1_JobStatus(in *batch.JobStatus, out *JobSt
func Convert_batch_JobStatus_To_v1_JobStatus(in *batch.JobStatus, out *JobStatus, s conversion.Scope) error { func Convert_batch_JobStatus_To_v1_JobStatus(in *batch.JobStatus, out *JobStatus, s conversion.Scope) error {
return autoConvert_batch_JobStatus_To_v1_JobStatus(in, out, s) return autoConvert_batch_JobStatus_To_v1_JobStatus(in, out, s)
} }
func autoConvert_v1_LabelSelector_To_unversioned_LabelSelector(in *LabelSelector, out *unversioned.LabelSelector, s conversion.Scope) error {
out.MatchLabels = in.MatchLabels
if in.MatchExpressions != nil {
in, out := &in.MatchExpressions, &out.MatchExpressions
*out = make([]unversioned.LabelSelectorRequirement, len(*in))
for i := range *in {
if err := Convert_v1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.MatchExpressions = nil
}
return nil
}
func Convert_v1_LabelSelector_To_unversioned_LabelSelector(in *LabelSelector, out *unversioned.LabelSelector, s conversion.Scope) error {
return autoConvert_v1_LabelSelector_To_unversioned_LabelSelector(in, out, s)
}
func autoConvert_unversioned_LabelSelector_To_v1_LabelSelector(in *unversioned.LabelSelector, out *LabelSelector, s conversion.Scope) error {
out.MatchLabels = in.MatchLabels
if in.MatchExpressions != nil {
in, out := &in.MatchExpressions, &out.MatchExpressions
*out = make([]LabelSelectorRequirement, len(*in))
for i := range *in {
if err := Convert_unversioned_LabelSelectorRequirement_To_v1_LabelSelectorRequirement(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.MatchExpressions = nil
}
return nil
}
func Convert_unversioned_LabelSelector_To_v1_LabelSelector(in *unversioned.LabelSelector, out *LabelSelector, s conversion.Scope) error {
return autoConvert_unversioned_LabelSelector_To_v1_LabelSelector(in, out, s)
}
func autoConvert_v1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement(in *LabelSelectorRequirement, out *unversioned.LabelSelectorRequirement, s conversion.Scope) error {
out.Key = in.Key
out.Operator = unversioned.LabelSelectorOperator(in.Operator)
out.Values = in.Values
return nil
}
func Convert_v1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement(in *LabelSelectorRequirement, out *unversioned.LabelSelectorRequirement, s conversion.Scope) error {
return autoConvert_v1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement(in, out, s)
}
func autoConvert_unversioned_LabelSelectorRequirement_To_v1_LabelSelectorRequirement(in *unversioned.LabelSelectorRequirement, out *LabelSelectorRequirement, s conversion.Scope) error {
out.Key = in.Key
out.Operator = LabelSelectorOperator(in.Operator)
out.Values = in.Values
return nil
}
func Convert_unversioned_LabelSelectorRequirement_To_v1_LabelSelectorRequirement(in *unversioned.LabelSelectorRequirement, out *LabelSelectorRequirement, s conversion.Scope) error {
return autoConvert_unversioned_LabelSelectorRequirement_To_v1_LabelSelectorRequirement(in, out, s)
}

View File

@ -41,8 +41,6 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_JobList, InType: reflect.TypeOf(&JobList{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_JobList, InType: reflect.TypeOf(&JobList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_JobSpec, InType: reflect.TypeOf(&JobSpec{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_JobSpec, InType: reflect.TypeOf(&JobSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_JobStatus, InType: reflect.TypeOf(&JobStatus{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_JobStatus, InType: reflect.TypeOf(&JobStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_LabelSelector, InType: reflect.TypeOf(&LabelSelector{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1_LabelSelectorRequirement, InType: reflect.TypeOf(&LabelSelectorRequirement{})},
) )
} }
@ -126,8 +124,8 @@ func DeepCopy_v1_JobSpec(in interface{}, out interface{}, c *conversion.Cloner)
} }
if in.Selector != nil { if in.Selector != nil {
in, out := &in.Selector, &out.Selector in, out := &in.Selector, &out.Selector
*out = new(LabelSelector) *out = new(unversioned.LabelSelector)
if err := DeepCopy_v1_LabelSelector(*in, *out, c); err != nil { if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err return err
} }
} else { } else {
@ -182,48 +180,3 @@ func DeepCopy_v1_JobStatus(in interface{}, out interface{}, c *conversion.Cloner
return nil return nil
} }
} }
func DeepCopy_v1_LabelSelector(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LabelSelector)
out := out.(*LabelSelector)
if in.MatchLabels != nil {
in, out := &in.MatchLabels, &out.MatchLabels
*out = make(map[string]string)
for key, val := range *in {
(*out)[key] = val
}
} else {
out.MatchLabels = nil
}
if in.MatchExpressions != nil {
in, out := &in.MatchExpressions, &out.MatchExpressions
*out = make([]LabelSelectorRequirement, len(*in))
for i := range *in {
if err := DeepCopy_v1_LabelSelectorRequirement(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.MatchExpressions = nil
}
return nil
}
}
func DeepCopy_v1_LabelSelectorRequirement(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LabelSelectorRequirement)
out := out.(*LabelSelectorRequirement)
out.Key = in.Key
out.Operator = in.Operator
if in.Values != nil {
in, out := &in.Values, &out.Values
*out = make([]string, len(*in))
copy(*out, *in)
} else {
out.Values = nil
}
return nil
}
}

View File

@ -38,7 +38,6 @@ go_library(
"//pkg/util/intstr:go_default_library", "//pkg/util/intstr:go_default_library",
"//pkg/watch/versioned:go_default_library", "//pkg/watch/versioned:go_default_library",
"//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/gogo/protobuf/proto",
"//vendor:github.com/gogo/protobuf/sortkeys",
"//vendor:github.com/ugorji/go/codec", "//vendor:github.com/ugorji/go/codec",
], ],
) )

View File

@ -20,7 +20,6 @@ import (
"fmt" "fmt"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned"
v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/batch"
"k8s.io/kubernetes/pkg/conversion" "k8s.io/kubernetes/pkg/conversion"
@ -59,15 +58,7 @@ func Convert_batch_JobSpec_To_v2alpha1_JobSpec(in *batch.JobSpec, out *JobSpec,
out.Parallelism = in.Parallelism out.Parallelism = in.Parallelism
out.Completions = in.Completions out.Completions = in.Completions
out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds
// unable to generate simple pointer conversion for unversioned.LabelSelector -> v1.LabelSelector out.Selector = in.Selector
if in.Selector != nil {
out.Selector = new(LabelSelector)
if err := Convert_unversioned_LabelSelector_To_v2alpha1_LabelSelector(in.Selector, out.Selector, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if in.ManualSelector != nil { if in.ManualSelector != nil {
out.ManualSelector = new(bool) out.ManualSelector = new(bool)
*out.ManualSelector = *in.ManualSelector *out.ManualSelector = *in.ManualSelector
@ -85,15 +76,7 @@ func Convert_v2alpha1_JobSpec_To_batch_JobSpec(in *JobSpec, out *batch.JobSpec,
out.Parallelism = in.Parallelism out.Parallelism = in.Parallelism
out.Completions = in.Completions out.Completions = in.Completions
out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds
// unable to generate simple pointer conversion for unversioned.LabelSelector -> v1.LabelSelector out.Selector = in.Selector
if in.Selector != nil {
out.Selector = new(unversioned.LabelSelector)
if err := Convert_v2alpha1_LabelSelector_To_unversioned_LabelSelector(in.Selector, out.Selector, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if in.ManualSelector != nil { if in.ManualSelector != nil {
out.ManualSelector = new(bool) out.ManualSelector = new(bool)
*out.ManualSelector = *in.ManualSelector *out.ManualSelector = *in.ManualSelector

View File

@ -32,8 +32,6 @@ limitations under the License.
JobStatus JobStatus
JobTemplate JobTemplate
JobTemplateSpec JobTemplateSpec
LabelSelector
LabelSelectorRequirement
ScheduledJob ScheduledJob
ScheduledJobList ScheduledJobList
ScheduledJobSpec ScheduledJobSpec
@ -50,7 +48,6 @@ import k8s_io_kubernetes_pkg_api_v1 "k8s.io/kubernetes/pkg/api/v1"
import strings "strings" import strings "strings"
import reflect "reflect" import reflect "reflect"
import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
import io "io" import io "io"
@ -91,31 +88,21 @@ func (m *JobTemplateSpec) Reset() { *m = JobTemplateSpec{} }
func (*JobTemplateSpec) ProtoMessage() {} func (*JobTemplateSpec) ProtoMessage() {}
func (*JobTemplateSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } func (*JobTemplateSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
func (m *LabelSelector) Reset() { *m = LabelSelector{} }
func (*LabelSelector) ProtoMessage() {}
func (*LabelSelector) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
func (m *LabelSelectorRequirement) Reset() { *m = LabelSelectorRequirement{} }
func (*LabelSelectorRequirement) ProtoMessage() {}
func (*LabelSelectorRequirement) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{8}
}
func (m *ScheduledJob) Reset() { *m = ScheduledJob{} } func (m *ScheduledJob) Reset() { *m = ScheduledJob{} }
func (*ScheduledJob) ProtoMessage() {} func (*ScheduledJob) ProtoMessage() {}
func (*ScheduledJob) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } func (*ScheduledJob) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
func (m *ScheduledJobList) Reset() { *m = ScheduledJobList{} } func (m *ScheduledJobList) Reset() { *m = ScheduledJobList{} }
func (*ScheduledJobList) ProtoMessage() {} func (*ScheduledJobList) ProtoMessage() {}
func (*ScheduledJobList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } func (*ScheduledJobList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} }
func (m *ScheduledJobSpec) Reset() { *m = ScheduledJobSpec{} } func (m *ScheduledJobSpec) Reset() { *m = ScheduledJobSpec{} }
func (*ScheduledJobSpec) ProtoMessage() {} func (*ScheduledJobSpec) ProtoMessage() {}
func (*ScheduledJobSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } func (*ScheduledJobSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} }
func (m *ScheduledJobStatus) Reset() { *m = ScheduledJobStatus{} } func (m *ScheduledJobStatus) Reset() { *m = ScheduledJobStatus{} }
func (*ScheduledJobStatus) ProtoMessage() {} func (*ScheduledJobStatus) ProtoMessage() {}
func (*ScheduledJobStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } func (*ScheduledJobStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} }
func init() { func init() {
proto.RegisterType((*Job)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.Job") proto.RegisterType((*Job)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.Job")
@ -125,8 +112,6 @@ func init() {
proto.RegisterType((*JobStatus)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.JobStatus") proto.RegisterType((*JobStatus)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.JobStatus")
proto.RegisterType((*JobTemplate)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.JobTemplate") proto.RegisterType((*JobTemplate)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.JobTemplate")
proto.RegisterType((*JobTemplateSpec)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.JobTemplateSpec") proto.RegisterType((*JobTemplateSpec)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.JobTemplateSpec")
proto.RegisterType((*LabelSelector)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.LabelSelector")
proto.RegisterType((*LabelSelectorRequirement)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.LabelSelectorRequirement")
proto.RegisterType((*ScheduledJob)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.ScheduledJob") proto.RegisterType((*ScheduledJob)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.ScheduledJob")
proto.RegisterType((*ScheduledJobList)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.ScheduledJobList") proto.RegisterType((*ScheduledJobList)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.ScheduledJobList")
proto.RegisterType((*ScheduledJobSpec)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.ScheduledJobSpec") proto.RegisterType((*ScheduledJobSpec)(nil), "k8s.io.kubernetes.pkg.apis.batch.v2alpha1.ScheduledJobSpec")
@ -450,94 +435,6 @@ func (m *JobTemplateSpec) MarshalTo(data []byte) (int, error) {
return i, nil return i, nil
} }
func (m *LabelSelector) 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 *LabelSelector) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if len(m.MatchLabels) > 0 {
for k := range m.MatchLabels {
data[i] = 0xa
i++
v := m.MatchLabels[k]
mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v)))
i = encodeVarintGenerated(data, i, uint64(mapSize))
data[i] = 0xa
i++
i = encodeVarintGenerated(data, i, uint64(len(k)))
i += copy(data[i:], k)
data[i] = 0x12
i++
i = encodeVarintGenerated(data, i, uint64(len(v)))
i += copy(data[i:], v)
}
}
if len(m.MatchExpressions) > 0 {
for _, msg := range m.MatchExpressions {
data[i] = 0x12
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
}
func (m *LabelSelectorRequirement) 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 *LabelSelectorRequirement) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
data[i] = 0xa
i++
i = encodeVarintGenerated(data, i, uint64(len(m.Key)))
i += copy(data[i:], m.Key)
data[i] = 0x12
i++
i = encodeVarintGenerated(data, i, uint64(len(m.Operator)))
i += copy(data[i:], m.Operator)
if len(m.Values) > 0 {
for _, s := range m.Values {
data[i] = 0x1a
i++
l = len(s)
for l >= 1<<7 {
data[i] = uint8(uint64(l)&0x7f | 0x80)
l >>= 7
i++
}
data[i] = uint8(l)
i++
i += copy(data[i:], s)
}
}
return i, nil
}
func (m *ScheduledJob) Marshal() (data []byte, err error) { func (m *ScheduledJob) Marshal() (data []byte, err error) {
size := m.Size() size := m.Size()
data = make([]byte, size) data = make([]byte, size)
@ -845,42 +742,6 @@ func (m *JobTemplateSpec) Size() (n int) {
return n return n
} }
func (m *LabelSelector) Size() (n int) {
var l int
_ = l
if len(m.MatchLabels) > 0 {
for k, v := range m.MatchLabels {
_ = k
_ = v
mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v)))
n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize))
}
}
if len(m.MatchExpressions) > 0 {
for _, e := range m.MatchExpressions {
l = e.Size()
n += 1 + l + sovGenerated(uint64(l))
}
}
return n
}
func (m *LabelSelectorRequirement) Size() (n int) {
var l int
_ = l
l = len(m.Key)
n += 1 + l + sovGenerated(uint64(l))
l = len(m.Operator)
n += 1 + l + sovGenerated(uint64(l))
if len(m.Values) > 0 {
for _, s := range m.Values {
l = len(s)
n += 1 + l + sovGenerated(uint64(l))
}
}
return n
}
func (m *ScheduledJob) Size() (n int) { func (m *ScheduledJob) Size() (n int) {
var l int var l int
_ = l _ = l
@ -1000,7 +861,7 @@ func (this *JobSpec) String() string {
`Parallelism:` + valueToStringGenerated(this.Parallelism) + `,`, `Parallelism:` + valueToStringGenerated(this.Parallelism) + `,`,
`Completions:` + valueToStringGenerated(this.Completions) + `,`, `Completions:` + valueToStringGenerated(this.Completions) + `,`,
`ActiveDeadlineSeconds:` + valueToStringGenerated(this.ActiveDeadlineSeconds) + `,`, `ActiveDeadlineSeconds:` + valueToStringGenerated(this.ActiveDeadlineSeconds) + `,`,
`Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "LabelSelector", 1) + `,`, `Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LabelSelector", "k8s_io_kubernetes_pkg_api_unversioned.LabelSelector", 1) + `,`,
`ManualSelector:` + valueToStringGenerated(this.ManualSelector) + `,`, `ManualSelector:` + valueToStringGenerated(this.ManualSelector) + `,`,
`Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_kubernetes_pkg_api_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`, `Template:` + strings.Replace(strings.Replace(this.Template.String(), "PodTemplateSpec", "k8s_io_kubernetes_pkg_api_v1.PodTemplateSpec", 1), `&`, ``, 1) + `,`,
`}`, `}`,
@ -1044,39 +905,6 @@ func (this *JobTemplateSpec) String() string {
}, "") }, "")
return s return s
} }
func (this *LabelSelector) String() string {
if this == nil {
return "nil"
}
keysForMatchLabels := make([]string, 0, len(this.MatchLabels))
for k := range this.MatchLabels {
keysForMatchLabels = append(keysForMatchLabels, k)
}
github_com_gogo_protobuf_sortkeys.Strings(keysForMatchLabels)
mapStringForMatchLabels := "map[string]string{"
for _, k := range keysForMatchLabels {
mapStringForMatchLabels += fmt.Sprintf("%v: %v,", k, this.MatchLabels[k])
}
mapStringForMatchLabels += "}"
s := strings.Join([]string{`&LabelSelector{`,
`MatchLabels:` + mapStringForMatchLabels + `,`,
`MatchExpressions:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.MatchExpressions), "LabelSelectorRequirement", "LabelSelectorRequirement", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *LabelSelectorRequirement) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&LabelSelectorRequirement{`,
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
`Operator:` + fmt.Sprintf("%v", this.Operator) + `,`,
`Values:` + fmt.Sprintf("%v", this.Values) + `,`,
`}`,
}, "")
return s
}
func (this *ScheduledJob) String() string { func (this *ScheduledJob) String() string {
if this == nil { if this == nil {
return "nil" return "nil"
@ -1726,7 +1554,7 @@ func (m *JobSpec) Unmarshal(data []byte) error {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
if m.Selector == nil { if m.Selector == nil {
m.Selector = &LabelSelector{} m.Selector = &k8s_io_kubernetes_pkg_api_unversioned.LabelSelector{}
} }
if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil { if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err return err
@ -2228,335 +2056,6 @@ func (m *JobTemplateSpec) Unmarshal(data []byte) error {
} }
return nil return nil
} }
func (m *LabelSelector) 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: LabelSelector: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: LabelSelector: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field MatchLabels", 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
}
var keykey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
keykey |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
var stringLenmapkey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
stringLenmapkey |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLenmapkey := int(stringLenmapkey)
if intStringLenmapkey < 0 {
return ErrInvalidLengthGenerated
}
postStringIndexmapkey := iNdEx + intStringLenmapkey
if postStringIndexmapkey > l {
return io.ErrUnexpectedEOF
}
mapkey := string(data[iNdEx:postStringIndexmapkey])
iNdEx = postStringIndexmapkey
var valuekey uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
valuekey |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
var stringLenmapvalue uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
stringLenmapvalue |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLenmapvalue := int(stringLenmapvalue)
if intStringLenmapvalue < 0 {
return ErrInvalidLengthGenerated
}
postStringIndexmapvalue := iNdEx + intStringLenmapvalue
if postStringIndexmapvalue > l {
return io.ErrUnexpectedEOF
}
mapvalue := string(data[iNdEx:postStringIndexmapvalue])
iNdEx = postStringIndexmapvalue
if m.MatchLabels == nil {
m.MatchLabels = make(map[string]string)
}
m.MatchLabels[mapkey] = mapvalue
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field MatchExpressions", 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.MatchExpressions = append(m.MatchExpressions, LabelSelectorRequirement{})
if err := m.MatchExpressions[len(m.MatchExpressions)-1].Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
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 *LabelSelectorRequirement) 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: LabelSelectorRequirement: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: LabelSelectorRequirement: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Key", 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.Key = string(data[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Operator", 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.Operator = LabelSelectorOperator(data[iNdEx:postIndex])
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Values", 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.Values = append(m.Values, 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 *ScheduledJob) Unmarshal(data []byte) error { func (m *ScheduledJob) Unmarshal(data []byte) error {
l := len(data) l := len(data)
iNdEx := 0 iNdEx := 0
@ -3207,88 +2706,77 @@ var (
) )
var fileDescriptorGenerated = []byte{ var fileDescriptorGenerated = []byte{
// 1316 bytes of a gzipped FileDescriptorProto // 1139 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x57, 0xcf, 0x6f, 0x1b, 0xc5, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xd4, 0x56, 0xcf, 0x6f, 0xe3, 0x44,
0x17, 0xcf, 0xda, 0x71, 0x62, 0x8f, 0x93, 0xd4, 0x9d, 0x6f, 0xa3, 0xfa, 0x1b, 0x84, 0x5d, 0x59, 0x14, 0xae, 0x93, 0xa6, 0x4d, 0x26, 0x6d, 0xb7, 0x1d, 0xa8, 0x36, 0x14, 0x29, 0x59, 0x45, 0x02,
0x02, 0xa5, 0xd0, 0xac, 0x95, 0xa8, 0xa8, 0xa5, 0x88, 0x4a, 0x6c, 0x28, 0x52, 0x43, 0xa2, 0x46, 0x75, 0x61, 0x6b, 0xab, 0x51, 0xd1, 0xc2, 0x22, 0x90, 0x70, 0x11, 0x12, 0x55, 0xab, 0xad, 0x26,
0xe3, 0xb4, 0xaa, 0xa0, 0x3d, 0xac, 0x77, 0x5f, 0x9d, 0x6d, 0x76, 0x77, 0xb6, 0x3b, 0xb3, 0x01, 0x5d, 0xb4, 0x82, 0x2e, 0xd2, 0xd8, 0x7e, 0x4d, 0xbc, 0x75, 0x3c, 0xc6, 0x33, 0x2e, 0xea, 0x8d,
0xdf, 0x7a, 0xe5, 0x04, 0x12, 0xff, 0x02, 0x67, 0xfe, 0x02, 0x7a, 0xe0, 0xd6, 0x1b, 0x85, 0x13, 0xff, 0x00, 0x24, 0xfe, 0x0f, 0xee, 0x48, 0x70, 0xe0, 0xd6, 0x1b, 0x0b, 0x27, 0xc4, 0x21, 0xa2,
0xe2, 0x60, 0x51, 0xf3, 0x5f, 0xe4, 0x84, 0x66, 0x76, 0x76, 0xbd, 0xfe, 0x15, 0xc5, 0x41, 0x45, 0xe6, 0xbf, 0xe8, 0x09, 0x79, 0xfc, 0x23, 0xce, 0xaf, 0xaa, 0x29, 0x5a, 0x24, 0x6e, 0xf6, 0x9b,
0xe2, 0xb6, 0xf3, 0x7e, 0x7c, 0xde, 0x9b, 0x79, 0x9f, 0x79, 0xf3, 0x16, 0x7d, 0x78, 0x74, 0x93, 0xef, 0xfb, 0xe6, 0xcd, 0xbc, 0x6f, 0xde, 0x0c, 0x7a, 0xef, 0xf4, 0x5d, 0xae, 0xda, 0x4c, 0x3b,
0xe9, 0x0e, 0x6d, 0x1e, 0x45, 0x6d, 0x08, 0x7d, 0xe0, 0xc0, 0x9a, 0xc1, 0x51, 0xa7, 0x69, 0x06, 0x0d, 0x0c, 0xf0, 0x5d, 0x10, 0xc0, 0x35, 0xef, 0xb4, 0xa3, 0x51, 0xcf, 0xe6, 0x9a, 0x41, 0x85,
0x0e, 0x6b, 0xb6, 0x4d, 0x6e, 0x1d, 0x36, 0x8f, 0xb7, 0x4c, 0x37, 0x38, 0x34, 0x37, 0x9b, 0x1d, 0xd9, 0xd5, 0xce, 0x5a, 0xd4, 0xf1, 0xba, 0x74, 0x5b, 0xeb, 0x80, 0x0b, 0x3e, 0x15, 0x60, 0xa9,
0xf0, 0x21, 0x34, 0x39, 0xd8, 0x7a, 0x10, 0x52, 0x4e, 0xf1, 0xd5, 0xd8, 0x55, 0x1f, 0xb8, 0xea, 0x9e, 0xcf, 0x04, 0xc3, 0xf7, 0x63, 0xaa, 0x3a, 0xa0, 0xaa, 0xde, 0x69, 0x47, 0x8d, 0xa8, 0xaa,
0xc1, 0x51, 0x47, 0x17, 0xae, 0xba, 0x74, 0xd5, 0x13, 0xd7, 0xb5, 0x8d, 0x8e, 0xc3, 0x0f, 0xa3, 0xa4, 0xaa, 0x29, 0x75, 0x63, 0xab, 0x63, 0x8b, 0x6e, 0x60, 0xa8, 0x26, 0xeb, 0x69, 0x1d, 0xd6,
0xb6, 0x6e, 0x51, 0xaf, 0xd9, 0xa1, 0x1d, 0xda, 0x94, 0x08, 0xed, 0xe8, 0x89, 0x5c, 0xc9, 0x85, 0x61, 0x9a, 0x54, 0x30, 0x82, 0x13, 0xf9, 0x27, 0x7f, 0xe4, 0x57, 0xac, 0xbc, 0xd1, 0x9a, 0x9a,
0xfc, 0x8a, 0x91, 0xd7, 0xb6, 0xa6, 0x26, 0xd5, 0x0c, 0x81, 0xd1, 0x28, 0xb4, 0x60, 0x34, 0x9b, 0x94, 0xe6, 0x03, 0x67, 0x81, 0x6f, 0xc2, 0x68, 0x36, 0x1b, 0xef, 0x4c, 0xe7, 0x04, 0xee, 0x19,
0xb5, 0x0f, 0xa6, 0xfb, 0x44, 0xfe, 0x31, 0x84, 0xcc, 0xa1, 0x3e, 0xd8, 0x63, 0x6e, 0xd7, 0xa6, 0xf8, 0xdc, 0x66, 0x2e, 0x58, 0x63, 0xb4, 0x07, 0xd3, 0x69, 0x67, 0x63, 0x4b, 0xde, 0xd8, 0x9a,
0xbb, 0x1d, 0x8f, 0x6d, 0x79, 0x6d, 0x63, 0xb2, 0x75, 0x18, 0xf9, 0xdc, 0xf1, 0xc6, 0x73, 0xda, 0x8c, 0xf6, 0x03, 0x57, 0xd8, 0xbd, 0xf1, 0x9c, 0xb6, 0x27, 0xc3, 0x03, 0x61, 0x3b, 0x9a, 0xed,
0x9c, 0x6c, 0x1e, 0x71, 0xc7, 0x6d, 0x3a, 0x3e, 0x67, 0x3c, 0x1c, 0x75, 0x69, 0x7c, 0x9f, 0x43, 0x0a, 0x2e, 0xfc, 0x51, 0x4a, 0xf3, 0xfb, 0x02, 0x2a, 0xee, 0x31, 0x03, 0x3f, 0x45, 0xe5, 0x1e,
0xf9, 0x1d, 0xda, 0xc6, 0x0f, 0x51, 0xd1, 0x03, 0x6e, 0xda, 0x26, 0x37, 0xab, 0xda, 0x15, 0x6d, 0x08, 0x6a, 0x51, 0x41, 0x6b, 0xca, 0x3d, 0x65, 0xb3, 0xda, 0xda, 0x54, 0xa7, 0xee, 0xb7, 0x7a,
0xbd, 0xbc, 0xb5, 0xae, 0x4f, 0x3d, 0x6f, 0xfd, 0x78, 0x53, 0xbf, 0xd7, 0x7e, 0x0a, 0x16, 0xdf, 0xb6, 0xad, 0x3e, 0x36, 0x9e, 0x83, 0x29, 0x0e, 0x40, 0x50, 0x1d, 0x5f, 0xf4, 0x1b, 0x73, 0x61,
0x03, 0x6e, 0x1a, 0xf8, 0x65, 0xaf, 0x3e, 0xd7, 0xef, 0xd5, 0xd1, 0x40, 0x46, 0x52, 0x34, 0x7c, 0xbf, 0x81, 0x06, 0x31, 0x92, 0xa9, 0xe1, 0x23, 0x34, 0xcf, 0x3d, 0x30, 0x6b, 0x05, 0xa9, 0xda,
0x80, 0xe6, 0x59, 0x00, 0x56, 0x35, 0x27, 0x51, 0xb7, 0xf4, 0x33, 0x57, 0x51, 0xdf, 0xa1, 0xed, 0x52, 0x6f, 0x5c, 0x45, 0x75, 0x8f, 0x19, 0x6d, 0x0f, 0x4c, 0x7d, 0x29, 0xd1, 0x9f, 0x8f, 0xfe,
0x56, 0x00, 0x96, 0xb1, 0xa4, 0xf0, 0xe7, 0xc5, 0x8a, 0x48, 0x34, 0xfc, 0x08, 0x2d, 0x30, 0x6e, 0x88, 0x54, 0xc3, 0xc7, 0x68, 0x81, 0x0b, 0x2a, 0x02, 0x5e, 0x2b, 0x4a, 0xdd, 0x9d, 0x19, 0x75,
0xf2, 0x88, 0x55, 0xf3, 0x12, 0xf7, 0xfa, 0x8c, 0xb8, 0xd2, 0xd7, 0x58, 0x51, 0xc8, 0x0b, 0xf1, 0x25, 0x57, 0x5f, 0x49, 0x94, 0x17, 0xe2, 0x7f, 0x92, 0x68, 0x36, 0x7f, 0x2f, 0xa2, 0xa5, 0x3d,
0x9a, 0x28, 0xcc, 0xc6, 0x6f, 0x79, 0xb4, 0xb4, 0x43, 0xdb, 0xdb, 0xd4, 0xb7, 0x1d, 0xee, 0x50, 0x66, 0xec, 0x32, 0xd7, 0xb2, 0x85, 0xcd, 0x5c, 0xbc, 0x83, 0xe6, 0xc5, 0xb9, 0x07, 0x72, 0x6b,
0x1f, 0x5f, 0x47, 0xf3, 0xbc, 0x1b, 0x80, 0x3c, 0x9a, 0x92, 0x71, 0x25, 0x49, 0xe8, 0xa0, 0x1b, 0x2a, 0xfa, 0xbd, 0x34, 0xa1, 0xa3, 0x73, 0x0f, 0xae, 0xfa, 0x8d, 0xd5, 0x3c, 0x36, 0x8a, 0x11,
0xc0, 0x49, 0xaf, 0x5e, 0xc9, 0xda, 0x0a, 0x19, 0x91, 0xd6, 0xf8, 0x41, 0x9a, 0x64, 0x4e, 0xfa, 0x89, 0xc6, 0x9f, 0x65, 0x49, 0x16, 0x24, 0xef, 0xc3, 0xe1, 0xe9, 0xae, 0xfa, 0x8d, 0x6b, 0xed,
0xdd, 0x1e, 0x0e, 0x77, 0xd2, 0xab, 0x9f, 0x4a, 0x07, 0x3d, 0xc5, 0x1c, 0x4e, 0x0f, 0x1f, 0xa2, 0xa0, 0x66, 0x9a, 0xc3, 0xe9, 0xe1, 0x2e, 0x5a, 0x76, 0x28, 0x17, 0x87, 0x3e, 0x33, 0xe0, 0xc8,
0x65, 0xd7, 0x64, 0x7c, 0x3f, 0xa4, 0x6d, 0x38, 0x70, 0x3c, 0x50, 0x67, 0xf0, 0xfe, 0x29, 0x15, 0xee, 0x41, 0xb2, 0x07, 0x6f, 0x5f, 0x53, 0xb1, 0x9c, 0x27, 0xd5, 0x88, 0xa2, 0xaf, 0x27, 0xb9,
0xcb, 0x70, 0x52, 0x17, 0x2e, 0xc6, 0xaa, 0xca, 0x65, 0x79, 0x37, 0x8b, 0x44, 0x86, 0x81, 0xf1, 0x2c, 0xef, 0xe7, 0x95, 0xc8, 0xb0, 0x30, 0xfe, 0x1a, 0xe1, 0x28, 0x70, 0xe4, 0x53, 0x97, 0xc7,
0x57, 0x08, 0x0b, 0xc1, 0x41, 0x68, 0xfa, 0x2c, 0xde, 0x9d, 0x08, 0x37, 0x3f, 0x7b, 0xb8, 0x35, 0xab, 0x8b, 0xa6, 0x9b, 0x9f, 0x7d, 0xba, 0x8d, 0x64, 0x3a, 0xbc, 0x3f, 0x26, 0x47, 0x26, 0x4c,
0x15, 0x0e, 0xef, 0x8e, 0xc1, 0x91, 0x09, 0x21, 0xf0, 0xbb, 0x68, 0x21, 0x04, 0x93, 0x51, 0xbf, 0x81, 0xdf, 0x44, 0x0b, 0x3e, 0x50, 0xce, 0xdc, 0x5a, 0x49, 0x6e, 0x5d, 0x56, 0x29, 0x22, 0xa3,
0x5a, 0x90, 0x47, 0x97, 0x56, 0x8a, 0x48, 0x29, 0x51, 0x5a, 0x7c, 0x15, 0x2d, 0x7a, 0xc0, 0x98, 0x24, 0x19, 0xc5, 0xf7, 0xd1, 0x62, 0x0f, 0x38, 0xa7, 0x1d, 0xa8, 0x2d, 0x48, 0xe0, 0x9d, 0x04,
0xd9, 0x81, 0xea, 0x82, 0x34, 0xbc, 0xa0, 0x0c, 0x17, 0xf7, 0x62, 0x31, 0x49, 0xf4, 0x8d, 0x17, 0xb8, 0x78, 0x10, 0x87, 0x49, 0x3a, 0xde, 0xfc, 0x59, 0x41, 0x8b, 0x7b, 0xcc, 0xd8, 0xb7, 0xb9,
0x1a, 0x5a, 0xdc, 0xa1, 0xed, 0x5d, 0x87, 0x71, 0xfc, 0x78, 0x8c, 0xee, 0xcd, 0x33, 0xee, 0x46, 0xc0, 0xcf, 0xc6, 0xec, 0xae, 0xdd, 0x70, 0x35, 0x11, 0x5d, 0xba, 0x7e, 0x35, 0x99, 0xa8, 0x9c,
0xb8, 0x4b, 0xd6, 0x57, 0x54, 0xa0, 0x62, 0x22, 0xc9, 0x70, 0xbe, 0x85, 0x0a, 0x0e, 0x07, 0x4f, 0x46, 0x72, 0x9e, 0x6f, 0xa3, 0x92, 0x2d, 0xa0, 0x17, 0xd5, 0xbd, 0xb8, 0x59, 0x6d, 0xa9, 0xb3,
0xd4, 0x3d, 0xbf, 0x5e, 0xde, 0xd2, 0x67, 0x23, 0xa7, 0xb1, 0xac, 0xa0, 0x0b, 0x77, 0x05, 0x08, 0x99, 0x53, 0x5f, 0x4e, 0xa4, 0x4b, 0x9f, 0x46, 0x22, 0x24, 0xd6, 0x6a, 0xfe, 0x58, 0x94, 0xf9,
0x89, 0xb1, 0x1a, 0x2f, 0xf2, 0x32, 0x7f, 0x71, 0x09, 0xf0, 0x26, 0x2a, 0x07, 0x66, 0x68, 0xba, 0x47, 0x87, 0x00, 0x6f, 0xa3, 0xaa, 0x47, 0x7d, 0xea, 0x38, 0xe0, 0xd8, 0xbc, 0x27, 0x97, 0x50,
0x2e, 0xb8, 0x0e, 0xf3, 0xe4, 0x16, 0x0a, 0xc6, 0x85, 0x7e, 0xaf, 0x5e, 0xde, 0x1f, 0x88, 0x49, 0xd2, 0xef, 0x84, 0xfd, 0x46, 0xf5, 0x70, 0x10, 0x26, 0x79, 0x4c, 0x44, 0x31, 0x59, 0xcf, 0x73,
0xd6, 0x46, 0xb8, 0x58, 0xd4, 0x0b, 0x5c, 0x10, 0x67, 0x1c, 0x33, 0x52, 0xb9, 0x6c, 0x0f, 0xc4, 0x20, 0xda, 0xe3, 0xd8, 0x91, 0x09, 0x65, 0x77, 0x10, 0x26, 0x79, 0x0c, 0x7e, 0x8c, 0xd6, 0xa9,
0x24, 0x6b, 0x83, 0xef, 0xa1, 0x55, 0xd3, 0xe2, 0xce, 0x31, 0x7c, 0x0a, 0xa6, 0xed, 0x3a, 0x3e, 0x29, 0xec, 0x33, 0xf8, 0x18, 0xa8, 0xe5, 0xd8, 0x2e, 0xb4, 0xc1, 0x64, 0xae, 0x15, 0x9f, 0xb9,
0xb4, 0xc0, 0xa2, 0xbe, 0x1d, 0xdf, 0xb9, 0xbc, 0xf1, 0xff, 0x7e, 0xaf, 0xbe, 0xfa, 0xc9, 0x24, 0xa2, 0xfe, 0x5a, 0xd8, 0x6f, 0xac, 0x7f, 0x34, 0x09, 0x40, 0x26, 0xf3, 0xf0, 0x97, 0xa8, 0xcc,
0x03, 0x32, 0xd9, 0x0f, 0xb7, 0x51, 0x91, 0x81, 0x0b, 0x16, 0xa7, 0xa1, 0x22, 0xd1, 0xcd, 0x19, 0xc1, 0x01, 0x53, 0x30, 0x3f, 0x31, 0xd1, 0xce, 0x4d, 0xb7, 0x9d, 0x1a, 0xe0, 0xb4, 0x13, 0xae,
0x8e, 0x66, 0xd7, 0x6c, 0x83, 0xdb, 0x52, 0xfe, 0xc6, 0x92, 0x38, 0xfb, 0x64, 0x45, 0x52, 0x5c, 0xbe, 0x14, 0xed, 0x7b, 0xfa, 0x47, 0x32, 0x4d, 0xfc, 0x08, 0xad, 0xf4, 0xa8, 0x1b, 0xd0, 0x0c,
0x7c, 0x0b, 0xad, 0x78, 0xa6, 0x1f, 0x99, 0xa9, 0xa5, 0x64, 0x50, 0xd1, 0xc0, 0xfd, 0x5e, 0x7d, 0x29, 0xdd, 0x53, 0xd6, 0x71, 0xd8, 0x6f, 0xac, 0x1c, 0x0c, 0x8d, 0x90, 0x11, 0x24, 0xfe, 0x02,
0x65, 0x6f, 0x48, 0x43, 0x46, 0x2c, 0xf1, 0x97, 0xa8, 0xc8, 0xc1, 0x0b, 0x5c, 0x93, 0xc7, 0x74, 0x95, 0x05, 0xf4, 0x3c, 0x87, 0x8a, 0xd8, 0x4a, 0xd5, 0xd6, 0xd6, 0xf5, 0x1d, 0xf0, 0x90, 0x59,
0x2a, 0x6f, 0x6d, 0x9c, 0xde, 0x05, 0xf7, 0xa9, 0x7d, 0xa0, 0x1c, 0x64, 0xab, 0x4a, 0x49, 0x91, 0x47, 0x09, 0x41, 0xb6, 0xa9, 0xcc, 0x10, 0x69, 0x94, 0x64, 0x82, 0xcd, 0x9f, 0x8a, 0xa8, 0x92,
0x48, 0x49, 0x0a, 0xd8, 0xf8, 0x29, 0x8f, 0x4a, 0x69, 0xeb, 0xc1, 0x47, 0x08, 0x59, 0xc9, 0xf5, 0xb5, 0x1d, 0x7c, 0x8a, 0x90, 0x99, 0x1e, 0x6d, 0x5e, 0x53, 0xa4, 0x47, 0x1e, 0xce, 0xe6, 0x91,
0x66, 0x55, 0x4d, 0xf2, 0xe4, 0xc6, 0x6c, 0x3c, 0x49, 0xdb, 0xc3, 0xa0, 0x03, 0xa7, 0x22, 0x46, 0xac, 0x35, 0x0c, 0xba, 0x6f, 0x16, 0xe2, 0x24, 0x27, 0x8f, 0x9f, 0xa2, 0x0a, 0x17, 0xd4, 0x17,
0x32, 0xf0, 0xf8, 0x21, 0x2a, 0x31, 0x6e, 0x86, 0x5c, 0xde, 0xde, 0xdc, 0xec, 0xb7, 0x77, 0xb9, 0xf2, 0xe4, 0x16, 0x66, 0x3f, 0xb9, 0xcb, 0x61, 0xbf, 0x51, 0x69, 0xa7, 0x0a, 0x64, 0x20, 0x86,
0xdf, 0xab, 0x97, 0x5a, 0x09, 0x02, 0x19, 0x80, 0xe1, 0x0e, 0x5a, 0x19, 0x30, 0xe6, 0xbc, 0xbd, 0x3b, 0x68, 0x65, 0xe0, 0x96, 0xdb, 0xf6, 0x21, 0x59, 0x9a, 0xdd, 0x21, 0x19, 0x32, 0x22, 0x1b,
0x48, 0x96, 0x66, 0x7b, 0x08, 0x86, 0x8c, 0xc0, 0x8a, 0x86, 0x10, 0x73, 0x4a, 0x12, 0xa7, 0x30, 0x35, 0x83, 0xd8, 0x4f, 0xd2, 0x34, 0xa5, 0x41, 0x33, 0x88, 0xcd, 0x47, 0x92, 0x51, 0xac, 0xa1,
0x68, 0x08, 0x31, 0x01, 0x89, 0xd2, 0xe2, 0x26, 0x2a, 0xb1, 0xc8, 0xb2, 0x00, 0x6c, 0xb0, 0x65, 0x0a, 0x0f, 0x4c, 0x13, 0xc0, 0x02, 0x4b, 0x56, 0xbe, 0xa4, 0xaf, 0x25, 0xd0, 0x4a, 0x3b, 0x1d,
0xe5, 0x0b, 0xc6, 0x45, 0x65, 0x5a, 0x6a, 0x25, 0x0a, 0x32, 0xb0, 0x11, 0xc0, 0x4f, 0x4c, 0xc7, 0x20, 0x03, 0x4c, 0x24, 0x7c, 0x42, 0x6d, 0x07, 0x2c, 0x59, 0xf1, 0x9c, 0xf0, 0x27, 0x32, 0x4a,
0x05, 0x5b, 0x56, 0x3c, 0x03, 0xfc, 0x99, 0x94, 0x12, 0xa5, 0x6d, 0xfc, 0xaa, 0xa1, 0xf2, 0x0e, 0x92, 0xd1, 0xe6, 0x6f, 0x0a, 0xaa, 0xee, 0x31, 0x23, 0x2d, 0xec, 0x4b, 0xbc, 0x2d, 0xbb, 0x39,
0x6d, 0x27, 0x85, 0x7d, 0x83, 0x2f, 0xe6, 0x61, 0x86, 0x85, 0x71, 0xb1, 0x6e, 0xcd, 0x46, 0x8c, 0x17, 0xc6, 0xc5, 0x7a, 0x34, 0x9b, 0x31, 0x6e, 0x6c, 0xc9, 0x5f, 0x14, 0x74, 0x67, 0x04, 0xff,
0x33, 0x53, 0xf2, 0x67, 0x0d, 0x5d, 0x18, 0xb1, 0xff, 0xaf, 0x4d, 0x02, 0x8d, 0x5e, 0x0e, 0x2d, 0x7f, 0x7b, 0x05, 0x34, 0x7f, 0x28, 0xa0, 0xa5, 0xb6, 0xd9, 0x05, 0x2b, 0x70, 0xc0, 0x7a, 0xb9,
0x0f, 0x75, 0x06, 0xfc, 0x5c, 0x43, 0x65, 0x4f, 0x00, 0x48, 0x71, 0x72, 0xb9, 0xee, 0x9e, 0xb7, 0xcf, 0x98, 0x67, 0x43, 0x0b, 0x78, 0x7f, 0x86, 0x05, 0xe4, 0x13, 0x9c, 0xfa, 0x9e, 0x81, 0x91,
0xd3, 0xe8, 0x7b, 0x03, 0xac, 0x3b, 0x3e, 0x0f, 0xbb, 0xc6, 0xff, 0x54, 0x1a, 0xe5, 0x8c, 0x86, 0xf7, 0xcc, 0x07, 0xb7, 0x9d, 0xe0, 0xfa, 0x87, 0xcd, 0xaf, 0x0a, 0x5a, 0xcd, 0xc3, 0xff, 0x8b,
0x64, 0x43, 0xe2, 0x6f, 0x34, 0x54, 0x91, 0xeb, 0x3b, 0x5f, 0x07, 0x21, 0x30, 0xa6, 0x5a, 0xae, 0xcb, 0xf0, 0x78, 0xf8, 0x32, 0x7c, 0x78, 0xcb, 0x95, 0x4d, 0xb9, 0x15, 0xbf, 0x2d, 0x0e, 0xaf,
0xc8, 0x63, 0xfb, 0xbc, 0x79, 0x10, 0x78, 0x16, 0x39, 0x21, 0x78, 0xe0, 0x73, 0xa3, 0xaa, 0x32, 0x48, 0xfa, 0xf8, 0x01, 0x2a, 0xf3, 0x24, 0x96, 0x3c, 0xd9, 0xb2, 0x04, 0x53, 0x2c, 0xc9, 0x10,
0xa8, 0xec, 0x8d, 0x04, 0x21, 0x63, 0x61, 0xd7, 0x6e, 0xa3, 0xca, 0xe8, 0x0e, 0x70, 0x05, 0xe5, 0xf8, 0x09, 0xba, 0x2b, 0x9b, 0x9a, 0xed, 0x76, 0x46, 0x2f, 0xba, 0x82, 0xbc, 0xe8, 0x5e, 0x0f,
0x8f, 0xa0, 0x1b, 0x8f, 0x33, 0x44, 0x7c, 0xe2, 0x4b, 0xa8, 0x70, 0x6c, 0xba, 0x51, 0xcc, 0xb8, 0xfb, 0x8d, 0xbb, 0xed, 0xc9, 0x10, 0x32, 0x8d, 0x8b, 0x8f, 0xd1, 0x9a, 0xc9, 0x5c, 0x33, 0xf0,
0x12, 0x89, 0x17, 0xb7, 0x72, 0x37, 0xb5, 0xc6, 0x0f, 0x1a, 0xaa, 0x4e, 0x4b, 0x04, 0xbf, 0x9d, 0x7d, 0x70, 0xcd, 0xf3, 0x43, 0xe6, 0xd8, 0xe6, 0xb9, 0xac, 0x6e, 0x45, 0x57, 0x93, 0x6c, 0xd6,
0x01, 0x32, 0xca, 0x2a, 0xab, 0xfc, 0xe7, 0xd0, 0x8d, 0x51, 0xef, 0xa0, 0x22, 0x0d, 0xc4, 0xc0, 0x76, 0x47, 0x01, 0x57, 0x93, 0x82, 0x64, 0x5c, 0x08, 0xbf, 0x81, 0x16, 0x79, 0xc0, 0x3d, 0x70,
0x49, 0x43, 0x35, 0x03, 0x5d, 0x4d, 0xe8, 0x78, 0x4f, 0xc9, 0x4f, 0x7a, 0xf5, 0xd5, 0x21, 0xf8, 0x2d, 0xd9, 0x14, 0xcb, 0x7a, 0x35, 0x7a, 0xf4, 0xb4, 0xe3, 0x10, 0x49, 0xc7, 0xf0, 0x57, 0xa8,
0x44, 0x41, 0x52, 0x57, 0xdc, 0x40, 0x0b, 0x32, 0x1f, 0xf1, 0xf2, 0xe4, 0xd7, 0x4b, 0x06, 0x12, 0xfa, 0x7c, 0x70, 0xc8, 0x65, 0x53, 0xfc, 0x77, 0x2d, 0xe5, 0x95, 0x24, 0xf5, 0x7c, 0x3f, 0x24,
0xf7, 0xf3, 0x81, 0x94, 0x10, 0xa5, 0x69, 0xfc, 0x98, 0x43, 0x4b, 0x2d, 0xeb, 0x10, 0xec, 0xc8, 0xf9, 0x39, 0x9a, 0x7f, 0x2a, 0x08, 0x8f, 0x5b, 0x12, 0x3f, 0xc9, 0x9a, 0x78, 0x7c, 0xe1, 0x6d,
0x05, 0xfb, 0xcd, 0x8e, 0xb4, 0x8f, 0x87, 0x88, 0xfc, 0xd1, 0x0c, 0x05, 0xcd, 0x26, 0x38, 0x75, 0xdd, 0xe4, 0x60, 0x12, 0x38, 0x81, 0x68, 0xd5, 0x30, 0xb5, 0xe7, 0xf7, 0xd0, 0x6a, 0xf4, 0x7c,
0xb6, 0x85, 0x91, 0xd9, 0xf6, 0xe3, 0xf3, 0x06, 0x38, 0x7d, 0xc8, 0xfd, 0x45, 0x43, 0x95, 0xac, 0x4c, 0x27, 0xbc, 0xed, 0xfb, 0xf4, 0xd5, 0xb0, 0xdf, 0x58, 0xdd, 0x1f, 0x11, 0x22, 0x63, 0xd2,
0xf9, 0xbf, 0x31, 0x18, 0x3d, 0x1a, 0x1e, 0x8c, 0x6e, 0x9c, 0x73, 0x67, 0x53, 0x26, 0xa4, 0x6f, 0xfa, 0x5b, 0x17, 0x97, 0xf5, 0xb9, 0x17, 0x97, 0xf5, 0xb9, 0x3f, 0x2e, 0xeb, 0x73, 0xdf, 0x84,
0xf3, 0xc3, 0x3b, 0x92, 0xfd, 0xec, 0x1a, 0x2a, 0x32, 0x25, 0x53, 0x34, 0x4d, 0x13, 0x4c, 0x6c, 0x75, 0xe5, 0x22, 0xac, 0x2b, 0x2f, 0xc2, 0xba, 0xf2, 0x57, 0x58, 0x57, 0xbe, 0xfb, 0xbb, 0x3e,
0x49, 0x6a, 0x81, 0xef, 0xa3, 0xcb, 0xf2, 0x71, 0x73, 0xfc, 0xce, 0xe8, 0xd0, 0x93, 0x93, 0x43, 0xf7, 0x79, 0x39, 0xdd, 0xba, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x80, 0x6a, 0xa7, 0x35, 0xec,
0xcf, 0x5b, 0xfd, 0x5e, 0xfd, 0x72, 0x6b, 0xb2, 0x09, 0x99, 0xe6, 0x8b, 0x1f, 0xa1, 0x8b, 0x16, 0x0e, 0x00, 0x00,
0xf5, 0xad, 0x28, 0x0c, 0xc1, 0xb7, 0xba, 0xfb, 0xd4, 0x75, 0xac, 0xae, 0xac, 0x6e, 0xc9, 0xd0,
0x55, 0x36, 0x17, 0xb7, 0x47, 0x0d, 0x4e, 0x26, 0x09, 0xc9, 0x38, 0x10, 0x7e, 0x07, 0x2d, 0xb2,
0x88, 0x05, 0xe0, 0xdb, 0xf2, 0x71, 0x2c, 0x1a, 0x65, 0x31, 0x00, 0xb7, 0x62, 0x11, 0x49, 0x74,
0xf8, 0x19, 0x2a, 0x3f, 0x1d, 0x34, 0x7b, 0xf9, 0x38, 0xfe, 0xb3, 0xa7, 0x25, 0xed, 0x83, 0x19,
0x05, 0xc9, 0xc6, 0x68, 0xfc, 0xa1, 0x21, 0x3c, 0x4e, 0x49, 0x7c, 0x3f, 0x7d, 0xcc, 0xe3, 0xde,
0xbc, 0x71, 0x96, 0x8b, 0x49, 0xe0, 0x09, 0x88, 0x5d, 0xc3, 0xd4, 0xb7, 0xdf, 0x43, 0x15, 0xf1,
0x2b, 0x91, 0x04, 0x3c, 0xef, 0xbf, 0xca, 0x25, 0xd1, 0x58, 0x77, 0x47, 0x80, 0xc8, 0x18, 0xb4,
0xf1, 0xde, 0xcb, 0xd7, 0xb5, 0xb9, 0x57, 0xaf, 0x6b, 0x73, 0xbf, 0xbf, 0xae, 0xcd, 0x3d, 0xef,
0xd7, 0xb4, 0x97, 0xfd, 0x9a, 0xf6, 0xaa, 0x5f, 0xd3, 0xfe, 0xec, 0xd7, 0xb4, 0xef, 0xfe, 0xaa,
0xcd, 0x7d, 0x51, 0x4c, 0x8e, 0xee, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x67, 0x5d, 0xb9, 0x32,
0xf8, 0x10, 0x00, 0x00,
} }

View File

@ -112,7 +112,7 @@ message JobSpec {
// Normally, the system sets this field for you. // Normally, the system sets this field for you.
// More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
// +optional // +optional
optional LabelSelector selector = 4; optional k8s.io.kubernetes.pkg.api.unversioned.LabelSelector selector = 4;
// ManualSelector controls generation of pod labels and pod selectors. // ManualSelector controls generation of pod labels and pod selectors.
// Leave `manualSelector` unset unless you are certain what you are doing. // Leave `manualSelector` unset unless you are certain what you are doing.
@ -191,39 +191,6 @@ message JobTemplateSpec {
optional JobSpec spec = 2; optional JobSpec spec = 2;
} }
// A label selector is a label query over a set of resources. The result of matchLabels and
// matchExpressions are ANDed. An empty label selector matches all objects. A null
// label selector matches no objects.
message LabelSelector {
// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
// map is equivalent to an element of matchExpressions, whose key field is "key", the
// operator is "In", and the values array contains only "value". The requirements are ANDed.
// +optional
map<string, string> matchLabels = 1;
// matchExpressions is a list of label selector requirements. The requirements are ANDed.
// +optional
repeated LabelSelectorRequirement matchExpressions = 2;
}
// A label selector requirement is a selector that contains values, a key, and an operator that
// relates the key and values.
message LabelSelectorRequirement {
// key is the label key that the selector applies to.
optional string key = 1;
// operator represents a key's relationship to a set of values.
// Valid operators ard In, NotIn, Exists and DoesNotExist.
optional string operator = 2;
// values is an array of string values. If the operator is In or NotIn,
// the values array must be non-empty. If the operator is Exists or DoesNotExist,
// the values array must be empty. This array is replaced during a strategic
// merge patch.
// +optional
repeated string values = 3;
}
// ScheduledJob represents the configuration of a single scheduled job. // ScheduledJob represents the configuration of a single scheduled job.
message ScheduledJob { message ScheduledJob {
// Standard object's metadata. // Standard object's metadata.

File diff suppressed because it is too large Load Diff

View File

@ -108,7 +108,7 @@ type JobSpec struct {
// Normally, the system sets this field for you. // Normally, the system sets this field for you.
// More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
// +optional // +optional
Selector *LabelSelector `json:"selector,omitempty" protobuf:"bytes,4,opt,name=selector"` Selector *unversioned.LabelSelector `json:"selector,omitempty" protobuf:"bytes,4,opt,name=selector"`
// ManualSelector controls generation of pod labels and pod selectors. // ManualSelector controls generation of pod labels and pod selectors.
// Leave `manualSelector` unset unless you are certain what you are doing. // Leave `manualSelector` unset unless you are certain what you are doing.
@ -276,43 +276,3 @@ type ScheduledJobStatus struct {
// +optional // +optional
LastScheduleTime *unversioned.Time `json:"lastScheduleTime,omitempty" protobuf:"bytes,4,opt,name=lastScheduleTime"` LastScheduleTime *unversioned.Time `json:"lastScheduleTime,omitempty" protobuf:"bytes,4,opt,name=lastScheduleTime"`
} }
// A label selector is a label query over a set of resources. The result of matchLabels and
// matchExpressions are ANDed. An empty label selector matches all objects. A null
// label selector matches no objects.
type LabelSelector struct {
// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
// map is equivalent to an element of matchExpressions, whose key field is "key", the
// operator is "In", and the values array contains only "value". The requirements are ANDed.
// +optional
MatchLabels map[string]string `json:"matchLabels,omitempty" protobuf:"bytes,1,rep,name=matchLabels"`
// matchExpressions is a list of label selector requirements. The requirements are ANDed.
// +optional
MatchExpressions []LabelSelectorRequirement `json:"matchExpressions,omitempty" protobuf:"bytes,2,rep,name=matchExpressions"`
}
// A label selector requirement is a selector that contains values, a key, and an operator that
// relates the key and values.
type LabelSelectorRequirement struct {
// key is the label key that the selector applies to.
Key string `json:"key" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,1,opt,name=key"`
// operator represents a key's relationship to a set of values.
// Valid operators ard In, NotIn, Exists and DoesNotExist.
Operator LabelSelectorOperator `json:"operator" protobuf:"bytes,2,opt,name=operator,casttype=LabelSelectorOperator"`
// values is an array of string values. If the operator is In or NotIn,
// the values array must be non-empty. If the operator is Exists or DoesNotExist,
// the values array must be empty. This array is replaced during a strategic
// merge patch.
// +optional
Values []string `json:"values,omitempty" protobuf:"bytes,3,rep,name=values"`
}
// A label selector operator is the set of operators that can be used in a selector requirement.
type LabelSelectorOperator string
const (
LabelSelectorOpIn LabelSelectorOperator = "In"
LabelSelectorOpNotIn LabelSelectorOperator = "NotIn"
LabelSelectorOpExists LabelSelectorOperator = "Exists"
LabelSelectorOpDoesNotExist LabelSelectorOperator = "DoesNotExist"
)

View File

@ -110,27 +110,6 @@ func (JobTemplateSpec) SwaggerDoc() map[string]string {
return map_JobTemplateSpec return map_JobTemplateSpec
} }
var map_LabelSelector = map[string]string{
"": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
"matchLabels": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
"matchExpressions": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
}
func (LabelSelector) SwaggerDoc() map[string]string {
return map_LabelSelector
}
var map_LabelSelectorRequirement = map[string]string{
"": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
"key": "key is the label key that the selector applies to.",
"operator": "operator represents a key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.",
"values": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
}
func (LabelSelectorRequirement) SwaggerDoc() map[string]string {
return map_LabelSelectorRequirement
}
var map_ScheduledJob = map[string]string{ var map_ScheduledJob = map[string]string{
"": "ScheduledJob represents the configuration of a single scheduled job.", "": "ScheduledJob represents the configuration of a single scheduled job.",
"metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata",

View File

@ -22,7 +22,6 @@ package v2alpha1
import ( import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/api/v1"
batch "k8s.io/kubernetes/pkg/apis/batch" batch "k8s.io/kubernetes/pkg/apis/batch"
conversion "k8s.io/kubernetes/pkg/conversion" conversion "k8s.io/kubernetes/pkg/conversion"
@ -51,10 +50,6 @@ func RegisterConversions(scheme *runtime.Scheme) error {
Convert_batch_JobTemplate_To_v2alpha1_JobTemplate, Convert_batch_JobTemplate_To_v2alpha1_JobTemplate,
Convert_v2alpha1_JobTemplateSpec_To_batch_JobTemplateSpec, Convert_v2alpha1_JobTemplateSpec_To_batch_JobTemplateSpec,
Convert_batch_JobTemplateSpec_To_v2alpha1_JobTemplateSpec, Convert_batch_JobTemplateSpec_To_v2alpha1_JobTemplateSpec,
Convert_v2alpha1_LabelSelector_To_unversioned_LabelSelector,
Convert_unversioned_LabelSelector_To_v2alpha1_LabelSelector,
Convert_v2alpha1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement,
Convert_unversioned_LabelSelectorRequirement_To_v2alpha1_LabelSelectorRequirement,
Convert_v2alpha1_ScheduledJob_To_batch_ScheduledJob, Convert_v2alpha1_ScheduledJob_To_batch_ScheduledJob,
Convert_batch_ScheduledJob_To_v2alpha1_ScheduledJob, Convert_batch_ScheduledJob_To_v2alpha1_ScheduledJob,
Convert_v2alpha1_ScheduledJobList_To_batch_ScheduledJobList, Convert_v2alpha1_ScheduledJobList_To_batch_ScheduledJobList,
@ -174,15 +169,7 @@ func autoConvert_v2alpha1_JobSpec_To_batch_JobSpec(in *JobSpec, out *batch.JobSp
out.Parallelism = in.Parallelism out.Parallelism = in.Parallelism
out.Completions = in.Completions out.Completions = in.Completions
out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds
if in.Selector != nil { out.Selector = in.Selector
in, out := &in.Selector, &out.Selector
*out = new(unversioned.LabelSelector)
if err := Convert_v2alpha1_LabelSelector_To_unversioned_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.Selector = nil
}
out.ManualSelector = in.ManualSelector out.ManualSelector = in.ManualSelector
if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
@ -194,15 +181,7 @@ func autoConvert_batch_JobSpec_To_v2alpha1_JobSpec(in *batch.JobSpec, out *JobSp
out.Parallelism = in.Parallelism out.Parallelism = in.Parallelism
out.Completions = in.Completions out.Completions = in.Completions
out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds
if in.Selector != nil { out.Selector = in.Selector
in, out := &in.Selector, &out.Selector
*out = new(LabelSelector)
if err := Convert_unversioned_LabelSelector_To_v2alpha1_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.Selector = nil
}
out.ManualSelector = in.ManualSelector out.ManualSelector = in.ManualSelector
if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
@ -318,68 +297,6 @@ func Convert_batch_JobTemplateSpec_To_v2alpha1_JobTemplateSpec(in *batch.JobTemp
return autoConvert_batch_JobTemplateSpec_To_v2alpha1_JobTemplateSpec(in, out, s) return autoConvert_batch_JobTemplateSpec_To_v2alpha1_JobTemplateSpec(in, out, s)
} }
func autoConvert_v2alpha1_LabelSelector_To_unversioned_LabelSelector(in *LabelSelector, out *unversioned.LabelSelector, s conversion.Scope) error {
out.MatchLabels = in.MatchLabels
if in.MatchExpressions != nil {
in, out := &in.MatchExpressions, &out.MatchExpressions
*out = make([]unversioned.LabelSelectorRequirement, len(*in))
for i := range *in {
if err := Convert_v2alpha1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.MatchExpressions = nil
}
return nil
}
func Convert_v2alpha1_LabelSelector_To_unversioned_LabelSelector(in *LabelSelector, out *unversioned.LabelSelector, s conversion.Scope) error {
return autoConvert_v2alpha1_LabelSelector_To_unversioned_LabelSelector(in, out, s)
}
func autoConvert_unversioned_LabelSelector_To_v2alpha1_LabelSelector(in *unversioned.LabelSelector, out *LabelSelector, s conversion.Scope) error {
out.MatchLabels = in.MatchLabels
if in.MatchExpressions != nil {
in, out := &in.MatchExpressions, &out.MatchExpressions
*out = make([]LabelSelectorRequirement, len(*in))
for i := range *in {
if err := Convert_unversioned_LabelSelectorRequirement_To_v2alpha1_LabelSelectorRequirement(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.MatchExpressions = nil
}
return nil
}
func Convert_unversioned_LabelSelector_To_v2alpha1_LabelSelector(in *unversioned.LabelSelector, out *LabelSelector, s conversion.Scope) error {
return autoConvert_unversioned_LabelSelector_To_v2alpha1_LabelSelector(in, out, s)
}
func autoConvert_v2alpha1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement(in *LabelSelectorRequirement, out *unversioned.LabelSelectorRequirement, s conversion.Scope) error {
out.Key = in.Key
out.Operator = unversioned.LabelSelectorOperator(in.Operator)
out.Values = in.Values
return nil
}
func Convert_v2alpha1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement(in *LabelSelectorRequirement, out *unversioned.LabelSelectorRequirement, s conversion.Scope) error {
return autoConvert_v2alpha1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement(in, out, s)
}
func autoConvert_unversioned_LabelSelectorRequirement_To_v2alpha1_LabelSelectorRequirement(in *unversioned.LabelSelectorRequirement, out *LabelSelectorRequirement, s conversion.Scope) error {
out.Key = in.Key
out.Operator = LabelSelectorOperator(in.Operator)
out.Values = in.Values
return nil
}
func Convert_unversioned_LabelSelectorRequirement_To_v2alpha1_LabelSelectorRequirement(in *unversioned.LabelSelectorRequirement, out *LabelSelectorRequirement, s conversion.Scope) error {
return autoConvert_unversioned_LabelSelectorRequirement_To_v2alpha1_LabelSelectorRequirement(in, out, s)
}
func autoConvert_v2alpha1_ScheduledJob_To_batch_ScheduledJob(in *ScheduledJob, out *batch.ScheduledJob, s conversion.Scope) error { func autoConvert_v2alpha1_ScheduledJob_To_batch_ScheduledJob(in *ScheduledJob, out *batch.ScheduledJob, s conversion.Scope) error {
// TODO: Inefficient conversion - can we improve it? // TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil { if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {

View File

@ -43,8 +43,6 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_JobStatus, InType: reflect.TypeOf(&JobStatus{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_JobStatus, InType: reflect.TypeOf(&JobStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_JobTemplate, InType: reflect.TypeOf(&JobTemplate{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_JobTemplate, InType: reflect.TypeOf(&JobTemplate{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_JobTemplateSpec, InType: reflect.TypeOf(&JobTemplateSpec{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_JobTemplateSpec, InType: reflect.TypeOf(&JobTemplateSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_LabelSelector, InType: reflect.TypeOf(&LabelSelector{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_LabelSelectorRequirement, InType: reflect.TypeOf(&LabelSelectorRequirement{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_ScheduledJob, InType: reflect.TypeOf(&ScheduledJob{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_ScheduledJob, InType: reflect.TypeOf(&ScheduledJob{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_ScheduledJobList, InType: reflect.TypeOf(&ScheduledJobList{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_ScheduledJobList, InType: reflect.TypeOf(&ScheduledJobList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_ScheduledJobSpec, InType: reflect.TypeOf(&ScheduledJobSpec{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v2alpha1_ScheduledJobSpec, InType: reflect.TypeOf(&ScheduledJobSpec{})},
@ -132,8 +130,8 @@ func DeepCopy_v2alpha1_JobSpec(in interface{}, out interface{}, c *conversion.Cl
} }
if in.Selector != nil { if in.Selector != nil {
in, out := &in.Selector, &out.Selector in, out := &in.Selector, &out.Selector
*out = new(LabelSelector) *out = new(unversioned.LabelSelector)
if err := DeepCopy_v2alpha1_LabelSelector(*in, *out, c); err != nil { if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err return err
} }
} else { } else {
@ -218,51 +216,6 @@ func DeepCopy_v2alpha1_JobTemplateSpec(in interface{}, out interface{}, c *conve
} }
} }
func DeepCopy_v2alpha1_LabelSelector(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LabelSelector)
out := out.(*LabelSelector)
if in.MatchLabels != nil {
in, out := &in.MatchLabels, &out.MatchLabels
*out = make(map[string]string)
for key, val := range *in {
(*out)[key] = val
}
} else {
out.MatchLabels = nil
}
if in.MatchExpressions != nil {
in, out := &in.MatchExpressions, &out.MatchExpressions
*out = make([]LabelSelectorRequirement, len(*in))
for i := range *in {
if err := DeepCopy_v2alpha1_LabelSelectorRequirement(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.MatchExpressions = nil
}
return nil
}
}
func DeepCopy_v2alpha1_LabelSelectorRequirement(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LabelSelectorRequirement)
out := out.(*LabelSelectorRequirement)
out.Key = in.Key
out.Operator = in.Operator
if in.Values != nil {
in, out := &in.Values, &out.Values
*out = make([]string, len(*in))
copy(*out, *in)
} else {
out.Values = nil
}
return nil
}
}
func DeepCopy_v2alpha1_ScheduledJob(in interface{}, out interface{}, c *conversion.Cloner) error { func DeepCopy_v2alpha1_ScheduledJob(in interface{}, out interface{}, c *conversion.Cloner) error {
{ {
in := in.(*ScheduledJob) in := in.(*ScheduledJob)

View File

@ -56,6 +56,7 @@ go_test(
"//pkg/api:go_default_library", "//pkg/api:go_default_library",
"//pkg/api/install:go_default_library", "//pkg/api/install:go_default_library",
"//pkg/api/resource:go_default_library", "//pkg/api/resource:go_default_library",
"//pkg/api/unversioned:go_default_library",
"//pkg/api/v1:go_default_library", "//pkg/api/v1:go_default_library",
"//pkg/apis/batch:go_default_library", "//pkg/apis/batch:go_default_library",
"//pkg/apis/extensions/install:go_default_library", "//pkg/apis/extensions/install:go_default_library",

View File

@ -134,14 +134,7 @@ func Convert_v1beta1_ScaleStatus_To_extensions_ScaleStatus(in *ScaleStatus, out
func Convert_extensions_DeploymentSpec_To_v1beta1_DeploymentSpec(in *extensions.DeploymentSpec, out *DeploymentSpec, s conversion.Scope) error { func Convert_extensions_DeploymentSpec_To_v1beta1_DeploymentSpec(in *extensions.DeploymentSpec, out *DeploymentSpec, s conversion.Scope) error {
out.Replicas = &in.Replicas out.Replicas = &in.Replicas
if in.Selector != nil { out.Selector = in.Selector
out.Selector = new(LabelSelector)
if err := Convert_unversioned_LabelSelector_To_v1beta1_LabelSelector(in.Selector, out.Selector, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
} }
@ -167,15 +160,7 @@ func Convert_v1beta1_DeploymentSpec_To_extensions_DeploymentSpec(in *DeploymentS
if in.Replicas != nil { if in.Replicas != nil {
out.Replicas = *in.Replicas out.Replicas = *in.Replicas
} }
out.Selector = in.Selector
if in.Selector != nil {
out.Selector = new(unversioned.LabelSelector)
if err := Convert_v1beta1_LabelSelector_To_unversioned_LabelSelector(in.Selector, out.Selector, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
} }
@ -250,15 +235,7 @@ func Convert_extensions_ReplicaSetSpec_To_v1beta1_ReplicaSetSpec(in *extensions.
out.Replicas = new(int32) out.Replicas = new(int32)
*out.Replicas = int32(in.Replicas) *out.Replicas = int32(in.Replicas)
out.MinReadySeconds = in.MinReadySeconds out.MinReadySeconds = in.MinReadySeconds
if in.Selector != nil { out.Selector = in.Selector
out.Selector = new(LabelSelector)
if err := Convert_unversioned_LabelSelector_To_v1beta1_LabelSelector(in.Selector, out.Selector, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
} }
@ -270,14 +247,7 @@ func Convert_v1beta1_ReplicaSetSpec_To_extensions_ReplicaSetSpec(in *ReplicaSetS
out.Replicas = *in.Replicas out.Replicas = *in.Replicas
} }
out.MinReadySeconds = in.MinReadySeconds out.MinReadySeconds = in.MinReadySeconds
if in.Selector != nil { out.Selector = in.Selector
out.Selector = new(unversioned.LabelSelector)
if err := Convert_v1beta1_LabelSelector_To_unversioned_LabelSelector(in.Selector, out.Selector, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
} }
@ -288,16 +258,7 @@ func Convert_batch_JobSpec_To_v1beta1_JobSpec(in *batch.JobSpec, out *JobSpec, s
out.Parallelism = in.Parallelism out.Parallelism = in.Parallelism
out.Completions = in.Completions out.Completions = in.Completions
out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds
// unable to generate simple pointer conversion for unversioned.LabelSelector -> v1beta1.LabelSelector out.Selector = in.Selector
if in.Selector != nil {
out.Selector = new(LabelSelector)
if err := Convert_unversioned_LabelSelector_To_v1beta1_LabelSelector(in.Selector, out.Selector, s); err != nil {
return err
}
} else {
out.Selector = nil
}
// BEGIN non-standard conversion // BEGIN non-standard conversion
// autoSelector has opposite meaning as manualSelector. // autoSelector has opposite meaning as manualSelector.
// in both cases, unset means false, and unset is always preferred to false. // in both cases, unset means false, and unset is always preferred to false.
@ -322,16 +283,7 @@ func Convert_v1beta1_JobSpec_To_batch_JobSpec(in *JobSpec, out *batch.JobSpec, s
out.Parallelism = in.Parallelism out.Parallelism = in.Parallelism
out.Completions = in.Completions out.Completions = in.Completions
out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds
// unable to generate simple pointer conversion for v1beta1.LabelSelector -> unversioned.LabelSelector out.Selector = in.Selector
if in.Selector != nil {
out.Selector = new(unversioned.LabelSelector)
if err := Convert_v1beta1_LabelSelector_To_unversioned_LabelSelector(in.Selector, out.Selector, s); err != nil {
return err
}
} else {
out.Selector = nil
}
// BEGIN non-standard conversion // BEGIN non-standard conversion
// autoSelector has opposite meaning as manualSelector. // autoSelector has opposite meaning as manualSelector.
// in both cases, unset means false, and unset is always preferred to false. // in both cases, unset means false, and unset is always preferred to false.

View File

@ -17,6 +17,7 @@ limitations under the License.
package v1beta1 package v1beta1
import ( import (
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/pkg/util/intstr"
@ -40,7 +41,7 @@ func SetDefaults_DaemonSet(obj *DaemonSet) {
// TODO: support templates defined elsewhere when we support them in the API // TODO: support templates defined elsewhere when we support them in the API
if labels != nil { if labels != nil {
if obj.Spec.Selector == nil { if obj.Spec.Selector == nil {
obj.Spec.Selector = &LabelSelector{ obj.Spec.Selector = &unversioned.LabelSelector{
MatchLabels: labels, MatchLabels: labels,
} }
} }
@ -56,7 +57,7 @@ func SetDefaults_Deployment(obj *Deployment) {
if labels != nil { if labels != nil {
if obj.Spec.Selector == nil { if obj.Spec.Selector == nil {
obj.Spec.Selector = &LabelSelector{MatchLabels: labels} obj.Spec.Selector = &unversioned.LabelSelector{MatchLabels: labels}
} }
if len(obj.Labels) == 0 { if len(obj.Labels) == 0 {
obj.Labels = labels obj.Labels = labels
@ -102,7 +103,7 @@ func SetDefaults_Job(obj *Job) {
// and default behavior for an unspecified manual selector is to use the pod template labels // and default behavior for an unspecified manual selector is to use the pod template labels
if manualSelector && obj.Spec.Selector == nil { if manualSelector && obj.Spec.Selector == nil {
obj.Spec.Selector = &LabelSelector{ obj.Spec.Selector = &unversioned.LabelSelector{
MatchLabels: labels, MatchLabels: labels,
} }
} }
@ -140,7 +141,7 @@ func SetDefaults_ReplicaSet(obj *ReplicaSet) {
// TODO: support templates defined elsewhere when we support them in the API // TODO: support templates defined elsewhere when we support them in the API
if labels != nil { if labels != nil {
if obj.Spec.Selector == nil { if obj.Spec.Selector == nil {
obj.Spec.Selector = &LabelSelector{ obj.Spec.Selector = &unversioned.LabelSelector{
MatchLabels: labels, MatchLabels: labels,
} }
} }

View File

@ -23,6 +23,7 @@ import (
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
_ "k8s.io/kubernetes/pkg/api/install" _ "k8s.io/kubernetes/pkg/api/install"
"k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/resource"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1"
_ "k8s.io/kubernetes/pkg/apis/extensions/install" _ "k8s.io/kubernetes/pkg/apis/extensions/install"
. "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" . "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
@ -67,7 +68,7 @@ func TestSetDefaultDaemonSet(t *testing.T) {
Labels: defaultLabels, Labels: defaultLabels,
}, },
Spec: DaemonSetSpec{ Spec: DaemonSetSpec{
Selector: &LabelSelector{ Selector: &unversioned.LabelSelector{
MatchLabels: defaultLabels, MatchLabels: defaultLabels,
}, },
Template: defaultTemplate, Template: defaultTemplate,
@ -92,7 +93,7 @@ func TestSetDefaultDaemonSet(t *testing.T) {
}, },
}, },
Spec: DaemonSetSpec{ Spec: DaemonSetSpec{
Selector: &LabelSelector{ Selector: &unversioned.LabelSelector{
MatchLabels: defaultLabels, MatchLabels: defaultLabels,
}, },
Template: defaultTemplate, Template: defaultTemplate,
@ -449,18 +450,18 @@ func TestSetDefaultJob(t *testing.T) {
func TestSetDefaultJobSelector(t *testing.T) { func TestSetDefaultJobSelector(t *testing.T) {
tests := []struct { tests := []struct {
original *Job original *Job
expectedSelector *LabelSelector expectedSelector *unversioned.LabelSelector
}{ }{
// selector set explicitly, nil autoSelector // selector set explicitly, nil autoSelector
{ {
original: &Job{ original: &Job{
Spec: JobSpec{ Spec: JobSpec{
Selector: &LabelSelector{ Selector: &unversioned.LabelSelector{
MatchLabels: map[string]string{"job": "selector"}, MatchLabels: map[string]string{"job": "selector"},
}, },
}, },
}, },
expectedSelector: &LabelSelector{ expectedSelector: &unversioned.LabelSelector{
MatchLabels: map[string]string{"job": "selector"}, MatchLabels: map[string]string{"job": "selector"},
}, },
}, },
@ -468,13 +469,13 @@ func TestSetDefaultJobSelector(t *testing.T) {
{ {
original: &Job{ original: &Job{
Spec: JobSpec{ Spec: JobSpec{
Selector: &LabelSelector{ Selector: &unversioned.LabelSelector{
MatchLabels: map[string]string{"job": "selector"}, MatchLabels: map[string]string{"job": "selector"},
}, },
AutoSelector: newBool(true), AutoSelector: newBool(true),
}, },
}, },
expectedSelector: &LabelSelector{ expectedSelector: &unversioned.LabelSelector{
MatchLabels: map[string]string{"job": "selector"}, MatchLabels: map[string]string{"job": "selector"},
}, },
}, },
@ -482,13 +483,13 @@ func TestSetDefaultJobSelector(t *testing.T) {
{ {
original: &Job{ original: &Job{
Spec: JobSpec{ Spec: JobSpec{
Selector: &LabelSelector{ Selector: &unversioned.LabelSelector{
MatchLabels: map[string]string{"job": "selector"}, MatchLabels: map[string]string{"job": "selector"},
}, },
AutoSelector: newBool(false), AutoSelector: newBool(false),
}, },
}, },
expectedSelector: &LabelSelector{ expectedSelector: &unversioned.LabelSelector{
MatchLabels: map[string]string{"job": "selector"}, MatchLabels: map[string]string{"job": "selector"},
}, },
}, },
@ -503,7 +504,7 @@ func TestSetDefaultJobSelector(t *testing.T) {
}, },
}, },
}, },
expectedSelector: &LabelSelector{ expectedSelector: &unversioned.LabelSelector{
MatchLabels: map[string]string{"job": "selector"}, MatchLabels: map[string]string{"job": "selector"},
}, },
}, },
@ -519,7 +520,7 @@ func TestSetDefaultJobSelector(t *testing.T) {
AutoSelector: newBool(false), AutoSelector: newBool(false),
}, },
}, },
expectedSelector: &LabelSelector{ expectedSelector: &unversioned.LabelSelector{
MatchLabels: map[string]string{"job": "selector"}, MatchLabels: map[string]string{"job": "selector"},
}, },
}, },
@ -601,7 +602,7 @@ func TestSetDefaultReplicaSet(t *testing.T) {
}, },
}, },
Spec: ReplicaSetSpec{ Spec: ReplicaSetSpec{
Selector: &LabelSelector{ Selector: &unversioned.LabelSelector{
MatchLabels: map[string]string{ MatchLabels: map[string]string{
"some": "other", "some": "other",
}, },
@ -621,7 +622,7 @@ func TestSetDefaultReplicaSet(t *testing.T) {
{ {
rs: &ReplicaSet{ rs: &ReplicaSet{
Spec: ReplicaSetSpec{ Spec: ReplicaSetSpec{
Selector: &LabelSelector{ Selector: &unversioned.LabelSelector{
MatchLabels: map[string]string{ MatchLabels: map[string]string{
"some": "other", "some": "other",
}, },

File diff suppressed because it is too large Load Diff

View File

@ -107,7 +107,7 @@ message DaemonSetSpec {
// If empty, defaulted to labels on Pod template. // If empty, defaulted to labels on Pod template.
// More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
// +optional // +optional
optional LabelSelector selector = 1; optional k8s.io.kubernetes.pkg.api.unversioned.LabelSelector selector = 1;
// Template is the object that describes the pod that will be created. // Template is the object that describes the pod that will be created.
// The DaemonSet will create exactly one copy of this pod on every node // The DaemonSet will create exactly one copy of this pod on every node
@ -187,7 +187,7 @@ message DeploymentSpec {
// Label selector for pods. Existing ReplicaSets whose pods are // Label selector for pods. Existing ReplicaSets whose pods are
// selected by this will be the ones affected by this deployment. // selected by this will be the ones affected by this deployment.
// +optional // +optional
optional LabelSelector selector = 2; optional k8s.io.kubernetes.pkg.api.unversioned.LabelSelector selector = 2;
// Template describes the pods that will be created. // Template describes the pods that will be created.
optional k8s.io.kubernetes.pkg.api.v1.PodTemplateSpec template = 3; optional k8s.io.kubernetes.pkg.api.v1.PodTemplateSpec template = 3;
@ -598,7 +598,7 @@ message JobSpec {
// Normally, the system sets this field for you. // Normally, the system sets this field for you.
// More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
// +optional // +optional
optional LabelSelector selector = 4; optional k8s.io.kubernetes.pkg.api.unversioned.LabelSelector selector = 4;
// AutoSelector controls generation of pod labels and pod selectors. // AutoSelector controls generation of pod labels and pod selectors.
// It was not present in the original extensions/v1beta1 Job definition, but exists // It was not present in the original extensions/v1beta1 Job definition, but exists
@ -646,39 +646,6 @@ message JobStatus {
optional int32 failed = 6; optional int32 failed = 6;
} }
// A label selector is a label query over a set of resources. The result of matchLabels and
// matchExpressions are ANDed. An empty label selector matches all objects. A null
// label selector matches no objects.
message LabelSelector {
// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
// map is equivalent to an element of matchExpressions, whose key field is "key", the
// operator is "In", and the values array contains only "value". The requirements are ANDed.
// +optional
map<string, string> matchLabels = 1;
// matchExpressions is a list of label selector requirements. The requirements are ANDed.
// +optional
repeated LabelSelectorRequirement matchExpressions = 2;
}
// A label selector requirement is a selector that contains values, a key, and an operator that
// relates the key and values.
message LabelSelectorRequirement {
// key is the label key that the selector applies to.
optional string key = 1;
// operator represents a key's relationship to a set of values.
// Valid operators ard In, NotIn, Exists and DoesNotExist.
optional string operator = 2;
// values is an array of string values. If the operator is In or NotIn,
// the values array must be non-empty. If the operator is Exists or DoesNotExist,
// the values array must be empty. This array is replaced during a strategic
// merge patch.
// +optional
repeated string values = 3;
}
message NetworkPolicy { message NetworkPolicy {
// Standard object's metadata. // Standard object's metadata.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
@ -730,7 +697,7 @@ message NetworkPolicyPeer {
// If not provided, this selector selects no pods. // If not provided, this selector selects no pods.
// If present but empty, this selector selects all pods in this namespace. // If present but empty, this selector selects all pods in this namespace.
// +optional // +optional
optional LabelSelector podSelector = 1; optional k8s.io.kubernetes.pkg.api.unversioned.LabelSelector podSelector = 1;
// Selects Namespaces using cluster scoped-labels. This // Selects Namespaces using cluster scoped-labels. This
// matches all pods in all namespaces selected by this label selector. // matches all pods in all namespaces selected by this label selector.
@ -738,7 +705,7 @@ message NetworkPolicyPeer {
// If omitted, this selector selects no namespaces. // If omitted, this selector selects no namespaces.
// If present but empty, this selector selects all namespaces. // If present but empty, this selector selects all namespaces.
// +optional // +optional
optional LabelSelector namespaceSelector = 2; optional k8s.io.kubernetes.pkg.api.unversioned.LabelSelector namespaceSelector = 2;
} }
message NetworkPolicyPort { message NetworkPolicyPort {
@ -762,7 +729,7 @@ message NetworkPolicySpec {
// same set of pods. In this case, the ingress rules for each are combined additively. // same set of pods. In this case, the ingress rules for each are combined additively.
// This field is NOT optional and follows standard label selector semantics. // This field is NOT optional and follows standard label selector semantics.
// An empty podSelector matches all pods in this namespace. // An empty podSelector matches all pods in this namespace.
optional LabelSelector podSelector = 1; optional k8s.io.kubernetes.pkg.api.unversioned.LabelSelector podSelector = 1;
// List of ingress rules to be applied to the selected pods. // List of ingress rules to be applied to the selected pods.
// Traffic is allowed to a pod if namespace.networkPolicy.ingress.isolation is undefined and cluster policy allows it, // Traffic is allowed to a pod if namespace.networkPolicy.ingress.isolation is undefined and cluster policy allows it,
@ -940,7 +907,7 @@ message ReplicaSetSpec {
// Label keys and values that must match in order to be controlled by this replica set. // Label keys and values that must match in order to be controlled by this replica set.
// More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
// +optional // +optional
optional LabelSelector selector = 2; optional k8s.io.kubernetes.pkg.api.unversioned.LabelSelector selector = 2;
// Template is the object that describes the pod that will be created if // Template is the object that describes the pod that will be created if
// insufficient replicas are detected. // insufficient replicas are detected.

File diff suppressed because it is too large Load Diff

View File

@ -264,7 +264,7 @@ type DeploymentSpec struct {
// Label selector for pods. Existing ReplicaSets whose pods are // Label selector for pods. Existing ReplicaSets whose pods are
// selected by this will be the ones affected by this deployment. // selected by this will be the ones affected by this deployment.
// +optional // +optional
Selector *LabelSelector `json:"selector,omitempty" protobuf:"bytes,2,opt,name=selector"` Selector *unversioned.LabelSelector `json:"selector,omitempty" protobuf:"bytes,2,opt,name=selector"`
// Template describes the pods that will be created. // Template describes the pods that will be created.
Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,3,opt,name=template"` Template v1.PodTemplateSpec `json:"template" protobuf:"bytes,3,opt,name=template"`
@ -464,7 +464,7 @@ type DaemonSetSpec struct {
// If empty, defaulted to labels on Pod template. // If empty, defaulted to labels on Pod template.
// More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
// +optional // +optional
Selector *LabelSelector `json:"selector,omitempty" protobuf:"bytes,1,opt,name=selector"` Selector *unversioned.LabelSelector `json:"selector,omitempty" protobuf:"bytes,1,opt,name=selector"`
// Template is the object that describes the pod that will be created. // Template is the object that describes the pod that will be created.
// The DaemonSet will create exactly one copy of this pod on every node // The DaemonSet will create exactly one copy of this pod on every node
@ -630,7 +630,7 @@ type JobSpec struct {
// Normally, the system sets this field for you. // Normally, the system sets this field for you.
// More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
// +optional // +optional
Selector *LabelSelector `json:"selector,omitempty" protobuf:"bytes,4,opt,name=selector"` Selector *unversioned.LabelSelector `json:"selector,omitempty" protobuf:"bytes,4,opt,name=selector"`
// AutoSelector controls generation of pod labels and pod selectors. // AutoSelector controls generation of pod labels and pod selectors.
// It was not present in the original extensions/v1beta1 Job definition, but exists // It was not present in the original extensions/v1beta1 Job definition, but exists
@ -884,46 +884,6 @@ type ExportOptions struct {
Exact bool `json:"exact" protobuf:"varint,2,opt,name=exact"` Exact bool `json:"exact" protobuf:"varint,2,opt,name=exact"`
} }
// A label selector is a label query over a set of resources. The result of matchLabels and
// matchExpressions are ANDed. An empty label selector matches all objects. A null
// label selector matches no objects.
type LabelSelector struct {
// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
// map is equivalent to an element of matchExpressions, whose key field is "key", the
// operator is "In", and the values array contains only "value". The requirements are ANDed.
// +optional
MatchLabels map[string]string `json:"matchLabels,omitempty" protobuf:"bytes,1,rep,name=matchLabels"`
// matchExpressions is a list of label selector requirements. The requirements are ANDed.
// +optional
MatchExpressions []LabelSelectorRequirement `json:"matchExpressions,omitempty" protobuf:"bytes,2,rep,name=matchExpressions"`
}
// A label selector requirement is a selector that contains values, a key, and an operator that
// relates the key and values.
type LabelSelectorRequirement struct {
// key is the label key that the selector applies to.
Key string `json:"key" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,1,opt,name=key"`
// operator represents a key's relationship to a set of values.
// Valid operators ard In, NotIn, Exists and DoesNotExist.
Operator LabelSelectorOperator `json:"operator" protobuf:"bytes,2,opt,name=operator,casttype=LabelSelectorOperator"`
// values is an array of string values. If the operator is In or NotIn,
// the values array must be non-empty. If the operator is Exists or DoesNotExist,
// the values array must be empty. This array is replaced during a strategic
// merge patch.
// +optional
Values []string `json:"values,omitempty" protobuf:"bytes,3,rep,name=values"`
}
// A label selector operator is the set of operators that can be used in a selector requirement.
type LabelSelectorOperator string
const (
LabelSelectorOpIn LabelSelectorOperator = "In"
LabelSelectorOpNotIn LabelSelectorOperator = "NotIn"
LabelSelectorOpExists LabelSelectorOperator = "Exists"
LabelSelectorOpDoesNotExist LabelSelectorOperator = "DoesNotExist"
)
// +genclient=true // +genclient=true
// ReplicaSet represents the configuration of a ReplicaSet. // ReplicaSet represents the configuration of a ReplicaSet.
@ -983,7 +943,7 @@ type ReplicaSetSpec struct {
// Label keys and values that must match in order to be controlled by this replica set. // Label keys and values that must match in order to be controlled by this replica set.
// More info: http://kubernetes.io/docs/user-guide/labels#label-selectors // More info: http://kubernetes.io/docs/user-guide/labels#label-selectors
// +optional // +optional
Selector *LabelSelector `json:"selector,omitempty" protobuf:"bytes,2,opt,name=selector"` Selector *unversioned.LabelSelector `json:"selector,omitempty" protobuf:"bytes,2,opt,name=selector"`
// Template is the object that describes the pod that will be created if // Template is the object that describes the pod that will be created if
// insufficient replicas are detected. // insufficient replicas are detected.
@ -1277,7 +1237,7 @@ type NetworkPolicySpec struct {
// same set of pods. In this case, the ingress rules for each are combined additively. // same set of pods. In this case, the ingress rules for each are combined additively.
// This field is NOT optional and follows standard label selector semantics. // This field is NOT optional and follows standard label selector semantics.
// An empty podSelector matches all pods in this namespace. // An empty podSelector matches all pods in this namespace.
PodSelector LabelSelector `json:"podSelector" protobuf:"bytes,1,opt,name=podSelector"` PodSelector unversioned.LabelSelector `json:"podSelector" protobuf:"bytes,1,opt,name=podSelector"`
// List of ingress rules to be applied to the selected pods. // List of ingress rules to be applied to the selected pods.
// Traffic is allowed to a pod if namespace.networkPolicy.ingress.isolation is undefined and cluster policy allows it, // Traffic is allowed to a pod if namespace.networkPolicy.ingress.isolation is undefined and cluster policy allows it,
@ -1337,7 +1297,7 @@ type NetworkPolicyPeer struct {
// If not provided, this selector selects no pods. // If not provided, this selector selects no pods.
// If present but empty, this selector selects all pods in this namespace. // If present but empty, this selector selects all pods in this namespace.
// +optional // +optional
PodSelector *LabelSelector `json:"podSelector,omitempty" protobuf:"bytes,1,opt,name=podSelector"` PodSelector *unversioned.LabelSelector `json:"podSelector,omitempty" protobuf:"bytes,1,opt,name=podSelector"`
// Selects Namespaces using cluster scoped-labels. This // Selects Namespaces using cluster scoped-labels. This
// matches all pods in all namespaces selected by this label selector. // matches all pods in all namespaces selected by this label selector.
@ -1345,7 +1305,7 @@ type NetworkPolicyPeer struct {
// If omitted, this selector selects no namespaces. // If omitted, this selector selects no namespaces.
// If present but empty, this selector selects all namespaces. // If present but empty, this selector selects all namespaces.
// +optional // +optional
NamespaceSelector *LabelSelector `json:"namespaceSelector,omitempty" protobuf:"bytes,2,opt,name=namespaceSelector"` NamespaceSelector *unversioned.LabelSelector `json:"namespaceSelector,omitempty" protobuf:"bytes,2,opt,name=namespaceSelector"`
} }
// Network Policy List is a list of NetworkPolicy objects. // Network Policy List is a list of NetworkPolicy objects.

View File

@ -423,27 +423,6 @@ func (JobStatus) SwaggerDoc() map[string]string {
return map_JobStatus return map_JobStatus
} }
var map_LabelSelector = map[string]string{
"": "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
"matchLabels": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
"matchExpressions": "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
}
func (LabelSelector) SwaggerDoc() map[string]string {
return map_LabelSelector
}
var map_LabelSelectorRequirement = map[string]string{
"": "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
"key": "key is the label key that the selector applies to.",
"operator": "operator represents a key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.",
"values": "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
}
func (LabelSelectorRequirement) SwaggerDoc() map[string]string {
return map_LabelSelectorRequirement
}
var map_NetworkPolicy = map[string]string{ var map_NetworkPolicy = map[string]string{
"metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata", "metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata",
"spec": "Specification of the desired behavior for this NetworkPolicy.", "spec": "Specification of the desired behavior for this NetworkPolicy.",

View File

@ -22,7 +22,6 @@ package v1beta1
import ( import (
api "k8s.io/kubernetes/pkg/api" api "k8s.io/kubernetes/pkg/api"
unversioned "k8s.io/kubernetes/pkg/api/unversioned"
v1 "k8s.io/kubernetes/pkg/api/v1" v1 "k8s.io/kubernetes/pkg/api/v1"
autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling"
batch "k8s.io/kubernetes/pkg/apis/batch" batch "k8s.io/kubernetes/pkg/apis/batch"
@ -115,10 +114,6 @@ func RegisterConversions(scheme *runtime.Scheme) error {
Convert_batch_JobSpec_To_v1beta1_JobSpec, Convert_batch_JobSpec_To_v1beta1_JobSpec,
Convert_v1beta1_JobStatus_To_batch_JobStatus, Convert_v1beta1_JobStatus_To_batch_JobStatus,
Convert_batch_JobStatus_To_v1beta1_JobStatus, Convert_batch_JobStatus_To_v1beta1_JobStatus,
Convert_v1beta1_LabelSelector_To_unversioned_LabelSelector,
Convert_unversioned_LabelSelector_To_v1beta1_LabelSelector,
Convert_v1beta1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement,
Convert_unversioned_LabelSelectorRequirement_To_v1beta1_LabelSelectorRequirement,
Convert_v1beta1_NetworkPolicy_To_extensions_NetworkPolicy, Convert_v1beta1_NetworkPolicy_To_extensions_NetworkPolicy,
Convert_extensions_NetworkPolicy_To_v1beta1_NetworkPolicy, Convert_extensions_NetworkPolicy_To_v1beta1_NetworkPolicy,
Convert_v1beta1_NetworkPolicyIngressRule_To_extensions_NetworkPolicyIngressRule, Convert_v1beta1_NetworkPolicyIngressRule_To_extensions_NetworkPolicyIngressRule,
@ -387,15 +382,7 @@ func Convert_extensions_DaemonSetList_To_v1beta1_DaemonSetList(in *extensions.Da
} }
func autoConvert_v1beta1_DaemonSetSpec_To_extensions_DaemonSetSpec(in *DaemonSetSpec, out *extensions.DaemonSetSpec, s conversion.Scope) error { func autoConvert_v1beta1_DaemonSetSpec_To_extensions_DaemonSetSpec(in *DaemonSetSpec, out *extensions.DaemonSetSpec, s conversion.Scope) error {
if in.Selector != nil { out.Selector = in.Selector
in, out := &in.Selector, &out.Selector
*out = new(unversioned.LabelSelector)
if err := Convert_v1beta1_LabelSelector_To_unversioned_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
} }
@ -407,15 +394,7 @@ func Convert_v1beta1_DaemonSetSpec_To_extensions_DaemonSetSpec(in *DaemonSetSpec
} }
func autoConvert_extensions_DaemonSetSpec_To_v1beta1_DaemonSetSpec(in *extensions.DaemonSetSpec, out *DaemonSetSpec, s conversion.Scope) error { func autoConvert_extensions_DaemonSetSpec_To_v1beta1_DaemonSetSpec(in *extensions.DaemonSetSpec, out *DaemonSetSpec, s conversion.Scope) error {
if in.Selector != nil { out.Selector = in.Selector
in, out := &in.Selector, &out.Selector
*out = new(LabelSelector)
if err := Convert_unversioned_LabelSelector_To_v1beta1_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
} }
@ -556,15 +535,7 @@ func autoConvert_v1beta1_DeploymentSpec_To_extensions_DeploymentSpec(in *Deploym
if err := api.Convert_Pointer_int32_To_int32(&in.Replicas, &out.Replicas, s); err != nil { if err := api.Convert_Pointer_int32_To_int32(&in.Replicas, &out.Replicas, s); err != nil {
return err return err
} }
if in.Selector != nil { out.Selector = in.Selector
in, out := &in.Selector, &out.Selector
*out = new(unversioned.LabelSelector)
if err := Convert_v1beta1_LabelSelector_To_unversioned_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
} }
@ -590,15 +561,7 @@ func autoConvert_extensions_DeploymentSpec_To_v1beta1_DeploymentSpec(in *extensi
if err := api.Convert_int32_To_Pointer_int32(&in.Replicas, &out.Replicas, s); err != nil { if err := api.Convert_int32_To_Pointer_int32(&in.Replicas, &out.Replicas, s); err != nil {
return err return err
} }
if in.Selector != nil { out.Selector = in.Selector
in, out := &in.Selector, &out.Selector
*out = new(LabelSelector)
if err := Convert_unversioned_LabelSelector_To_v1beta1_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
} }
@ -1338,15 +1301,7 @@ func autoConvert_v1beta1_JobSpec_To_batch_JobSpec(in *JobSpec, out *batch.JobSpe
out.Parallelism = in.Parallelism out.Parallelism = in.Parallelism
out.Completions = in.Completions out.Completions = in.Completions
out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds
if in.Selector != nil { out.Selector = in.Selector
in, out := &in.Selector, &out.Selector
*out = new(unversioned.LabelSelector)
if err := Convert_v1beta1_LabelSelector_To_unversioned_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.Selector = nil
}
// WARNING: in.AutoSelector requires manual conversion: does not exist in peer-type // WARNING: in.AutoSelector requires manual conversion: does not exist in peer-type
if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
@ -1358,15 +1313,7 @@ func autoConvert_batch_JobSpec_To_v1beta1_JobSpec(in *batch.JobSpec, out *JobSpe
out.Parallelism = in.Parallelism out.Parallelism = in.Parallelism
out.Completions = in.Completions out.Completions = in.Completions
out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds out.ActiveDeadlineSeconds = in.ActiveDeadlineSeconds
if in.Selector != nil { out.Selector = in.Selector
in, out := &in.Selector, &out.Selector
*out = new(LabelSelector)
if err := Convert_unversioned_LabelSelector_To_v1beta1_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.Selector = nil
}
// WARNING: in.ManualSelector requires manual conversion: does not exist in peer-type // WARNING: in.ManualSelector requires manual conversion: does not exist in peer-type
if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
@ -1422,68 +1369,6 @@ func Convert_batch_JobStatus_To_v1beta1_JobStatus(in *batch.JobStatus, out *JobS
return autoConvert_batch_JobStatus_To_v1beta1_JobStatus(in, out, s) return autoConvert_batch_JobStatus_To_v1beta1_JobStatus(in, out, s)
} }
func autoConvert_v1beta1_LabelSelector_To_unversioned_LabelSelector(in *LabelSelector, out *unversioned.LabelSelector, s conversion.Scope) error {
out.MatchLabels = in.MatchLabels
if in.MatchExpressions != nil {
in, out := &in.MatchExpressions, &out.MatchExpressions
*out = make([]unversioned.LabelSelectorRequirement, len(*in))
for i := range *in {
if err := Convert_v1beta1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.MatchExpressions = nil
}
return nil
}
func Convert_v1beta1_LabelSelector_To_unversioned_LabelSelector(in *LabelSelector, out *unversioned.LabelSelector, s conversion.Scope) error {
return autoConvert_v1beta1_LabelSelector_To_unversioned_LabelSelector(in, out, s)
}
func autoConvert_unversioned_LabelSelector_To_v1beta1_LabelSelector(in *unversioned.LabelSelector, out *LabelSelector, s conversion.Scope) error {
out.MatchLabels = in.MatchLabels
if in.MatchExpressions != nil {
in, out := &in.MatchExpressions, &out.MatchExpressions
*out = make([]LabelSelectorRequirement, len(*in))
for i := range *in {
if err := Convert_unversioned_LabelSelectorRequirement_To_v1beta1_LabelSelectorRequirement(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.MatchExpressions = nil
}
return nil
}
func Convert_unversioned_LabelSelector_To_v1beta1_LabelSelector(in *unversioned.LabelSelector, out *LabelSelector, s conversion.Scope) error {
return autoConvert_unversioned_LabelSelector_To_v1beta1_LabelSelector(in, out, s)
}
func autoConvert_v1beta1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement(in *LabelSelectorRequirement, out *unversioned.LabelSelectorRequirement, s conversion.Scope) error {
out.Key = in.Key
out.Operator = unversioned.LabelSelectorOperator(in.Operator)
out.Values = in.Values
return nil
}
func Convert_v1beta1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement(in *LabelSelectorRequirement, out *unversioned.LabelSelectorRequirement, s conversion.Scope) error {
return autoConvert_v1beta1_LabelSelectorRequirement_To_unversioned_LabelSelectorRequirement(in, out, s)
}
func autoConvert_unversioned_LabelSelectorRequirement_To_v1beta1_LabelSelectorRequirement(in *unversioned.LabelSelectorRequirement, out *LabelSelectorRequirement, s conversion.Scope) error {
out.Key = in.Key
out.Operator = LabelSelectorOperator(in.Operator)
out.Values = in.Values
return nil
}
func Convert_unversioned_LabelSelectorRequirement_To_v1beta1_LabelSelectorRequirement(in *unversioned.LabelSelectorRequirement, out *LabelSelectorRequirement, s conversion.Scope) error {
return autoConvert_unversioned_LabelSelectorRequirement_To_v1beta1_LabelSelectorRequirement(in, out, s)
}
func autoConvert_v1beta1_NetworkPolicy_To_extensions_NetworkPolicy(in *NetworkPolicy, out *extensions.NetworkPolicy, s conversion.Scope) error { func autoConvert_v1beta1_NetworkPolicy_To_extensions_NetworkPolicy(in *NetworkPolicy, out *extensions.NetworkPolicy, s conversion.Scope) error {
// TODO: Inefficient conversion - can we improve it? // TODO: Inefficient conversion - can we improve it?
if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil { if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {
@ -1615,24 +1500,8 @@ func Convert_extensions_NetworkPolicyList_To_v1beta1_NetworkPolicyList(in *exten
} }
func autoConvert_v1beta1_NetworkPolicyPeer_To_extensions_NetworkPolicyPeer(in *NetworkPolicyPeer, out *extensions.NetworkPolicyPeer, s conversion.Scope) error { func autoConvert_v1beta1_NetworkPolicyPeer_To_extensions_NetworkPolicyPeer(in *NetworkPolicyPeer, out *extensions.NetworkPolicyPeer, s conversion.Scope) error {
if in.PodSelector != nil { out.PodSelector = in.PodSelector
in, out := &in.PodSelector, &out.PodSelector out.NamespaceSelector = in.NamespaceSelector
*out = new(unversioned.LabelSelector)
if err := Convert_v1beta1_LabelSelector_To_unversioned_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.PodSelector = nil
}
if in.NamespaceSelector != nil {
in, out := &in.NamespaceSelector, &out.NamespaceSelector
*out = new(unversioned.LabelSelector)
if err := Convert_v1beta1_LabelSelector_To_unversioned_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.NamespaceSelector = nil
}
return nil return nil
} }
@ -1641,24 +1510,8 @@ func Convert_v1beta1_NetworkPolicyPeer_To_extensions_NetworkPolicyPeer(in *Netwo
} }
func autoConvert_extensions_NetworkPolicyPeer_To_v1beta1_NetworkPolicyPeer(in *extensions.NetworkPolicyPeer, out *NetworkPolicyPeer, s conversion.Scope) error { func autoConvert_extensions_NetworkPolicyPeer_To_v1beta1_NetworkPolicyPeer(in *extensions.NetworkPolicyPeer, out *NetworkPolicyPeer, s conversion.Scope) error {
if in.PodSelector != nil { out.PodSelector = in.PodSelector
in, out := &in.PodSelector, &out.PodSelector out.NamespaceSelector = in.NamespaceSelector
*out = new(LabelSelector)
if err := Convert_unversioned_LabelSelector_To_v1beta1_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.PodSelector = nil
}
if in.NamespaceSelector != nil {
in, out := &in.NamespaceSelector, &out.NamespaceSelector
*out = new(LabelSelector)
if err := Convert_unversioned_LabelSelector_To_v1beta1_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.NamespaceSelector = nil
}
return nil return nil
} }
@ -1699,9 +1552,7 @@ func Convert_extensions_NetworkPolicyPort_To_v1beta1_NetworkPolicyPort(in *exten
} }
func autoConvert_v1beta1_NetworkPolicySpec_To_extensions_NetworkPolicySpec(in *NetworkPolicySpec, out *extensions.NetworkPolicySpec, s conversion.Scope) error { func autoConvert_v1beta1_NetworkPolicySpec_To_extensions_NetworkPolicySpec(in *NetworkPolicySpec, out *extensions.NetworkPolicySpec, s conversion.Scope) error {
if err := Convert_v1beta1_LabelSelector_To_unversioned_LabelSelector(&in.PodSelector, &out.PodSelector, s); err != nil { out.PodSelector = in.PodSelector
return err
}
if in.Ingress != nil { if in.Ingress != nil {
in, out := &in.Ingress, &out.Ingress in, out := &in.Ingress, &out.Ingress
*out = make([]extensions.NetworkPolicyIngressRule, len(*in)) *out = make([]extensions.NetworkPolicyIngressRule, len(*in))
@ -1721,9 +1572,7 @@ func Convert_v1beta1_NetworkPolicySpec_To_extensions_NetworkPolicySpec(in *Netwo
} }
func autoConvert_extensions_NetworkPolicySpec_To_v1beta1_NetworkPolicySpec(in *extensions.NetworkPolicySpec, out *NetworkPolicySpec, s conversion.Scope) error { func autoConvert_extensions_NetworkPolicySpec_To_v1beta1_NetworkPolicySpec(in *extensions.NetworkPolicySpec, out *NetworkPolicySpec, s conversion.Scope) error {
if err := Convert_unversioned_LabelSelector_To_v1beta1_LabelSelector(&in.PodSelector, &out.PodSelector, s); err != nil { out.PodSelector = in.PodSelector
return err
}
if in.Ingress != nil { if in.Ingress != nil {
in, out := &in.Ingress, &out.Ingress in, out := &in.Ingress, &out.Ingress
*out = make([]NetworkPolicyIngressRule, len(*in)) *out = make([]NetworkPolicyIngressRule, len(*in))
@ -2063,15 +1912,7 @@ func autoConvert_v1beta1_ReplicaSetSpec_To_extensions_ReplicaSetSpec(in *Replica
return err return err
} }
out.MinReadySeconds = in.MinReadySeconds out.MinReadySeconds = in.MinReadySeconds
if in.Selector != nil { out.Selector = in.Selector
in, out := &in.Selector, &out.Selector
*out = new(unversioned.LabelSelector)
if err := Convert_v1beta1_LabelSelector_To_unversioned_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
} }
@ -2083,15 +1924,7 @@ func autoConvert_extensions_ReplicaSetSpec_To_v1beta1_ReplicaSetSpec(in *extensi
return err return err
} }
out.MinReadySeconds = in.MinReadySeconds out.MinReadySeconds = in.MinReadySeconds
if in.Selector != nil { out.Selector = in.Selector
in, out := &in.Selector, &out.Selector
*out = new(LabelSelector)
if err := Convert_unversioned_LabelSelector_To_v1beta1_LabelSelector(*in, *out, s); err != nil {
return err
}
} else {
out.Selector = nil
}
if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { if err := v1.Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec(&in.Template, &out.Template, s); err != nil {
return err return err
} }

View File

@ -76,8 +76,6 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_JobList, InType: reflect.TypeOf(&JobList{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_JobList, InType: reflect.TypeOf(&JobList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_JobSpec, InType: reflect.TypeOf(&JobSpec{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_JobSpec, InType: reflect.TypeOf(&JobSpec{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_JobStatus, InType: reflect.TypeOf(&JobStatus{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_JobStatus, InType: reflect.TypeOf(&JobStatus{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_LabelSelector, InType: reflect.TypeOf(&LabelSelector{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_LabelSelectorRequirement, InType: reflect.TypeOf(&LabelSelectorRequirement{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_NetworkPolicy, InType: reflect.TypeOf(&NetworkPolicy{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_NetworkPolicy, InType: reflect.TypeOf(&NetworkPolicy{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_NetworkPolicyIngressRule, InType: reflect.TypeOf(&NetworkPolicyIngressRule{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_NetworkPolicyIngressRule, InType: reflect.TypeOf(&NetworkPolicyIngressRule{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_NetworkPolicyList, InType: reflect.TypeOf(&NetworkPolicyList{})}, conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_NetworkPolicyList, InType: reflect.TypeOf(&NetworkPolicyList{})},
@ -228,8 +226,8 @@ func DeepCopy_v1beta1_DaemonSetSpec(in interface{}, out interface{}, c *conversi
out := out.(*DaemonSetSpec) out := out.(*DaemonSetSpec)
if in.Selector != nil { if in.Selector != nil {
in, out := &in.Selector, &out.Selector in, out := &in.Selector, &out.Selector
*out = new(LabelSelector) *out = new(unversioned.LabelSelector)
if err := DeepCopy_v1beta1_LabelSelector(*in, *out, c); err != nil { if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err return err
} }
} else { } else {
@ -324,8 +322,8 @@ func DeepCopy_v1beta1_DeploymentSpec(in interface{}, out interface{}, c *convers
} }
if in.Selector != nil { if in.Selector != nil {
in, out := &in.Selector, &out.Selector in, out := &in.Selector, &out.Selector
*out = new(LabelSelector) *out = new(unversioned.LabelSelector)
if err := DeepCopy_v1beta1_LabelSelector(*in, *out, c); err != nil { if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err return err
} }
} else { } else {
@ -780,8 +778,8 @@ func DeepCopy_v1beta1_JobSpec(in interface{}, out interface{}, c *conversion.Clo
} }
if in.Selector != nil { if in.Selector != nil {
in, out := &in.Selector, &out.Selector in, out := &in.Selector, &out.Selector
*out = new(LabelSelector) *out = new(unversioned.LabelSelector)
if err := DeepCopy_v1beta1_LabelSelector(*in, *out, c); err != nil { if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err return err
} }
} else { } else {
@ -837,51 +835,6 @@ func DeepCopy_v1beta1_JobStatus(in interface{}, out interface{}, c *conversion.C
} }
} }
func DeepCopy_v1beta1_LabelSelector(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LabelSelector)
out := out.(*LabelSelector)
if in.MatchLabels != nil {
in, out := &in.MatchLabels, &out.MatchLabels
*out = make(map[string]string)
for key, val := range *in {
(*out)[key] = val
}
} else {
out.MatchLabels = nil
}
if in.MatchExpressions != nil {
in, out := &in.MatchExpressions, &out.MatchExpressions
*out = make([]LabelSelectorRequirement, len(*in))
for i := range *in {
if err := DeepCopy_v1beta1_LabelSelectorRequirement(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
} else {
out.MatchExpressions = nil
}
return nil
}
}
func DeepCopy_v1beta1_LabelSelectorRequirement(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*LabelSelectorRequirement)
out := out.(*LabelSelectorRequirement)
out.Key = in.Key
out.Operator = in.Operator
if in.Values != nil {
in, out := &in.Values, &out.Values
*out = make([]string, len(*in))
copy(*out, *in)
} else {
out.Values = nil
}
return nil
}
}
func DeepCopy_v1beta1_NetworkPolicy(in interface{}, out interface{}, c *conversion.Cloner) error { func DeepCopy_v1beta1_NetworkPolicy(in interface{}, out interface{}, c *conversion.Cloner) error {
{ {
in := in.(*NetworkPolicy) in := in.(*NetworkPolicy)
@ -954,8 +907,8 @@ func DeepCopy_v1beta1_NetworkPolicyPeer(in interface{}, out interface{}, c *conv
out := out.(*NetworkPolicyPeer) out := out.(*NetworkPolicyPeer)
if in.PodSelector != nil { if in.PodSelector != nil {
in, out := &in.PodSelector, &out.PodSelector in, out := &in.PodSelector, &out.PodSelector
*out = new(LabelSelector) *out = new(unversioned.LabelSelector)
if err := DeepCopy_v1beta1_LabelSelector(*in, *out, c); err != nil { if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err return err
} }
} else { } else {
@ -963,8 +916,8 @@ func DeepCopy_v1beta1_NetworkPolicyPeer(in interface{}, out interface{}, c *conv
} }
if in.NamespaceSelector != nil { if in.NamespaceSelector != nil {
in, out := &in.NamespaceSelector, &out.NamespaceSelector in, out := &in.NamespaceSelector, &out.NamespaceSelector
*out = new(LabelSelector) *out = new(unversioned.LabelSelector)
if err := DeepCopy_v1beta1_LabelSelector(*in, *out, c); err != nil { if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err return err
} }
} else { } else {
@ -1000,7 +953,7 @@ func DeepCopy_v1beta1_NetworkPolicySpec(in interface{}, out interface{}, c *conv
{ {
in := in.(*NetworkPolicySpec) in := in.(*NetworkPolicySpec)
out := out.(*NetworkPolicySpec) out := out.(*NetworkPolicySpec)
if err := DeepCopy_v1beta1_LabelSelector(&in.PodSelector, &out.PodSelector, c); err != nil { if err := unversioned.DeepCopy_unversioned_LabelSelector(&in.PodSelector, &out.PodSelector, c); err != nil {
return err return err
} }
if in.Ingress != nil { if in.Ingress != nil {
@ -1190,8 +1143,8 @@ func DeepCopy_v1beta1_ReplicaSetSpec(in interface{}, out interface{}, c *convers
out.MinReadySeconds = in.MinReadySeconds out.MinReadySeconds = in.MinReadySeconds
if in.Selector != nil { if in.Selector != nil {
in, out := &in.Selector, &out.Selector in, out := &in.Selector, &out.Selector
*out = new(LabelSelector) *out = new(unversioned.LabelSelector)
if err := DeepCopy_v1beta1_LabelSelector(*in, *out, c); err != nil { if err := unversioned.DeepCopy_unversioned_LabelSelector(*in, *out, c); err != nil {
return err return err
} }
} else { } else {

View File

@ -8727,7 +8727,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
"selector": { "selector": {
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{
Description: "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", Description: "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors",
Ref: spec.MustCreateRef("#/definitions/v1.LabelSelector"), Ref: spec.MustCreateRef("#/definitions/unversioned.LabelSelector"),
}, },
}, },
"manualSelector": { "manualSelector": {
@ -8748,7 +8748,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
}, },
}, },
Dependencies: []string{ Dependencies: []string{
"v1.LabelSelector", "v1.PodTemplateSpec"}, "unversioned.LabelSelector", "v1.PodTemplateSpec"},
}, },
"v1.JobStatus": { "v1.JobStatus": {
Schema: spec.Schema{ Schema: spec.Schema{
@ -8839,83 +8839,6 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
}, },
Dependencies: []string{}, Dependencies: []string{},
}, },
"v1.LabelSelector": {
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
Properties: map[string]spec.Schema{
"matchLabels": {
SchemaProps: spec.SchemaProps{
Description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
Type: []string{"object"},
AdditionalProperties: &spec.SchemaOrBool{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Type: []string{"string"},
Format: "",
},
},
},
},
},
"matchExpressions": {
SchemaProps: spec.SchemaProps{
Description: "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Ref: spec.MustCreateRef("#/definitions/v1.LabelSelectorRequirement"),
},
},
},
},
},
},
},
},
Dependencies: []string{
"v1.LabelSelectorRequirement"},
},
"v1.LabelSelectorRequirement": {
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
Properties: map[string]spec.Schema{
"key": {
SchemaProps: spec.SchemaProps{
Description: "key is the label key that the selector applies to.",
Type: []string{"string"},
Format: "",
},
},
"operator": {
SchemaProps: spec.SchemaProps{
Description: "operator represents a key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.",
Type: []string{"string"},
Format: "",
},
},
"values": {
SchemaProps: spec.SchemaProps{
Description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Type: []string{"string"},
Format: "",
},
},
},
},
},
},
Required: []string{"key", "operator"},
},
},
Dependencies: []string{},
},
"v1.Lifecycle": { "v1.Lifecycle": {
Schema: spec.Schema{ Schema: spec.Schema{
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{
@ -15744,7 +15667,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
"selector": { "selector": {
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{
Description: "Selector is a label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", Description: "Selector is a label query over pods that are managed by the daemon set. Must match in order to be controlled. If empty, defaulted to labels on Pod template. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors",
Ref: spec.MustCreateRef("#/definitions/v1beta1.LabelSelector"), Ref: spec.MustCreateRef("#/definitions/unversioned.LabelSelector"),
}, },
}, },
"template": { "template": {
@ -15758,7 +15681,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
}, },
}, },
Dependencies: []string{ Dependencies: []string{
"v1.PodTemplateSpec", "v1beta1.LabelSelector"}, "unversioned.LabelSelector", "v1.PodTemplateSpec"},
}, },
"v1beta1.DaemonSetStatus": { "v1beta1.DaemonSetStatus": {
Schema: spec.Schema{ Schema: spec.Schema{
@ -15913,7 +15836,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
"selector": { "selector": {
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{
Description: "Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.", Description: "Label selector for pods. Existing ReplicaSets whose pods are selected by this will be the ones affected by this deployment.",
Ref: spec.MustCreateRef("#/definitions/v1beta1.LabelSelector"), Ref: spec.MustCreateRef("#/definitions/unversioned.LabelSelector"),
}, },
}, },
"template": { "template": {
@ -15960,7 +15883,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
}, },
}, },
Dependencies: []string{ Dependencies: []string{
"v1.PodTemplateSpec", "v1beta1.DeploymentStrategy", "v1beta1.LabelSelector", "v1beta1.RollbackConfig"}, "unversioned.LabelSelector", "v1.PodTemplateSpec", "v1beta1.DeploymentStrategy", "v1beta1.RollbackConfig"},
}, },
"v1beta1.DeploymentStatus": { "v1beta1.DeploymentStatus": {
Schema: spec.Schema{ Schema: spec.Schema{
@ -16681,7 +16604,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
"selector": { "selector": {
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{
Description: "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", Description: "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors",
Ref: spec.MustCreateRef("#/definitions/v1beta1.LabelSelector"), Ref: spec.MustCreateRef("#/definitions/unversioned.LabelSelector"),
}, },
}, },
"autoSelector": { "autoSelector": {
@ -16702,7 +16625,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
}, },
}, },
Dependencies: []string{ Dependencies: []string{
"v1.PodTemplateSpec", "v1beta1.LabelSelector"}, "unversioned.LabelSelector", "v1.PodTemplateSpec"},
}, },
"v1beta1.JobStatus": { "v1beta1.JobStatus": {
Schema: spec.Schema{ Schema: spec.Schema{
@ -16761,83 +16684,6 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
Dependencies: []string{ Dependencies: []string{
"unversioned.Time", "v1beta1.JobCondition"}, "unversioned.Time", "v1beta1.JobCondition"},
}, },
"v1beta1.LabelSelector": {
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
Properties: map[string]spec.Schema{
"matchLabels": {
SchemaProps: spec.SchemaProps{
Description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
Type: []string{"object"},
AdditionalProperties: &spec.SchemaOrBool{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Type: []string{"string"},
Format: "",
},
},
},
},
},
"matchExpressions": {
SchemaProps: spec.SchemaProps{
Description: "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Ref: spec.MustCreateRef("#/definitions/v1beta1.LabelSelectorRequirement"),
},
},
},
},
},
},
},
},
Dependencies: []string{
"v1beta1.LabelSelectorRequirement"},
},
"v1beta1.LabelSelectorRequirement": {
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
Properties: map[string]spec.Schema{
"key": {
SchemaProps: spec.SchemaProps{
Description: "key is the label key that the selector applies to.",
Type: []string{"string"},
Format: "",
},
},
"operator": {
SchemaProps: spec.SchemaProps{
Description: "operator represents a key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.",
Type: []string{"string"},
Format: "",
},
},
"values": {
SchemaProps: spec.SchemaProps{
Description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Type: []string{"string"},
Format: "",
},
},
},
},
},
},
Required: []string{"key", "operator"},
},
},
Dependencies: []string{},
},
"v1beta1.LocalSubjectAccessReview": { "v1beta1.LocalSubjectAccessReview": {
Schema: spec.Schema{ Schema: spec.Schema{
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{
@ -16964,20 +16810,20 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
"podSelector": { "podSelector": {
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{
Description: "This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If not provided, this selector selects no pods. If present but empty, this selector selects all pods in this namespace.", Description: "This is a label selector which selects Pods in this namespace. This field follows standard label selector semantics. If not provided, this selector selects no pods. If present but empty, this selector selects all pods in this namespace.",
Ref: spec.MustCreateRef("#/definitions/v1beta1.LabelSelector"), Ref: spec.MustCreateRef("#/definitions/unversioned.LabelSelector"),
}, },
}, },
"namespaceSelector": { "namespaceSelector": {
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{
Description: "Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If omitted, this selector selects no namespaces. If present but empty, this selector selects all namespaces.", Description: "Selects Namespaces using cluster scoped-labels. This matches all pods in all namespaces selected by this label selector. This field follows standard label selector semantics. If omitted, this selector selects no namespaces. If present but empty, this selector selects all namespaces.",
Ref: spec.MustCreateRef("#/definitions/v1beta1.LabelSelector"), Ref: spec.MustCreateRef("#/definitions/unversioned.LabelSelector"),
}, },
}, },
}, },
}, },
}, },
Dependencies: []string{ Dependencies: []string{
"v1beta1.LabelSelector"}, "unversioned.LabelSelector"},
}, },
"v1beta1.NetworkPolicyPort": { "v1beta1.NetworkPolicyPort": {
Schema: spec.Schema{ Schema: spec.Schema{
@ -17009,7 +16855,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
"podSelector": { "podSelector": {
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{
Description: "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.", Description: "Selects the pods to which this NetworkPolicy object applies. The array of ingress rules is applied to any pods selected by this field. Multiple network policies can select the same set of pods. In this case, the ingress rules for each are combined additively. This field is NOT optional and follows standard label selector semantics. An empty podSelector matches all pods in this namespace.",
Ref: spec.MustCreateRef("#/definitions/v1beta1.LabelSelector"), Ref: spec.MustCreateRef("#/definitions/unversioned.LabelSelector"),
}, },
}, },
"ingress": { "ingress": {
@ -17030,7 +16876,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
}, },
}, },
Dependencies: []string{ Dependencies: []string{
"v1beta1.LabelSelector", "v1beta1.NetworkPolicyIngressRule"}, "unversioned.LabelSelector", "v1beta1.NetworkPolicyIngressRule"},
}, },
"v1beta1.NonResourceAttributes": { "v1beta1.NonResourceAttributes": {
Schema: spec.Schema{ Schema: spec.Schema{
@ -17378,7 +17224,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
"selector": { "selector": {
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{
Description: "Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", Description: "Selector is a label query over pods that should match the replica count. If the selector is empty, it is defaulted to the labels present on the pod template. Label keys and values that must match in order to be controlled by this replica set. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors",
Ref: spec.MustCreateRef("#/definitions/v1beta1.LabelSelector"), Ref: spec.MustCreateRef("#/definitions/unversioned.LabelSelector"),
}, },
}, },
"template": { "template": {
@ -17391,7 +17237,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
}, },
}, },
Dependencies: []string{ Dependencies: []string{
"v1.PodTemplateSpec", "v1beta1.LabelSelector"}, "unversioned.LabelSelector", "v1.PodTemplateSpec"},
}, },
"v1beta1.ReplicaSetStatus": { "v1beta1.ReplicaSetStatus": {
Schema: spec.Schema{ Schema: spec.Schema{
@ -18444,7 +18290,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
"selector": { "selector": {
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{
Description: "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors", Description: "Selector is a label query over pods that should match the pod count. Normally, the system sets this field for you. More info: http://kubernetes.io/docs/user-guide/labels#label-selectors",
Ref: spec.MustCreateRef("#/definitions/v2alpha1.LabelSelector"), Ref: spec.MustCreateRef("#/definitions/unversioned.LabelSelector"),
}, },
}, },
"manualSelector": { "manualSelector": {
@ -18465,7 +18311,7 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
}, },
}, },
Dependencies: []string{ Dependencies: []string{
"v1.PodTemplateSpec", "v2alpha1.LabelSelector"}, "unversioned.LabelSelector", "v1.PodTemplateSpec"},
}, },
"v2alpha1.JobStatus": { "v2alpha1.JobStatus": {
Schema: spec.Schema{ Schema: spec.Schema{
@ -18570,83 +18416,6 @@ var OpenAPIDefinitions *common.OpenAPIDefinitions = &common.OpenAPIDefinitions{
Dependencies: []string{ Dependencies: []string{
"v1.ObjectMeta", "v2alpha1.JobSpec"}, "v1.ObjectMeta", "v2alpha1.JobSpec"},
}, },
"v2alpha1.LabelSelector": {
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.",
Properties: map[string]spec.Schema{
"matchLabels": {
SchemaProps: spec.SchemaProps{
Description: "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
Type: []string{"object"},
AdditionalProperties: &spec.SchemaOrBool{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Type: []string{"string"},
Format: "",
},
},
},
},
},
"matchExpressions": {
SchemaProps: spec.SchemaProps{
Description: "matchExpressions is a list of label selector requirements. The requirements are ANDed.",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Ref: spec.MustCreateRef("#/definitions/v2alpha1.LabelSelectorRequirement"),
},
},
},
},
},
},
},
},
Dependencies: []string{
"v2alpha1.LabelSelectorRequirement"},
},
"v2alpha1.LabelSelectorRequirement": {
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.",
Properties: map[string]spec.Schema{
"key": {
SchemaProps: spec.SchemaProps{
Description: "key is the label key that the selector applies to.",
Type: []string{"string"},
Format: "",
},
},
"operator": {
SchemaProps: spec.SchemaProps{
Description: "operator represents a key's relationship to a set of values. Valid operators ard In, NotIn, Exists and DoesNotExist.",
Type: []string{"string"},
Format: "",
},
},
"values": {
SchemaProps: spec.SchemaProps{
Description: "values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Type: []string{"string"},
Format: "",
},
},
},
},
},
},
Required: []string{"key", "operator"},
},
},
Dependencies: []string{},
},
"v2alpha1.ScheduledJob": { "v2alpha1.ScheduledJob": {
Schema: spec.Schema{ Schema: spec.Schema{
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{

View File

@ -23,6 +23,7 @@ import (
"k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5" "k8s.io/kubernetes/federation/client/clientset_generated/federation_release_1_5"
fedutil "k8s.io/kubernetes/federation/pkg/federation-controller/util" fedutil "k8s.io/kubernetes/federation/pkg/federation-controller/util"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
"k8s.io/kubernetes/pkg/util/wait" "k8s.io/kubernetes/pkg/util/wait"
@ -194,7 +195,7 @@ func newReplicaSet(namespace string, name string, replicas int32) *v1beta1.Repli
}, },
Spec: v1beta1.ReplicaSetSpec{ Spec: v1beta1.ReplicaSetSpec{
Replicas: &replicas, Replicas: &replicas,
Selector: &v1beta1.LabelSelector{ Selector: &unversioned.LabelSelector{
MatchLabels: map[string]string{"name": "myrs"}, MatchLabels: map[string]string{"name": "myrs"},
}, },
Template: v1.PodTemplateSpec{ Template: v1.PodTemplateSpec{

View File

@ -12,29 +12,6 @@ load(
go_library( go_library(
name = "go_default_library", name = "go_default_library",
srcs = [ srcs = ["main.go"],
"main.go", tags = ["automanaged"],
":bindata",
],
)
genrule(
name = "bindata",
srcs = [
"//examples:sources",
"//test/images:sources",
"//test/fixtures:sources",
"//test/e2e/testing-manifests:sources",
],
outs = ["bindata.go"],
cmd = """
$(location //vendor:github.com/jteeuwen/go-bindata/go-bindata) \
-nometadata -o "$(OUTS)" -pkg generated \
-prefix $$(pwd) \
-ignore .jpg -ignore .png -ignore .md \
$(SRCS)
""",
tools = [
"//vendor:github.com/jteeuwen/go-bindata/go-bindata",
],
) )

View File

@ -55,7 +55,7 @@ func newRS(name, namespace string, replicas int) *v1beta1.ReplicaSet {
Name: name, Name: name,
}, },
Spec: v1beta1.ReplicaSetSpec{ Spec: v1beta1.ReplicaSetSpec{
Selector: &v1beta1.LabelSelector{ Selector: &unversioned.LabelSelector{
MatchLabels: testLabels(), MatchLabels: testLabels(),
}, },
Replicas: &replicasCopy, Replicas: &replicasCopy,