Merge pull request #45867 from kow3ns/controller-history

Automatic merge from submit-queue (batch tested with PRs 46429, 46308, 46395, 45867, 45492)

Controller history

**What this PR does / why we need it**:
Implements the ControllerRevision API object and clientset to allow for the implementation of StatefulSet update and DaemonSet history

```release-note
ControllerRevision type added for StatefulSet and DaemonSet history.
```
pull/6/head
Kubernetes Submit Queue 2017-05-25 22:42:08 -07:00 committed by GitHub
commit 7d37a2685c
83 changed files with 10233 additions and 1162 deletions

View File

@ -17386,6 +17386,96 @@
}
}
},
"/apis/apps/v1beta1/controllerrevisions": {
"get": {
"description": "list or watch objects of kind ControllerRevision",
"consumes": [
"*/*"
],
"produces": [
"application/json",
"application/yaml",
"application/vnd.kubernetes.protobuf",
"application/json;stream=watch",
"application/vnd.kubernetes.protobuf;stream=watch"
],
"schemes": [
"https"
],
"tags": [
"apps_v1beta1"
],
"operationId": "listAppsV1beta1ControllerRevisionForAllNamespaces",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.ControllerRevisionList"
}
},
"401": {
"description": "Unauthorized"
}
},
"x-kubernetes-action": "LIST",
"x-kubernetes-group-version-kind": {
"Group": "apps",
"Version": "v1beta1",
"Kind": "ControllerRevision"
}
},
"parameters": [
{
"uniqueItems": true,
"type": "string",
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"name": "fieldSelector",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "If true, partially initialized resources are included in the response.",
"name": "includeUninitialized",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"name": "labelSelector",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "If 'true', then the output is pretty printed.",
"name": "pretty",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
"name": "resourceVersion",
"in": "query"
},
{
"uniqueItems": true,
"type": "integer",
"description": "Timeout for the list/watch call.",
"name": "timeoutSeconds",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"name": "watch",
"in": "query"
}
]
},
"/apis/apps/v1beta1/deployments": {
"get": {
"description": "list or watch objects of kind Deployment",
@ -17476,6 +17566,466 @@
}
]
},
"/apis/apps/v1beta1/namespaces/{namespace}/controllerrevisions": {
"get": {
"description": "list or watch objects of kind ControllerRevision",
"consumes": [
"*/*"
],
"produces": [
"application/json",
"application/yaml",
"application/vnd.kubernetes.protobuf",
"application/json;stream=watch",
"application/vnd.kubernetes.protobuf;stream=watch"
],
"schemes": [
"https"
],
"tags": [
"apps_v1beta1"
],
"operationId": "listAppsV1beta1NamespacedControllerRevision",
"parameters": [
{
"uniqueItems": true,
"type": "string",
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"name": "fieldSelector",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "If true, partially initialized resources are included in the response.",
"name": "includeUninitialized",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"name": "labelSelector",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
"name": "resourceVersion",
"in": "query"
},
{
"uniqueItems": true,
"type": "integer",
"description": "Timeout for the list/watch call.",
"name": "timeoutSeconds",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"name": "watch",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.ControllerRevisionList"
}
},
"401": {
"description": "Unauthorized"
}
},
"x-kubernetes-action": "LIST",
"x-kubernetes-group-version-kind": {
"Group": "apps",
"Version": "v1beta1",
"Kind": "ControllerRevision"
}
},
"post": {
"description": "create a ControllerRevision",
"consumes": [
"*/*"
],
"produces": [
"application/json",
"application/yaml",
"application/vnd.kubernetes.protobuf"
],
"schemes": [
"https"
],
"tags": [
"apps_v1beta1"
],
"operationId": "createAppsV1beta1NamespacedControllerRevision",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.ControllerRevision"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.ControllerRevision"
}
},
"401": {
"description": "Unauthorized"
}
},
"x-kubernetes-action": "POST",
"x-kubernetes-group-version-kind": {
"Group": "apps",
"Version": "v1beta1",
"Kind": "ControllerRevision"
}
},
"delete": {
"description": "delete collection of ControllerRevision",
"consumes": [
"*/*"
],
"produces": [
"application/json",
"application/yaml",
"application/vnd.kubernetes.protobuf"
],
"schemes": [
"https"
],
"tags": [
"apps_v1beta1"
],
"operationId": "deleteAppsV1beta1CollectionNamespacedControllerRevision",
"parameters": [
{
"uniqueItems": true,
"type": "string",
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"name": "fieldSelector",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "If true, partially initialized resources are included in the response.",
"name": "includeUninitialized",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"name": "labelSelector",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
"name": "resourceVersion",
"in": "query"
},
{
"uniqueItems": true,
"type": "integer",
"description": "Timeout for the list/watch call.",
"name": "timeoutSeconds",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"name": "watch",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status"
}
},
"401": {
"description": "Unauthorized"
}
},
"x-kubernetes-action": "DELETECOLLECTION",
"x-kubernetes-group-version-kind": {
"Group": "apps",
"Version": "v1beta1",
"Kind": "ControllerRevision"
}
},
"parameters": [
{
"uniqueItems": true,
"type": "string",
"description": "object name and auth scope, such as for teams and projects",
"name": "namespace",
"in": "path",
"required": true
},
{
"uniqueItems": true,
"type": "string",
"description": "If 'true', then the output is pretty printed.",
"name": "pretty",
"in": "query"
}
]
},
"/apis/apps/v1beta1/namespaces/{namespace}/controllerrevisions/{name}": {
"get": {
"description": "read the specified ControllerRevision",
"consumes": [
"*/*"
],
"produces": [
"application/json",
"application/yaml",
"application/vnd.kubernetes.protobuf"
],
"schemes": [
"https"
],
"tags": [
"apps_v1beta1"
],
"operationId": "readAppsV1beta1NamespacedControllerRevision",
"parameters": [
{
"uniqueItems": true,
"type": "boolean",
"description": "Should the export be exact. Exact export maintains cluster-specific fields like 'Namespace'.",
"name": "exact",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "Should this value be exported. Export strips fields that a user can not specify.",
"name": "export",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.ControllerRevision"
}
},
"401": {
"description": "Unauthorized"
}
},
"x-kubernetes-action": "GET",
"x-kubernetes-group-version-kind": {
"Group": "apps",
"Version": "v1beta1",
"Kind": "ControllerRevision"
}
},
"put": {
"description": "replace the specified ControllerRevision",
"consumes": [
"*/*"
],
"produces": [
"application/json",
"application/yaml",
"application/vnd.kubernetes.protobuf"
],
"schemes": [
"https"
],
"tags": [
"apps_v1beta1"
],
"operationId": "replaceAppsV1beta1NamespacedControllerRevision",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.ControllerRevision"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.ControllerRevision"
}
},
"401": {
"description": "Unauthorized"
}
},
"x-kubernetes-action": "PUT",
"x-kubernetes-group-version-kind": {
"Group": "apps",
"Version": "v1beta1",
"Kind": "ControllerRevision"
}
},
"delete": {
"description": "delete a ControllerRevision",
"consumes": [
"*/*"
],
"produces": [
"application/json",
"application/yaml",
"application/vnd.kubernetes.protobuf"
],
"schemes": [
"https"
],
"tags": [
"apps_v1beta1"
],
"operationId": "deleteAppsV1beta1NamespacedControllerRevision",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
}
},
{
"uniqueItems": true,
"type": "integer",
"description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.",
"name": "gracePeriodSeconds",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.",
"name": "orphanDependents",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy.",
"name": "propagationPolicy",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status"
}
},
"401": {
"description": "Unauthorized"
}
},
"x-kubernetes-action": "DELETE",
"x-kubernetes-group-version-kind": {
"Group": "apps",
"Version": "v1beta1",
"Kind": "ControllerRevision"
}
},
"patch": {
"description": "partially update the specified ControllerRevision",
"consumes": [
"application/json-patch+json",
"application/merge-patch+json",
"application/strategic-merge-patch+json"
],
"produces": [
"application/json",
"application/yaml",
"application/vnd.kubernetes.protobuf"
],
"schemes": [
"https"
],
"tags": [
"apps_v1beta1"
],
"operationId": "patchAppsV1beta1NamespacedControllerRevision",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.ControllerRevision"
}
},
"401": {
"description": "Unauthorized"
}
},
"x-kubernetes-action": "PATCH",
"x-kubernetes-group-version-kind": {
"Group": "apps",
"Version": "v1beta1",
"Kind": "ControllerRevision"
}
},
"parameters": [
{
"uniqueItems": true,
"type": "string",
"description": "name of the ControllerRevision",
"name": "name",
"in": "path",
"required": true
},
{
"uniqueItems": true,
"type": "string",
"description": "object name and auth scope, such as for teams and projects",
"name": "namespace",
"in": "path",
"required": true
},
{
"uniqueItems": true,
"type": "string",
"description": "If 'true', then the output is pretty printed.",
"name": "pretty",
"in": "query"
}
]
},
"/apis/apps/v1beta1/namespaces/{namespace}/deployments": {
"get": {
"description": "list or watch objects of kind Deployment",
@ -19020,6 +19570,96 @@
}
]
},
"/apis/apps/v1beta1/watch/controllerrevisions": {
"get": {
"description": "watch individual changes to a list of ControllerRevision",
"consumes": [
"*/*"
],
"produces": [
"application/json",
"application/yaml",
"application/vnd.kubernetes.protobuf",
"application/json;stream=watch",
"application/vnd.kubernetes.protobuf;stream=watch"
],
"schemes": [
"https"
],
"tags": [
"apps_v1beta1"
],
"operationId": "watchAppsV1beta1ControllerRevisionListForAllNamespaces",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent"
}
},
"401": {
"description": "Unauthorized"
}
},
"x-kubernetes-action": "WATCHLIST",
"x-kubernetes-group-version-kind": {
"Group": "apps",
"Version": "v1beta1",
"Kind": "ControllerRevision"
}
},
"parameters": [
{
"uniqueItems": true,
"type": "string",
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"name": "fieldSelector",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "If true, partially initialized resources are included in the response.",
"name": "includeUninitialized",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"name": "labelSelector",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "If 'true', then the output is pretty printed.",
"name": "pretty",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
"name": "resourceVersion",
"in": "query"
},
{
"uniqueItems": true,
"type": "integer",
"description": "Timeout for the list/watch call.",
"name": "timeoutSeconds",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"name": "watch",
"in": "query"
}
]
},
"/apis/apps/v1beta1/watch/deployments": {
"get": {
"description": "watch individual changes to a list of Deployment",
@ -19110,6 +19750,210 @@
}
]
},
"/apis/apps/v1beta1/watch/namespaces/{namespace}/controllerrevisions": {
"get": {
"description": "watch individual changes to a list of ControllerRevision",
"consumes": [
"*/*"
],
"produces": [
"application/json",
"application/yaml",
"application/vnd.kubernetes.protobuf",
"application/json;stream=watch",
"application/vnd.kubernetes.protobuf;stream=watch"
],
"schemes": [
"https"
],
"tags": [
"apps_v1beta1"
],
"operationId": "watchAppsV1beta1NamespacedControllerRevisionList",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent"
}
},
"401": {
"description": "Unauthorized"
}
},
"x-kubernetes-action": "WATCHLIST",
"x-kubernetes-group-version-kind": {
"Group": "apps",
"Version": "v1beta1",
"Kind": "ControllerRevision"
}
},
"parameters": [
{
"uniqueItems": true,
"type": "string",
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"name": "fieldSelector",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "If true, partially initialized resources are included in the response.",
"name": "includeUninitialized",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"name": "labelSelector",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "object name and auth scope, such as for teams and projects",
"name": "namespace",
"in": "path",
"required": true
},
{
"uniqueItems": true,
"type": "string",
"description": "If 'true', then the output is pretty printed.",
"name": "pretty",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
"name": "resourceVersion",
"in": "query"
},
{
"uniqueItems": true,
"type": "integer",
"description": "Timeout for the list/watch call.",
"name": "timeoutSeconds",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"name": "watch",
"in": "query"
}
]
},
"/apis/apps/v1beta1/watch/namespaces/{namespace}/controllerrevisions/{name}": {
"get": {
"description": "watch changes to an object of kind ControllerRevision",
"consumes": [
"*/*"
],
"produces": [
"application/json",
"application/yaml",
"application/vnd.kubernetes.protobuf",
"application/json;stream=watch",
"application/vnd.kubernetes.protobuf;stream=watch"
],
"schemes": [
"https"
],
"tags": [
"apps_v1beta1"
],
"operationId": "watchAppsV1beta1NamespacedControllerRevision",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent"
}
},
"401": {
"description": "Unauthorized"
}
},
"x-kubernetes-action": "WATCH",
"x-kubernetes-group-version-kind": {
"Group": "apps",
"Version": "v1beta1",
"Kind": "ControllerRevision"
}
},
"parameters": [
{
"uniqueItems": true,
"type": "string",
"description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.",
"name": "fieldSelector",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "If true, partially initialized resources are included in the response.",
"name": "includeUninitialized",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.",
"name": "labelSelector",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "name of the ControllerRevision",
"name": "name",
"in": "path",
"required": true
},
{
"uniqueItems": true,
"type": "string",
"description": "object name and auth scope, such as for teams and projects",
"name": "namespace",
"in": "path",
"required": true
},
{
"uniqueItems": true,
"type": "string",
"description": "If 'true', then the output is pretty printed.",
"name": "pretty",
"in": "query"
},
{
"uniqueItems": true,
"type": "string",
"description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.",
"name": "resourceVersion",
"in": "query"
},
{
"uniqueItems": true,
"type": "integer",
"description": "Timeout for the list/watch call.",
"name": "timeoutSeconds",
"in": "query"
},
{
"uniqueItems": true,
"type": "boolean",
"description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.",
"name": "watch",
"in": "query"
}
]
},
"/apis/apps/v1beta1/watch/namespaces/{namespace}/deployments": {
"get": {
"description": "watch individual changes to a list of Deployment",
@ -47065,6 +47909,76 @@
}
}
},
"io.k8s.kubernetes.pkg.apis.apps.v1beta1.ControllerRevision": {
"description": "ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.",
"required": [
"revision"
],
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources",
"type": "string"
},
"data": {
"description": "Data is the serialized representation of the state.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension"
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"description": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
},
"revision": {
"description": "Revision indicates the revision of the state represented by Data.",
"type": "integer",
"format": "int64"
}
},
"x-kubernetes-group-version-kind": [
{
"Group": "apps",
"Version": "v1beta1",
"Kind": "ControllerRevision"
}
]
},
"io.k8s.kubernetes.pkg.apis.apps.v1beta1.ControllerRevisionList": {
"description": "ControllerRevisionList is a resource containing a list of ControllerRevision objects.",
"required": [
"items"
],
"properties": {
"apiVersion": {
"description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources",
"type": "string"
},
"items": {
"description": "Items is the list of ControllerRevisions",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.apps.v1beta1.ControllerRevision"
}
},
"kind": {
"description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds",
"type": "string"
},
"metadata": {
"description": "More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
}
},
"x-kubernetes-group-version-kind": [
{
"Group": "apps",
"Version": "v1beta1",
"Kind": "ControllerRevisionList"
}
]
},
"io.k8s.kubernetes.pkg.apis.apps.v1beta1.Deployment": {
"description": "Deployment enables declarative updates for Pods and ReplicaSets.",
"properties": {

File diff suppressed because it is too large Load Diff

View File

@ -387,6 +387,12 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
<li>
<p><a href="#_v1beta1_statefulsetlist">v1beta1.StatefulSetList</a></p>
</li>
<li>
<p><a href="#_v1beta1_controllerrevision">v1beta1.ControllerRevision</a></p>
</li>
<li>
<p><a href="#_v1beta1_controllerrevisionlist">v1beta1.ControllerRevisionList</a></p>
</li>
</ul>
</div>
</div>
@ -1812,10 +1818,6 @@ When an object is created, the system will populate this list with the current s
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_types_uid">types.UID</h3>
</div>
<div class="sect2">
<h3 id="_v1_azurefilevolumesource">v1.AzureFileVolumeSource</h3>
@ -1864,6 +1866,10 @@ When an object is created, the system will populate this list with the current s
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_types_uid">types.UID</h3>
</div>
<div class="sect2">
<h3 id="_v1_iscsivolumesource">v1.ISCSIVolumeSource</h3>
@ -2605,6 +2611,54 @@ When an object is created, the system will populate this list with the current s
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1_keytopath">v1.KeyToPath</h3>
<div class="paragraph">
<p>Maps a string key to a path within a volume.</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">The key to project.</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">path</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The relative path of the file to map the key to. May not be an absolute path. May not contain the path element <em>..</em>. May not start with the string <em>..</em>.</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">mode</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.</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">integer (int32)</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1_azurediskvolumesource">v1.AzureDiskVolumeSource</h3>
@ -2674,54 +2728,6 @@ When an object is created, the system will populate this list with the current s
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1_keytopath">v1.KeyToPath</h3>
<div class="paragraph">
<p>Maps a string key to a path within a volume.</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">The key to project.</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">path</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The relative path of the file to map the key to. May not be an absolute path. May not contain the path element <em>..</em>. May not start with the string <em>..</em>.</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">mode</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.</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">integer (int32)</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1_vspherevirtualdiskvolumesource">v1.VsphereVirtualDiskVolumeSource</h3>
@ -4162,6 +4168,68 @@ Examples:<br>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1beta1_controllerrevision">v1beta1.ControllerRevision</h3>
<div class="paragraph">
<p>ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.</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">kind</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: <a href="http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds">http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds</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">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">apiVersion</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: <a href="http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources">http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources</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">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">metadata</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Standard object&#8217;s metadata. More info: <a href="http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata">http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata</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"><a href="#_v1_objectmeta">v1.ObjectMeta</a></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">data</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Data is the serialized representation of the state.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">revision</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Revision indicates the revision of the state represented by Data.</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">integer (int64)</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1_rbdvolumesource">v1.RBDVolumeSource</h3>
@ -4961,47 +5029,6 @@ Examples:<br>
<div class="sect2">
<h3 id="_v1_deletionpropagation">v1.DeletionPropagation</h3>
</div>
<div class="sect2">
<h3 id="_v1_tcpsocketaction">v1.TCPSocketAction</h3>
<div class="paragraph">
<p>TCPSocketAction describes an action based on opening a socket</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">port</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.</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">host</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Optional: Host name to connect to, defaults to the pod IP.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1beta1_deploymentstrategy">v1beta1.DeploymentStrategy</h3>
@ -5043,6 +5070,47 @@ Examples:<br>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1_tcpsocketaction">v1.TCPSocketAction</h3>
<div class="paragraph">
<p>TCPSocketAction describes an action based on opening a socket</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">port</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.</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">host</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Optional: Host name to connect to, defaults to the pod IP.</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1_httpgetaction">v1.HTTPGetAction</h3>
@ -5474,6 +5542,61 @@ Examples:<br>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1beta1_controllerrevisionlist">v1beta1.ControllerRevisionList</h3>
<div class="paragraph">
<p>ControllerRevisionList is a resource containing a list of ControllerRevision 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">kind</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: <a href="http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds">http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds</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">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">apiVersion</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: <a href="http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources">http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#resources</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">string</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">metadata</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">More info: <a href="http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata">http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata</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"><a href="#_v1_listmeta">v1.ListMeta</a></p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">items</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Items is the list of ControllerRevisions</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_controllerrevision">v1beta1.ControllerRevision</a> array</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_v1_apiresource">v1.APIResource</h3>
@ -6477,7 +6600,7 @@ Examples:<br>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2017-05-25 09:31:33 UTC
Last updated 2017-05-25 16:54:16 UTC
</div>
</div>
</body>

File diff suppressed because it is too large Load Diff

View File

@ -208,6 +208,7 @@ pkg/proxy/healthcheck
pkg/quota
pkg/quota/install
pkg/registry
pkg/registry/apps/controllerrevision/storage
pkg/registry/authorization/util
pkg/registry/core/configmap/storage
pkg/registry/core/endpoint

View File

@ -53,6 +53,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&extensions.Scale{},
&StatefulSet{},
&StatefulSetList{},
&ControllerRevision{},
&ControllerRevisionList{},
)
return nil
}

View File

@ -18,6 +18,7 @@ package apps
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/kubernetes/pkg/api"
)
@ -127,3 +128,35 @@ type StatefulSetList struct {
metav1.ListMeta
Items []StatefulSet
}
// +genclient=true
// ControllerRevision implements an immutable snapshot of state data. Clients
// are responsible for serializing and deserializing the objects that contain
// their internal state.
// Once a ControllerRevision has been successfully created, it can not be updated.
// The API Server will fail validation of all requests that attempt to mutate
// the Data field. ControllerRevisions may, however, be deleted.
type ControllerRevision struct {
metav1.TypeMeta
// Standard object's metadata.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
// +optional
metav1.ObjectMeta
// Data is the Object representing the state.
Data runtime.Object
// Revision indicates the revision of the state represented by Data.
Revision int64
}
// ControllerRevisionList is a resource containing a list of ControllerRevision objects.
type ControllerRevisionList struct {
metav1.TypeMeta
// +optional
metav1.ListMeta
// Items is the list of ControllerRevision objects.
Items []ControllerRevision
}

View File

@ -25,6 +25,8 @@ limitations under the License.
k8s.io/kubernetes/pkg/apis/apps/v1beta1/generated.proto
It has these top-level messages:
ControllerRevision
ControllerRevisionList
Deployment
DeploymentCondition
DeploymentList
@ -71,71 +73,83 @@ var _ = math.Inf
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
func (m *ControllerRevision) Reset() { *m = ControllerRevision{} }
func (*ControllerRevision) ProtoMessage() {}
func (*ControllerRevision) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
func (m *ControllerRevisionList) Reset() { *m = ControllerRevisionList{} }
func (*ControllerRevisionList) ProtoMessage() {}
func (*ControllerRevisionList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
func (m *Deployment) Reset() { *m = Deployment{} }
func (*Deployment) ProtoMessage() {}
func (*Deployment) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
func (*Deployment) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} }
func (m *DeploymentCondition) Reset() { *m = DeploymentCondition{} }
func (*DeploymentCondition) ProtoMessage() {}
func (*DeploymentCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
func (*DeploymentCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
func (m *DeploymentList) Reset() { *m = DeploymentList{} }
func (*DeploymentList) ProtoMessage() {}
func (*DeploymentList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} }
func (*DeploymentList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
func (m *DeploymentRollback) Reset() { *m = DeploymentRollback{} }
func (*DeploymentRollback) ProtoMessage() {}
func (*DeploymentRollback) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
func (*DeploymentRollback) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
func (m *DeploymentSpec) Reset() { *m = DeploymentSpec{} }
func (*DeploymentSpec) ProtoMessage() {}
func (*DeploymentSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
func (*DeploymentSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
func (m *DeploymentStatus) Reset() { *m = DeploymentStatus{} }
func (*DeploymentStatus) ProtoMessage() {}
func (*DeploymentStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
func (*DeploymentStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
func (m *DeploymentStrategy) Reset() { *m = DeploymentStrategy{} }
func (*DeploymentStrategy) ProtoMessage() {}
func (*DeploymentStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
func (*DeploymentStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} }
func (m *RollbackConfig) Reset() { *m = RollbackConfig{} }
func (*RollbackConfig) ProtoMessage() {}
func (*RollbackConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
func (*RollbackConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} }
func (m *RollingUpdateDeployment) Reset() { *m = RollingUpdateDeployment{} }
func (*RollingUpdateDeployment) ProtoMessage() {}
func (*RollingUpdateDeployment) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} }
func (m *RollingUpdateDeployment) Reset() { *m = RollingUpdateDeployment{} }
func (*RollingUpdateDeployment) ProtoMessage() {}
func (*RollingUpdateDeployment) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{10}
}
func (m *Scale) Reset() { *m = Scale{} }
func (*Scale) ProtoMessage() {}
func (*Scale) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} }
func (*Scale) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} }
func (m *ScaleSpec) Reset() { *m = ScaleSpec{} }
func (*ScaleSpec) ProtoMessage() {}
func (*ScaleSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} }
func (*ScaleSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} }
func (m *ScaleStatus) Reset() { *m = ScaleStatus{} }
func (*ScaleStatus) ProtoMessage() {}
func (*ScaleStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} }
func (*ScaleStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} }
func (m *StatefulSet) Reset() { *m = StatefulSet{} }
func (*StatefulSet) ProtoMessage() {}
func (*StatefulSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} }
func (*StatefulSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} }
func (m *StatefulSetList) Reset() { *m = StatefulSetList{} }
func (*StatefulSetList) ProtoMessage() {}
func (*StatefulSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} }
func (*StatefulSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} }
func (m *StatefulSetSpec) Reset() { *m = StatefulSetSpec{} }
func (*StatefulSetSpec) ProtoMessage() {}
func (*StatefulSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} }
func (*StatefulSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} }
func (m *StatefulSetStatus) Reset() { *m = StatefulSetStatus{} }
func (*StatefulSetStatus) ProtoMessage() {}
func (*StatefulSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} }
func (*StatefulSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} }
func init() {
proto.RegisterType((*ControllerRevision)(nil), "k8s.io.kubernetes.pkg.apis.apps.v1beta1.ControllerRevision")
proto.RegisterType((*ControllerRevisionList)(nil), "k8s.io.kubernetes.pkg.apis.apps.v1beta1.ControllerRevisionList")
proto.RegisterType((*Deployment)(nil), "k8s.io.kubernetes.pkg.apis.apps.v1beta1.Deployment")
proto.RegisterType((*DeploymentCondition)(nil), "k8s.io.kubernetes.pkg.apis.apps.v1beta1.DeploymentCondition")
proto.RegisterType((*DeploymentList)(nil), "k8s.io.kubernetes.pkg.apis.apps.v1beta1.DeploymentList")
@ -153,6 +167,81 @@ func init() {
proto.RegisterType((*StatefulSetSpec)(nil), "k8s.io.kubernetes.pkg.apis.apps.v1beta1.StatefulSetSpec")
proto.RegisterType((*StatefulSetStatus)(nil), "k8s.io.kubernetes.pkg.apis.apps.v1beta1.StatefulSetStatus")
}
func (m *ControllerRevision) 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 *ControllerRevision) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size()))
n1, err := m.ObjectMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n1
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Data.Size()))
n2, err := m.Data.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n2
dAtA[i] = 0x18
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Revision))
return i, nil
}
func (m *ControllerRevisionList) 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 *ControllerRevisionList) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
n3, err := m.ListMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n3
if len(m.Items) > 0 {
for _, msg := range m.Items {
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 *Deployment) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@ -171,27 +260,27 @@ func (m *Deployment) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size()))
n1, err := m.ObjectMeta.MarshalTo(dAtA[i:])
n4, err := m.ObjectMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n1
i += n4
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size()))
n2, err := m.Spec.MarshalTo(dAtA[i:])
n5, err := m.Spec.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n2
i += n5
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size()))
n3, err := m.Status.MarshalTo(dAtA[i:])
n6, err := m.Status.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n3
i += n6
return i, nil
}
@ -229,19 +318,19 @@ func (m *DeploymentCondition) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x32
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.LastUpdateTime.Size()))
n4, err := m.LastUpdateTime.MarshalTo(dAtA[i:])
n7, err := m.LastUpdateTime.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n4
i += n7
dAtA[i] = 0x3a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size()))
n5, err := m.LastTransitionTime.MarshalTo(dAtA[i:])
n8, err := m.LastTransitionTime.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n5
i += n8
return i, nil
}
@ -263,11 +352,11 @@ func (m *DeploymentList) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
n6, err := m.ListMeta.MarshalTo(dAtA[i:])
n9, err := m.ListMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n6
i += n9
if len(m.Items) > 0 {
for _, msg := range m.Items {
dAtA[i] = 0x12
@ -322,11 +411,11 @@ func (m *DeploymentRollback) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.RollbackTo.Size()))
n7, err := m.RollbackTo.MarshalTo(dAtA[i:])
n10, err := m.RollbackTo.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n7
i += n10
return i, nil
}
@ -354,28 +443,28 @@ func (m *DeploymentSpec) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
n8, err := m.Selector.MarshalTo(dAtA[i:])
n11, err := m.Selector.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n8
i += n11
}
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size()))
n9, err := m.Template.MarshalTo(dAtA[i:])
n12, err := m.Template.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n9
i += n12
dAtA[i] = 0x22
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Strategy.Size()))
n10, err := m.Strategy.MarshalTo(dAtA[i:])
n13, err := m.Strategy.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n10
i += n13
dAtA[i] = 0x28
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.MinReadySeconds))
@ -396,11 +485,11 @@ func (m *DeploymentSpec) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x42
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.RollbackTo.Size()))
n11, err := m.RollbackTo.MarshalTo(dAtA[i:])
n14, err := m.RollbackTo.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n11
i += n14
}
if m.ProgressDeadlineSeconds != nil {
dAtA[i] = 0x48
@ -486,11 +575,11 @@ func (m *DeploymentStrategy) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.RollingUpdate.Size()))
n12, err := m.RollingUpdate.MarshalTo(dAtA[i:])
n15, err := m.RollingUpdate.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n12
i += n15
}
return i, nil
}
@ -535,21 +624,21 @@ func (m *RollingUpdateDeployment) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.MaxUnavailable.Size()))
n13, err := m.MaxUnavailable.MarshalTo(dAtA[i:])
n16, err := m.MaxUnavailable.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n13
i += n16
}
if m.MaxSurge != nil {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.MaxSurge.Size()))
n14, err := m.MaxSurge.MarshalTo(dAtA[i:])
n17, err := m.MaxSurge.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n14
i += n17
}
return i, nil
}
@ -572,27 +661,27 @@ func (m *Scale) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size()))
n15, err := m.ObjectMeta.MarshalTo(dAtA[i:])
n18, err := m.ObjectMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n15
i += n18
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size()))
n16, err := m.Spec.MarshalTo(dAtA[i:])
n19, err := m.Spec.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n16
i += n19
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size()))
n17, err := m.Status.MarshalTo(dAtA[i:])
n20, err := m.Status.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n17
i += n20
return i, nil
}
@ -677,27 +766,27 @@ func (m *StatefulSet) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size()))
n18, err := m.ObjectMeta.MarshalTo(dAtA[i:])
n21, err := m.ObjectMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n18
i += n21
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size()))
n19, err := m.Spec.MarshalTo(dAtA[i:])
n22, err := m.Spec.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n19
i += n22
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size()))
n20, err := m.Status.MarshalTo(dAtA[i:])
n23, err := m.Status.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n20
i += n23
return i, nil
}
@ -719,11 +808,11 @@ func (m *StatefulSetList) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
n21, err := m.ListMeta.MarshalTo(dAtA[i:])
n24, err := m.ListMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n21
i += n24
if len(m.Items) > 0 {
for _, msg := range m.Items {
dAtA[i] = 0x12
@ -763,20 +852,20 @@ func (m *StatefulSetSpec) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
n22, err := m.Selector.MarshalTo(dAtA[i:])
n25, err := m.Selector.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n22
i += n25
}
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size()))
n23, err := m.Template.MarshalTo(dAtA[i:])
n26, err := m.Template.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n23
i += n26
if len(m.VolumeClaimTemplates) > 0 {
for _, msg := range m.VolumeClaimTemplates {
dAtA[i] = 0x22
@ -853,6 +942,31 @@ func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
dAtA[offset] = uint8(v)
return offset + 1
}
func (m *ControllerRevision) Size() (n int) {
var l int
_ = l
l = m.ObjectMeta.Size()
n += 1 + l + sovGenerated(uint64(l))
l = m.Data.Size()
n += 1 + l + sovGenerated(uint64(l))
n += 1 + sovGenerated(uint64(m.Revision))
return n
}
func (m *ControllerRevisionList) Size() (n int) {
var l int
_ = l
l = m.ListMeta.Size()
n += 1 + l + sovGenerated(uint64(l))
if len(m.Items) > 0 {
for _, e := range m.Items {
l = e.Size()
n += 1 + l + sovGenerated(uint64(l))
}
}
return n
}
func (m *Deployment) Size() (n int) {
var l int
_ = l
@ -1108,6 +1222,29 @@ func sovGenerated(x uint64) (n int) {
func sozGenerated(x uint64) (n int) {
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *ControllerRevision) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&ControllerRevision{`,
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Data:` + strings.Replace(strings.Replace(this.Data.String(), "RawExtension", "k8s_io_apimachinery_pkg_runtime.RawExtension", 1), `&`, ``, 1) + `,`,
`Revision:` + fmt.Sprintf("%v", this.Revision) + `,`,
`}`,
}, "")
return s
}
func (this *ControllerRevisionList) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&ControllerRevisionList{`,
`ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`,
`Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ControllerRevision", "ControllerRevision", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *Deployment) String() string {
if this == nil {
return "nil"
@ -1336,6 +1473,246 @@ func valueToStringGenerated(v interface{}) string {
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
func (m *ControllerRevision) 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: ControllerRevision: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: ControllerRevision: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthGenerated
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthGenerated
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if err := m.Data.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 3:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Revision", wireType)
}
m.Revision = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.Revision |= (int64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
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 *ControllerRevisionList) 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: ControllerRevisionList: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: ControllerRevisionList: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthGenerated
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Items", 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.Items = append(m.Items, ControllerRevision{})
if err := m.Items[len(m.Items)-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 *Deployment) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@ -3920,105 +4297,109 @@ func init() {
}
var fileDescriptorGenerated = []byte{
// 1585 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0xcd, 0x6f, 0x1b, 0xb7,
0x12, 0xf7, 0xda, 0x92, 0x2d, 0xd3, 0xb1, 0x1c, 0xd3, 0x7e, 0xb1, 0x9e, 0xf3, 0x20, 0x07, 0x3a,
0xe4, 0xe3, 0x21, 0x59, 0xbd, 0x38, 0x79, 0xf9, 0xb0, 0x8b, 0xa0, 0x96, 0x93, 0xa6, 0x29, 0xec,
0xc6, 0xa0, 0xec, 0xa0, 0x49, 0x53, 0xa0, 0xd4, 0x8a, 0x59, 0x33, 0xde, 0x2f, 0x2c, 0x29, 0x21,
0xba, 0xf5, 0xd2, 0x43, 0x81, 0x1e, 0xfa, 0x0f, 0x14, 0xed, 0xb9, 0x28, 0xd0, 0x7f, 0xc3, 0x68,
0x2f, 0x41, 0x4f, 0x45, 0x0f, 0x46, 0xed, 0xfc, 0x17, 0x39, 0x15, 0xe4, 0x72, 0xbf, 0xb4, 0x92,
0x2d, 0xab, 0x68, 0x2e, 0xbd, 0x69, 0x39, 0xf3, 0xfb, 0xcd, 0x90, 0x9c, 0x19, 0xce, 0x08, 0xdc,
0xde, 0xbb, 0xc3, 0x74, 0xea, 0x56, 0xf7, 0x5a, 0x0d, 0xe2, 0x3b, 0x84, 0x13, 0x56, 0xf5, 0xf6,
0xcc, 0x2a, 0xf6, 0x28, 0xab, 0x62, 0xcf, 0x63, 0xd5, 0xf6, 0xf5, 0x06, 0xe1, 0xf8, 0x7a, 0xd5,
0x24, 0x0e, 0xf1, 0x31, 0x27, 0x4d, 0xdd, 0xf3, 0x5d, 0xee, 0xc2, 0x4b, 0x01, 0x50, 0x8f, 0x81,
0xba, 0xb7, 0x67, 0xea, 0x02, 0xa8, 0x0b, 0xa0, 0xae, 0x80, 0x8b, 0xd7, 0x4c, 0xca, 0x77, 0x5b,
0x0d, 0xdd, 0x70, 0xed, 0xaa, 0xe9, 0x9a, 0x6e, 0x55, 0xe2, 0x1b, 0xad, 0x17, 0xf2, 0x4b, 0x7e,
0xc8, 0x5f, 0x01, 0xef, 0xe2, 0x4d, 0xe5, 0x10, 0xf6, 0xa8, 0x8d, 0x8d, 0x5d, 0xea, 0x10, 0xbf,
0x13, 0xbb, 0x64, 0x13, 0x8e, 0xab, 0xed, 0x8c, 0x37, 0x8b, 0xd5, 0x7e, 0x28, 0xbf, 0xe5, 0x70,
0x6a, 0x93, 0x0c, 0xe0, 0xd6, 0x49, 0x00, 0x66, 0xec, 0x12, 0x1b, 0x67, 0x70, 0x37, 0xfa, 0xe1,
0x5a, 0x9c, 0x5a, 0x55, 0xea, 0x70, 0xc6, 0xfd, 0x0c, 0x28, 0xb1, 0x27, 0x46, 0xfc, 0x36, 0xf1,
0xe3, 0x0d, 0x91, 0x57, 0xd8, 0xf6, 0x2c, 0xd2, 0x6b, 0x4f, 0x57, 0xfb, 0x5e, 0x4d, 0x2f, 0xed,
0xbb, 0xc7, 0x5c, 0xa4, 0xe7, 0x5a, 0xd4, 0xe8, 0xf4, 0xbb, 0xca, 0xca, 0x8f, 0xa3, 0x00, 0xdc,
0x27, 0x9e, 0xe5, 0x76, 0x6c, 0xe2, 0x70, 0xf8, 0x39, 0x28, 0x88, 0x63, 0x6e, 0x62, 0x8e, 0x4b,
0xda, 0x05, 0xed, 0xf2, 0xd4, 0xf2, 0xff, 0x74, 0x75, 0xd9, 0xc9, 0x5d, 0xc7, 0xd7, 0x2d, 0xb4,
0xf5, 0xf6, 0x75, 0xfd, 0x71, 0xe3, 0x25, 0x31, 0xf8, 0x26, 0xe1, 0xb8, 0x06, 0xf7, 0x0f, 0x96,
0x46, 0x8e, 0x0e, 0x96, 0x40, 0xbc, 0x86, 0x22, 0x56, 0xf8, 0x14, 0xe4, 0x98, 0x47, 0x8c, 0xd2,
0xa8, 0x64, 0xbf, 0xad, 0x0f, 0x18, 0x4a, 0x7a, 0xec, 0x64, 0xdd, 0x23, 0x46, 0xed, 0x8c, 0x32,
0x92, 0x13, 0x5f, 0x48, 0x52, 0x42, 0x0c, 0xc6, 0x19, 0xc7, 0xbc, 0xc5, 0x4a, 0x63, 0x92, 0xfc,
0xee, 0x30, 0xe4, 0x92, 0xa0, 0x56, 0x54, 0xf4, 0xe3, 0xc1, 0x37, 0x52, 0xc4, 0x95, 0xc3, 0x31,
0x30, 0x17, 0x2b, 0xaf, 0xbb, 0x4e, 0x93, 0x72, 0xea, 0x3a, 0x70, 0x15, 0xe4, 0x78, 0xc7, 0x23,
0xf2, 0xcc, 0x26, 0x6b, 0x97, 0x42, 0xe7, 0xb6, 0x3b, 0x1e, 0x79, 0x7b, 0xb0, 0xb4, 0xd0, 0x03,
0x22, 0x44, 0x48, 0x82, 0xe0, 0x93, 0xc8, 0xef, 0x51, 0x09, 0xbf, 0x97, 0x36, 0xfe, 0xf6, 0x60,
0xe9, 0xd8, 0x70, 0xd0, 0x23, 0xce, 0xb4, 0xb3, 0xf0, 0x22, 0x18, 0xf7, 0x09, 0x66, 0xae, 0x53,
0xca, 0x49, 0xde, 0x68, 0x53, 0x48, 0xae, 0x22, 0x25, 0x85, 0x57, 0xc0, 0x84, 0x4d, 0x18, 0xc3,
0x26, 0x29, 0xe5, 0xa5, 0xe2, 0x8c, 0x52, 0x9c, 0xd8, 0x0c, 0x96, 0x51, 0x28, 0x87, 0x2f, 0x41,
0xd1, 0xc2, 0x8c, 0xef, 0x78, 0x4d, 0xcc, 0xc9, 0x36, 0xb5, 0x49, 0x69, 0x5c, 0x1e, 0xf5, 0x7f,
0x07, 0x8b, 0x12, 0x81, 0xa8, 0x9d, 0x53, 0xec, 0xc5, 0x8d, 0x14, 0x13, 0xea, 0x62, 0x86, 0x6d,
0x00, 0xc5, 0xca, 0xb6, 0x8f, 0x1d, 0x16, 0x1c, 0x99, 0xb0, 0x37, 0x71, 0x6a, 0x7b, 0x8b, 0xca,
0x1e, 0xdc, 0xc8, 0xb0, 0xa1, 0x1e, 0x16, 0x2a, 0xfb, 0x1a, 0x28, 0xc6, 0x17, 0xb6, 0x41, 0x19,
0x87, 0xcf, 0x33, 0x69, 0xa1, 0x0f, 0xe6, 0x80, 0x40, 0xcb, 0xa4, 0x38, 0xab, 0x9c, 0x28, 0x84,
0x2b, 0x89, 0x94, 0xf8, 0x04, 0xe4, 0x29, 0x27, 0xb6, 0xb8, 0xfe, 0xb1, 0xcb, 0x53, 0xcb, 0x37,
0x86, 0x08, 0xdb, 0xda, 0xb4, 0xe2, 0xcf, 0x3f, 0x12, 0x4c, 0x28, 0x20, 0xac, 0x7c, 0x3d, 0x06,
0x60, 0xac, 0x84, 0x5c, 0xcb, 0x6a, 0x60, 0x63, 0x0f, 0x5e, 0x00, 0x39, 0x07, 0xdb, 0x61, 0xb4,
0x46, 0xa9, 0xf4, 0x31, 0xb6, 0x09, 0x92, 0x12, 0xf8, 0x9d, 0x06, 0x60, 0x4b, 0x5e, 0x45, 0x73,
0xcd, 0x71, 0x5c, 0x8e, 0xc5, 0xe9, 0x84, 0x0e, 0xd6, 0x87, 0x70, 0x30, 0xb4, 0xad, 0xef, 0x64,
0x58, 0x1f, 0x38, 0xdc, 0xef, 0xc4, 0xb7, 0x94, 0x55, 0x40, 0x3d, 0x5c, 0x81, 0x7b, 0x00, 0xf8,
0x8a, 0x73, 0xdb, 0x55, 0x09, 0x3f, 0x78, 0x35, 0x09, 0xdd, 0x59, 0x77, 0x9d, 0x17, 0xd4, 0x8c,
0x4b, 0x16, 0x8a, 0x28, 0x51, 0x82, 0x7e, 0xf1, 0x01, 0x58, 0xe8, 0xe3, 0x37, 0x3c, 0x0b, 0xc6,
0xf6, 0x48, 0x27, 0x38, 0x4a, 0x24, 0x7e, 0xc2, 0x79, 0x90, 0x6f, 0x63, 0xab, 0x45, 0x82, 0x6c,
0x46, 0xc1, 0xc7, 0xca, 0xe8, 0x1d, 0xad, 0xf2, 0x7b, 0x3e, 0x19, 0x59, 0xa2, 0x72, 0xc1, 0xcb,
0xa0, 0xe0, 0x13, 0xcf, 0xa2, 0x06, 0x66, 0x92, 0x23, 0x5f, 0x3b, 0x23, 0xa2, 0x04, 0xa9, 0x35,
0x14, 0x49, 0xe1, 0x67, 0xa0, 0xc0, 0x88, 0x45, 0x0c, 0xee, 0xfa, 0xaa, 0x78, 0xde, 0x18, 0x30,
0x06, 0x71, 0x83, 0x58, 0x75, 0x05, 0x0d, 0xe8, 0xc3, 0x2f, 0x14, 0x51, 0xc2, 0x4f, 0x41, 0x81,
0x13, 0xdb, 0xb3, 0x30, 0x27, 0xea, 0x34, 0xaf, 0xf5, 0x3f, 0x4d, 0x41, 0xbb, 0xe5, 0x36, 0xb7,
0x15, 0x40, 0x56, 0xe4, 0x28, 0xc2, 0xc3, 0x55, 0x14, 0x11, 0x42, 0x0a, 0x0a, 0x8c, 0x8b, 0x67,
0xc7, 0xec, 0xc8, 0x5a, 0x34, 0xb5, 0xbc, 0x3a, 0x54, 0x6d, 0x0e, 0x28, 0x62, 0x53, 0xe1, 0x0a,
0x8a, 0xe8, 0xe1, 0x1a, 0x98, 0xb1, 0xa9, 0x83, 0x08, 0x6e, 0x76, 0xea, 0xc4, 0x70, 0x9d, 0x26,
0x93, 0x45, 0x2d, 0x5f, 0x5b, 0x50, 0xa0, 0x99, 0xcd, 0xb4, 0x18, 0x75, 0xeb, 0xc3, 0x0d, 0x30,
0xef, 0x93, 0x36, 0x65, 0xd4, 0x75, 0x3e, 0xa4, 0x8c, 0xbb, 0x7e, 0x67, 0x83, 0xda, 0x94, 0xcb,
0x52, 0x97, 0xaf, 0x95, 0x8e, 0x0e, 0x96, 0xe6, 0x51, 0x0f, 0x39, 0xea, 0x89, 0x12, 0x55, 0xd8,
0xc3, 0x2d, 0x46, 0x9a, 0xb2, 0x74, 0x15, 0xe2, 0x2a, 0xbc, 0x25, 0x57, 0x91, 0x92, 0x42, 0x33,
0x15, 0xd0, 0x85, 0xbf, 0x16, 0xd0, 0xc5, 0xfe, 0xc1, 0x0c, 0x77, 0xc0, 0x82, 0xe7, 0xbb, 0xa6,
0x4f, 0x18, 0xbb, 0x4f, 0x70, 0xd3, 0xa2, 0x0e, 0x09, 0x4f, 0x6a, 0x52, 0xee, 0xf0, 0xfc, 0xd1,
0xc1, 0xd2, 0xc2, 0x56, 0x6f, 0x15, 0xd4, 0x0f, 0x5b, 0xf9, 0x35, 0x07, 0xce, 0x76, 0xbf, 0xa3,
0xf0, 0x23, 0x00, 0xdd, 0x86, 0xec, 0x7b, 0x9a, 0x0f, 0x83, 0xce, 0x83, 0xba, 0x8e, 0x0c, 0xf4,
0xb1, 0x38, 0xe3, 0x1f, 0x67, 0x34, 0x50, 0x0f, 0x14, 0xbc, 0x9a, 0x48, 0x95, 0x51, 0xe9, 0x68,
0x14, 0x07, 0x3d, 0xd2, 0x65, 0x0d, 0xcc, 0xa8, 0xaa, 0x11, 0x0a, 0x65, 0x58, 0x27, 0xe2, 0x60,
0x27, 0x2d, 0x46, 0xdd, 0xfa, 0xf0, 0x21, 0x98, 0xc5, 0x6d, 0x4c, 0x2d, 0xdc, 0xb0, 0x48, 0x44,
0x92, 0x93, 0x24, 0xff, 0x56, 0x24, 0xb3, 0x6b, 0xdd, 0x0a, 0x28, 0x8b, 0x81, 0x9b, 0x60, 0xae,
0xe5, 0x64, 0xa9, 0x82, 0xb8, 0x3c, 0xaf, 0xa8, 0xe6, 0x76, 0xb2, 0x2a, 0xa8, 0x17, 0x0e, 0x7a,
0x00, 0x18, 0xe1, 0x93, 0xcf, 0x4a, 0xe3, 0xb2, 0x26, 0xbf, 0x37, 0x44, 0x3e, 0x45, 0x7d, 0x43,
0x5c, 0xff, 0xa2, 0x25, 0x86, 0x12, 0x36, 0xe0, 0x2a, 0x98, 0xf6, 0x45, 0x86, 0x44, 0xae, 0x4f,
0x48, 0xd7, 0xff, 0xa5, 0x60, 0xd3, 0x28, 0x29, 0x44, 0x69, 0x5d, 0xb8, 0x02, 0x8a, 0x86, 0x6b,
0x59, 0x32, 0x33, 0xd6, 0xdd, 0x96, 0xc3, 0x65, 0x70, 0x8f, 0xd5, 0xa0, 0xe8, 0x01, 0xd6, 0x53,
0x12, 0xd4, 0xa5, 0x59, 0xf9, 0x45, 0x4b, 0x3e, 0x60, 0x61, 0xba, 0xc3, 0x95, 0x54, 0xbb, 0x75,
0xb1, 0xab, 0xdd, 0x3a, 0x97, 0x45, 0x24, 0xba, 0xad, 0x0e, 0x98, 0x16, 0xc9, 0x40, 0x1d, 0x33,
0x08, 0x00, 0x55, 0x4c, 0xdf, 0x3f, 0x55, 0xaa, 0x45, 0xe8, 0xc4, 0x13, 0x3c, 0x2b, 0x4f, 0x22,
0x29, 0x44, 0x69, 0x4b, 0x95, 0x7b, 0xa0, 0x98, 0xce, 0xd3, 0x20, 0xa6, 0x83, 0xa2, 0xa1, 0xb2,
0x22, 0x11, 0xd3, 0xc1, 0x3a, 0x8a, 0x34, 0x2a, 0x6f, 0x34, 0xb0, 0xd0, 0xc7, 0x3a, 0xb4, 0x40,
0xd1, 0xc6, 0xaf, 0x12, 0x31, 0x74, 0x62, 0xff, 0x2e, 0xa6, 0x16, 0x3d, 0x98, 0x5a, 0xf4, 0x47,
0x0e, 0x7f, 0xec, 0xd7, 0xb9, 0x4f, 0x1d, 0x33, 0xb8, 0x97, 0xcd, 0x14, 0x17, 0xea, 0xe2, 0x86,
0xcf, 0x40, 0xc1, 0xc6, 0xaf, 0xea, 0x2d, 0xdf, 0x0c, 0xcf, 0xef, 0xf4, 0x76, 0xe4, 0x4b, 0xb4,
0xa9, 0x58, 0x50, 0xc4, 0x57, 0xf9, 0x76, 0x14, 0xe4, 0xeb, 0x06, 0xb6, 0xc8, 0x3b, 0x98, 0x46,
0xb6, 0x53, 0xd3, 0xc8, 0xf2, 0xc0, 0x31, 0x20, 0xfd, 0xeb, 0x3b, 0x88, 0x3c, 0xef, 0x1a, 0x44,
0x6e, 0x9e, 0x92, 0xf7, 0xf8, 0x19, 0xe4, 0x2e, 0x98, 0x8c, 0xcc, 0xa7, 0x8a, 0xa2, 0x76, 0x52,
0x51, 0xac, 0xfc, 0x30, 0x0a, 0xa6, 0x12, 0x26, 0x4e, 0x87, 0x86, 0x5e, 0xaa, 0x03, 0x11, 0x55,
0xa7, 0x36, 0xcc, 0xc6, 0xf4, 0xb0, 0xfb, 0x08, 0x1a, 0xbf, 0xf8, 0x31, 0xcf, 0x36, 0x25, 0xf7,
0x40, 0x91, 0x63, 0xdf, 0x24, 0x3c, 0x94, 0xc9, 0x03, 0x9d, 0x8c, 0x47, 0x88, 0xed, 0x94, 0x14,
0x75, 0x69, 0x2f, 0xae, 0x82, 0xe9, 0x94, 0xb1, 0x53, 0x75, 0x6b, 0x3f, 0x89, 0xc3, 0xe2, 0x98,
0x93, 0x17, 0x2d, 0xab, 0x4e, 0xde, 0xc5, 0x6c, 0xfc, 0x2c, 0x15, 0x8d, 0x77, 0x06, 0x3f, 0xdc,
0xd8, 0xcb, 0xbe, 0x31, 0xd9, 0xe8, 0x8a, 0xc9, 0x95, 0xa1, 0xd8, 0x8f, 0x8f, 0xcc, 0x9f, 0x35,
0x30, 0x93, 0xd0, 0x7e, 0x07, 0xa3, 0xd3, 0xd3, 0xf4, 0xe8, 0x74, 0x73, 0x98, 0x4d, 0xf5, 0x99,
0x9d, 0xbe, 0xcf, 0xa5, 0x36, 0xf3, 0x0f, 0xea, 0xd6, 0xbf, 0xd4, 0xc0, 0x7c, 0xdb, 0xb5, 0x5a,
0x36, 0x59, 0xb7, 0x30, 0xb5, 0x43, 0x0d, 0xd1, 0xfb, 0x9c, 0x30, 0x9f, 0x4a, 0x4b, 0xc4, 0x67,
0x94, 0x71, 0xe2, 0xf0, 0x27, 0x31, 0x47, 0xed, 0x3f, 0xca, 0xde, 0xfc, 0x93, 0x1e, 0xc4, 0xa8,
0xa7, 0x39, 0xf8, 0x7f, 0x30, 0x25, 0x9a, 0x40, 0x6a, 0x10, 0x31, 0x99, 0xaa, 0xff, 0x26, 0xe6,
0x14, 0xd1, 0x54, 0x3d, 0x16, 0xa1, 0xa4, 0x1e, 0xdc, 0x05, 0x73, 0x9e, 0xdb, 0xdc, 0xc4, 0x0e,
0x36, 0x89, 0x78, 0x1a, 0xb7, 0xe4, 0x3f, 0x60, 0xb2, 0x7b, 0x9f, 0xac, 0xdd, 0x0a, 0xbb, 0xad,
0xad, 0xac, 0xca, 0x5b, 0xd1, 0xf6, 0x66, 0x97, 0x65, 0xef, 0xd0, 0x8b, 0xb2, 0xf2, 0x95, 0x06,
0x66, 0x33, 0xd9, 0x01, 0x3f, 0x38, 0xa6, 0xe7, 0x3d, 0xf7, 0x77, 0xf5, 0xbb, 0xb5, 0x2b, 0xfb,
0x87, 0xe5, 0x91, 0xd7, 0x87, 0xe5, 0x91, 0xdf, 0x0e, 0xcb, 0x23, 0x5f, 0x1c, 0x95, 0xb5, 0xfd,
0xa3, 0xb2, 0xf6, 0xfa, 0xa8, 0xac, 0xfd, 0x71, 0x54, 0xd6, 0xbe, 0x79, 0x53, 0x1e, 0x79, 0x36,
0xa1, 0x62, 0xff, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf2, 0xdb, 0x2f, 0x40, 0xf8, 0x15, 0x00,
0x00,
// 1663 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0xcd, 0x4f, 0x5b, 0xc7,
0x16, 0xe7, 0x1a, 0x1b, 0xcc, 0x10, 0x4c, 0x18, 0x78, 0xe0, 0x47, 0x9e, 0x0c, 0xf2, 0x22, 0x21,
0x4f, 0xc9, 0xf5, 0x0b, 0xc9, 0xcb, 0x07, 0x54, 0x51, 0x31, 0x49, 0xd3, 0x54, 0x50, 0xd0, 0x18,
0xa2, 0x26, 0x4d, 0xa5, 0x8c, 0xaf, 0x27, 0x97, 0x1b, 0xee, 0x97, 0xee, 0x8c, 0x5d, 0xbc, 0xeb,
0xa6, 0x8b, 0x4a, 0x5d, 0xf4, 0x1f, 0xa8, 0xda, 0x75, 0x55, 0xa9, 0xff, 0x06, 0x6a, 0x37, 0x51,
0x57, 0x51, 0x17, 0xa8, 0x90, 0xbf, 0xa1, 0x9b, 0xac, 0xaa, 0x99, 0x3b, 0xf7, 0xcb, 0xd7, 0x06,
0x43, 0x55, 0x36, 0xdd, 0xf9, 0xce, 0x39, 0xe7, 0x77, 0xce, 0x99, 0xf3, 0x31, 0xe7, 0x18, 0xdc,
0xd9, 0xbd, 0x4b, 0x55, 0xc3, 0xa9, 0xec, 0x36, 0xeb, 0xc4, 0xb3, 0x09, 0x23, 0xb4, 0xe2, 0xee,
0xea, 0x15, 0xec, 0x1a, 0xb4, 0x82, 0x5d, 0x97, 0x56, 0x5a, 0x37, 0xea, 0x84, 0xe1, 0x1b, 0x15,
0x9d, 0xd8, 0xc4, 0xc3, 0x8c, 0x34, 0x54, 0xd7, 0x73, 0x98, 0x03, 0xaf, 0xf8, 0x82, 0x6a, 0x24,
0xa8, 0xba, 0xbb, 0xba, 0xca, 0x05, 0x55, 0x2e, 0xa8, 0x4a, 0xc1, 0xd9, 0xeb, 0xba, 0xc1, 0x76,
0x9a, 0x75, 0x55, 0x73, 0xac, 0x8a, 0xee, 0xe8, 0x4e, 0x45, 0xc8, 0xd7, 0x9b, 0x2f, 0xc5, 0x97,
0xf8, 0x10, 0xbf, 0x7c, 0xdc, 0xd9, 0x5b, 0xd2, 0x20, 0xec, 0x1a, 0x16, 0xd6, 0x76, 0x0c, 0x9b,
0x78, 0xed, 0xc8, 0x24, 0x8b, 0x30, 0x5c, 0x69, 0xa5, 0xac, 0x99, 0xad, 0xf4, 0x92, 0xf2, 0x9a,
0x36, 0x33, 0x2c, 0x92, 0x12, 0xb8, 0x7d, 0x92, 0x00, 0xd5, 0x76, 0x88, 0x85, 0x53, 0x72, 0x37,
0x7b, 0xc9, 0x35, 0x99, 0x61, 0x56, 0x0c, 0x9b, 0x51, 0xe6, 0xa5, 0x84, 0x62, 0x3e, 0x51, 0xe2,
0xb5, 0x88, 0x17, 0x39, 0x44, 0xf6, 0xb0, 0xe5, 0x9a, 0xa4, 0x9b, 0x4f, 0xd7, 0x7a, 0x86, 0xa6,
0x1b, 0xf7, 0xbd, 0x63, 0x02, 0xe9, 0x3a, 0xa6, 0xa1, 0xb5, 0x7b, 0x85, 0xb2, 0xfc, 0x87, 0x02,
0xe0, 0xaa, 0x63, 0x33, 0xcf, 0x31, 0x4d, 0xe2, 0x21, 0xd2, 0x32, 0xa8, 0xe1, 0xd8, 0xf0, 0x05,
0xc8, 0xf3, 0xeb, 0x6e, 0x60, 0x86, 0x8b, 0xca, 0xbc, 0xb2, 0x30, 0xba, 0xf8, 0x3f, 0x55, 0x06,
0x3d, 0xee, 0x7d, 0x14, 0x76, 0xce, 0xad, 0xb6, 0x6e, 0xa8, 0x1b, 0xf5, 0x57, 0x44, 0x63, 0xeb,
0x84, 0xe1, 0x2a, 0xdc, 0x3f, 0x98, 0x1b, 0x38, 0x3a, 0x98, 0x03, 0xd1, 0x19, 0x0a, 0x51, 0xe1,
0x06, 0xc8, 0x0a, 0xf4, 0x8c, 0x40, 0xbf, 0xde, 0x13, 0x5d, 0xc6, 0x44, 0x45, 0xf8, 0xf3, 0x87,
0x7b, 0x8c, 0xd8, 0xdc, 0xbc, 0xea, 0x05, 0x09, 0x9d, 0x7d, 0x80, 0x19, 0x46, 0x02, 0x08, 0x5e,
0x03, 0x79, 0x4f, 0x9a, 0x5f, 0x1c, 0x9c, 0x57, 0x16, 0x06, 0xab, 0x17, 0x25, 0x57, 0x3e, 0x70,
0x0b, 0x85, 0x1c, 0xe5, 0x37, 0x0a, 0x98, 0x4e, 0xfb, 0xbd, 0x66, 0x50, 0x06, 0x9f, 0xa7, 0x7c,
0x57, 0xfb, 0xf3, 0x9d, 0x4b, 0x0b, 0xcf, 0x43, 0xc5, 0xc1, 0x49, 0xcc, 0xef, 0x17, 0x20, 0x67,
0x30, 0x62, 0xd1, 0x62, 0x66, 0x7e, 0x70, 0x61, 0x74, 0x71, 0x59, 0xed, 0xb3, 0x96, 0xd4, 0xb4,
0xb5, 0xd5, 0x31, 0xa9, 0x27, 0xf7, 0x98, 0x23, 0x22, 0x1f, 0xb8, 0xfc, 0x63, 0x06, 0x80, 0x07,
0xc4, 0x35, 0x9d, 0xb6, 0x45, 0x6c, 0x76, 0x0e, 0xa1, 0x7c, 0x0a, 0xb2, 0xd4, 0x25, 0x9a, 0x0c,
0xe5, 0x9d, 0xbe, 0x3d, 0x8a, 0x8c, 0xac, 0xb9, 0x44, 0x8b, 0x82, 0xca, 0xbf, 0x90, 0x80, 0x84,
0x18, 0x0c, 0x51, 0x86, 0x59, 0x93, 0x8a, 0x90, 0x8e, 0x2e, 0xde, 0x3b, 0x0b, 0xb8, 0x00, 0xa8,
0x16, 0x24, 0xfc, 0x90, 0xff, 0x8d, 0x24, 0x70, 0xf9, 0x70, 0x10, 0x4c, 0x46, 0xcc, 0xab, 0x8e,
0xdd, 0x30, 0x18, 0x2f, 0x81, 0x65, 0x90, 0x65, 0x6d, 0x97, 0x88, 0x3b, 0x1b, 0xa9, 0x5e, 0x09,
0x8c, 0xdb, 0x6a, 0xbb, 0xe4, 0xdd, 0xc1, 0xdc, 0x4c, 0x17, 0x11, 0x4e, 0x42, 0x42, 0x08, 0x3e,
0x09, 0xed, 0xce, 0x08, 0xf1, 0xfb, 0x49, 0xe5, 0xef, 0x0e, 0xe6, 0x8e, 0xad, 0x70, 0x35, 0xc4,
0x4c, 0x1a, 0x0b, 0x2f, 0x83, 0x21, 0x8f, 0x60, 0xea, 0xd8, 0xc5, 0xac, 0xc0, 0x0d, 0x9d, 0x42,
0xe2, 0x14, 0x49, 0x2a, 0xbc, 0x0a, 0x86, 0x2d, 0x42, 0x29, 0xd6, 0x49, 0x31, 0x27, 0x18, 0xc7,
0x25, 0xe3, 0xf0, 0xba, 0x7f, 0x8c, 0x02, 0x3a, 0x7c, 0x05, 0x0a, 0x26, 0xa6, 0x6c, 0xdb, 0x6d,
0x60, 0x46, 0xb6, 0x0c, 0x8b, 0x14, 0x87, 0xc4, 0x55, 0xff, 0xb7, 0xbf, 0x2c, 0xe1, 0x12, 0xd5,
0x69, 0x89, 0x5e, 0x58, 0x4b, 0x20, 0xa1, 0x0e, 0x64, 0xd8, 0x02, 0x90, 0x9f, 0x6c, 0x79, 0xd8,
0xa6, 0xfe, 0x95, 0x71, 0x7d, 0xc3, 0xa7, 0xd6, 0x37, 0x2b, 0xf5, 0xc1, 0xb5, 0x14, 0x1a, 0xea,
0xa2, 0xa1, 0xbc, 0xaf, 0x80, 0x42, 0x14, 0xb0, 0x73, 0xa8, 0xf2, 0x4f, 0x92, 0x55, 0x7e, 0xf3,
0x0c, 0x69, 0xdb, 0xa3, 0xba, 0xbf, 0x1e, 0x04, 0x30, 0x62, 0x42, 0x8e, 0x69, 0xd6, 0xb1, 0xb6,
0x0b, 0xe7, 0x41, 0xd6, 0xc6, 0x56, 0x90, 0xad, 0x61, 0x29, 0x7d, 0x8c, 0x2d, 0x82, 0x04, 0x05,
0x7e, 0xa7, 0x00, 0xd8, 0x14, 0xa1, 0x68, 0xac, 0xd8, 0xb6, 0xc3, 0x30, 0xbf, 0x9d, 0xc0, 0xc0,
0xda, 0x19, 0x0c, 0x0c, 0x74, 0xab, 0xdb, 0x29, 0xd4, 0x87, 0x36, 0xf3, 0xda, 0x51, 0x94, 0xd2,
0x0c, 0xa8, 0x8b, 0x29, 0x70, 0x17, 0x00, 0x4f, 0x62, 0x6e, 0x39, 0xb2, 0xe0, 0xfb, 0xef, 0x26,
0x81, 0x39, 0xab, 0x8e, 0xfd, 0xd2, 0xd0, 0xa3, 0x96, 0x85, 0x42, 0x48, 0x14, 0x83, 0x9f, 0x7d,
0x08, 0x66, 0x7a, 0xd8, 0x0d, 0x2f, 0x82, 0xc1, 0x5d, 0xd2, 0xf6, 0xaf, 0x12, 0xf1, 0x9f, 0x70,
0x0a, 0xe4, 0x5a, 0xd8, 0x6c, 0x12, 0xbf, 0x9a, 0x91, 0xff, 0xb1, 0x94, 0xb9, 0xab, 0x94, 0x7f,
0xcb, 0xc5, 0x33, 0x8b, 0x77, 0x2e, 0xb8, 0xc0, 0x1f, 0x22, 0xd7, 0x34, 0x34, 0x4c, 0x05, 0x46,
0xae, 0x7a, 0xc1, 0x7f, 0x84, 0xfc, 0x33, 0x14, 0x52, 0xe1, 0x67, 0x20, 0x4f, 0x89, 0x49, 0x34,
0xe6, 0x78, 0xb2, 0x79, 0xde, 0xec, 0x33, 0x07, 0x71, 0x9d, 0x98, 0x35, 0x29, 0xea, 0xc3, 0x07,
0x5f, 0x28, 0x84, 0x84, 0x9f, 0x82, 0x3c, 0x23, 0x96, 0x6b, 0x62, 0x46, 0xe4, 0x6d, 0x5e, 0xef,
0x7d, 0x9b, 0x1c, 0x76, 0xd3, 0x69, 0x6c, 0x49, 0x01, 0xd1, 0x91, 0xc3, 0x0c, 0x0f, 0x4e, 0x51,
0x08, 0x08, 0x0d, 0x90, 0xa7, 0x8c, 0x4f, 0x12, 0x7a, 0x5b, 0xf4, 0xa2, 0xd3, 0x3c, 0x65, 0xf1,
0xde, 0xec, 0x43, 0x44, 0xaa, 0x82, 0x13, 0x14, 0xc2, 0xc3, 0x15, 0x30, 0x6e, 0x19, 0x36, 0x22,
0xb8, 0xd1, 0xae, 0x11, 0xcd, 0xb1, 0x1b, 0x54, 0x34, 0xb5, 0x5c, 0x75, 0x46, 0x0a, 0x8d, 0xaf,
0x27, 0xc9, 0xa8, 0x93, 0x1f, 0xae, 0x81, 0xa9, 0xe0, 0xe9, 0xff, 0xd0, 0xa0, 0xcc, 0xf1, 0xda,
0x6b, 0x86, 0x65, 0x30, 0xd1, 0xea, 0x72, 0xd5, 0xe2, 0xd1, 0xc1, 0xdc, 0x14, 0xea, 0x42, 0x47,
0x5d, 0xa5, 0x78, 0x17, 0x76, 0x71, 0x93, 0x92, 0x86, 0x68, 0x5d, 0xf9, 0xa8, 0x0b, 0x6f, 0x8a,
0x53, 0x24, 0xa9, 0x50, 0x4f, 0x24, 0x74, 0xfe, 0xaf, 0x25, 0x74, 0xa1, 0x77, 0x32, 0xc3, 0x6d,
0x30, 0xe3, 0x7a, 0x8e, 0xee, 0x11, 0x4a, 0x1f, 0x10, 0xdc, 0x30, 0x0d, 0x9b, 0x04, 0x37, 0x35,
0x22, 0x3c, 0xbc, 0x74, 0x74, 0x30, 0x37, 0xb3, 0xd9, 0x9d, 0x05, 0xf5, 0x92, 0x2d, 0xff, 0x9a,
0x05, 0x17, 0x3b, 0xdf, 0x51, 0xf8, 0x11, 0x80, 0x4e, 0x5d, 0x8c, 0xb2, 0x8d, 0x47, 0xfe, 0x30,
0xc9, 0x27, 0x2e, 0x45, 0x4c, 0x5c, 0x61, 0xc5, 0x6f, 0xa4, 0x38, 0x50, 0x17, 0x29, 0x7f, 0x66,
0x93, 0xa5, 0x92, 0x11, 0x86, 0xc6, 0x66, 0xb6, 0x54, 0xb9, 0xac, 0x80, 0x71, 0xd9, 0x35, 0x02,
0xa2, 0x48, 0xeb, 0x58, 0x1e, 0x6c, 0x27, 0xc9, 0xa8, 0x93, 0x1f, 0x3e, 0x02, 0x13, 0xb8, 0x85,
0x0d, 0x13, 0xd7, 0x4d, 0x12, 0x82, 0x64, 0x05, 0xc8, 0xbf, 0x25, 0xc8, 0xc4, 0x4a, 0x27, 0x03,
0x4a, 0xcb, 0xc0, 0x75, 0x30, 0xd9, 0xb4, 0xd3, 0x50, 0x7e, 0x5e, 0x5e, 0x92, 0x50, 0x93, 0xdb,
0x69, 0x16, 0xd4, 0x4d, 0x0e, 0xba, 0x00, 0x68, 0xc1, 0x93, 0x4f, 0x8b, 0x43, 0xa2, 0x27, 0xbf,
0x77, 0x86, 0x7a, 0x0a, 0xe7, 0x86, 0xa8, 0xff, 0x85, 0x47, 0x14, 0xc5, 0x74, 0xc0, 0x65, 0x30,
0xe6, 0xf1, 0x0a, 0x09, 0x4d, 0x1f, 0x16, 0xa6, 0xff, 0x4b, 0x8a, 0x8d, 0xa1, 0x38, 0x11, 0x25,
0x79, 0xe1, 0x12, 0x28, 0x68, 0x8e, 0x69, 0x8a, 0xca, 0x58, 0x75, 0x9a, 0x36, 0x13, 0xc9, 0x3d,
0x58, 0x85, 0x7c, 0x06, 0x58, 0x4d, 0x50, 0x50, 0x07, 0x67, 0xf9, 0x17, 0x25, 0xfe, 0x80, 0x05,
0xe5, 0x0e, 0x97, 0x12, 0xe3, 0xd6, 0xe5, 0x8e, 0x71, 0x6b, 0x3a, 0x2d, 0x11, 0x9b, 0xb6, 0xda,
0x60, 0x8c, 0x17, 0x83, 0x61, 0xeb, 0x7e, 0x02, 0xc8, 0x66, 0xfa, 0xfe, 0xa9, 0x4a, 0x2d, 0x94,
0x8e, 0x3d, 0xc1, 0x13, 0xe2, 0x26, 0xe2, 0x44, 0x94, 0xd4, 0x54, 0xbe, 0x0f, 0x0a, 0xc9, 0x3a,
0x4d, 0xec, 0x21, 0xca, 0x89, 0x7b, 0xc8, 0x5b, 0x05, 0xcc, 0xf4, 0xd0, 0x0e, 0x4d, 0x50, 0xb0,
0xf0, 0x5e, 0x2c, 0x87, 0x4e, 0x9c, 0xdf, 0xf9, 0x22, 0xaa, 0xfa, 0x8b, 0xa8, 0xfa, 0xd8, 0x66,
0x1b, 0x5e, 0x8d, 0x79, 0x86, 0xad, 0xfb, 0x71, 0x59, 0x4f, 0x60, 0xa1, 0x0e, 0x6c, 0xf8, 0x0c,
0xe4, 0x2d, 0xbc, 0x57, 0x6b, 0x7a, 0x7a, 0x70, 0x7f, 0xa7, 0xd7, 0x23, 0x5e, 0xa2, 0x75, 0x89,
0x82, 0x42, 0xbc, 0xf2, 0xb7, 0x19, 0x90, 0xab, 0x69, 0xd8, 0x24, 0xe7, 0xb0, 0x8d, 0x6c, 0x25,
0xb6, 0x91, 0xc5, 0xbe, 0x73, 0x40, 0xd8, 0xd7, 0x73, 0x11, 0x79, 0xde, 0xb1, 0x88, 0xdc, 0x3a,
0x25, 0xee, 0xf1, 0x3b, 0xc8, 0x3d, 0x30, 0x12, 0xaa, 0x4f, 0x34, 0x45, 0xe5, 0xa4, 0xa6, 0x58,
0xfe, 0x21, 0x03, 0x46, 0x63, 0x2a, 0x4e, 0x27, 0x0d, 0xdd, 0xc4, 0x04, 0xc2, 0xbb, 0x4e, 0xf5,
0x2c, 0x8e, 0xa9, 0xc1, 0xf4, 0xe1, 0x0f, 0x7e, 0xd1, 0x63, 0x9e, 0x1e, 0x4a, 0xee, 0x83, 0x02,
0xc3, 0x9e, 0x4e, 0x58, 0x40, 0x13, 0x17, 0x3a, 0x12, 0xad, 0x10, 0x5b, 0x09, 0x2a, 0xea, 0xe0,
0x9e, 0x5d, 0x06, 0x63, 0x09, 0x65, 0xa7, 0x9a, 0xd6, 0x7e, 0xe2, 0x97, 0xc5, 0x30, 0x23, 0x2f,
0x9b, 0x66, 0x8d, 0x9c, 0xc7, 0x6e, 0xfc, 0x2c, 0x91, 0x8d, 0x77, 0xfb, 0xbf, 0xdc, 0xc8, 0xca,
0x9e, 0x39, 0x59, 0xef, 0xc8, 0xc9, 0xa5, 0x33, 0xa1, 0x1f, 0x9f, 0x99, 0x3f, 0x2b, 0x60, 0x3c,
0xc6, 0x7d, 0x0e, 0xab, 0xd3, 0xd3, 0xe4, 0xea, 0x74, 0xeb, 0x2c, 0x4e, 0xf5, 0xd8, 0x9d, 0xbe,
0xcf, 0x26, 0x9c, 0xf9, 0x07, 0x4d, 0xeb, 0x5f, 0x2a, 0x60, 0xaa, 0xe5, 0x98, 0x4d, 0x8b, 0xac,
0x9a, 0xd8, 0xb0, 0x02, 0x0e, 0x3e, 0xfb, 0x9c, 0xb0, 0x9f, 0x0a, 0x4d, 0xc4, 0xa3, 0x06, 0x65,
0xc4, 0x66, 0x4f, 0x22, 0x8c, 0xea, 0x7f, 0xa4, 0xbe, 0xa9, 0x27, 0x5d, 0x80, 0x51, 0x57, 0x75,
0xf0, 0xff, 0x60, 0x94, 0x0f, 0x81, 0x86, 0x46, 0xf8, 0x66, 0x2a, 0xff, 0x9b, 0x98, 0x94, 0x40,
0xa3, 0xb5, 0x88, 0x84, 0xe2, 0x7c, 0x70, 0x07, 0x4c, 0xba, 0x4e, 0x63, 0x1d, 0xdb, 0x58, 0x27,
0xfc, 0x69, 0xdc, 0x14, 0x7f, 0x6a, 0x8a, 0xe9, 0x7d, 0xa4, 0x7a, 0x3b, 0x98, 0xb6, 0x36, 0xd3,
0x2c, 0xef, 0xf8, 0xd8, 0x9b, 0x3e, 0x16, 0xb3, 0x43, 0x37, 0xc8, 0xf2, 0x57, 0x0a, 0x98, 0x48,
0x55, 0x07, 0xfc, 0xe0, 0x98, 0x99, 0x77, 0xfa, 0xef, 0x9a, 0x77, 0xab, 0x57, 0xf7, 0x0f, 0x4b,
0x03, 0xaf, 0x0f, 0x4b, 0x03, 0x6f, 0x0e, 0x4b, 0x03, 0x5f, 0x1c, 0x95, 0x94, 0xfd, 0xa3, 0x92,
0xf2, 0xfa, 0xa8, 0xa4, 0xfc, 0x7e, 0x54, 0x52, 0xbe, 0x79, 0x5b, 0x1a, 0x78, 0x36, 0x2c, 0x73,
0xff, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe5, 0x3c, 0x98, 0xc2, 0xcb, 0x17, 0x00, 0x00,
}

View File

@ -32,6 +32,38 @@ import "k8s.io/kubernetes/pkg/apis/policy/v1beta1/generated.proto";
// Package-wide variables from generator "generated".
option go_package = "v1beta1";
// ControllerRevision implements an immutable snapshot of state data. Clients
// are responsible for serializing and deserializing the objects that contain
// their internal state.
// Once a ControllerRevision has been successfully created, it can not be updated.
// The API Server will fail validation of all requests that attempt to mutate
// the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both
// the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However,
// it may be subject to name and representation changes in future releases, and clients should not
// depend on its stability. It is primarily for internal use by controllers.
message ControllerRevision {
// Standard object's metadata.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
// +optional
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Data is the serialized representation of the state.
optional k8s.io.apimachinery.pkg.runtime.RawExtension data = 2;
// Revision indicates the revision of the state represented by Data.
optional int64 revision = 3;
}
// ControllerRevisionList is a resource containing a list of ControllerRevision objects.
message ControllerRevisionList {
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
// +optional
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
// Items is the list of ControllerRevisions
repeated ControllerRevision items = 2;
}
// Deployment enables declarative updates for Pods and ReplicaSets.
message Deployment {
// Standard object metadata.

View File

@ -57,6 +57,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&Scale{},
&StatefulSet{},
&StatefulSetList{},
&ControllerRevision{},
&ControllerRevisionList{},
)
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil

View File

@ -27,6 +27,7 @@ import (
codec1978 "github.com/ugorji/go/codec"
pkg4_resource "k8s.io/apimachinery/pkg/api/resource"
pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
pkg6_runtime "k8s.io/apimachinery/pkg/runtime"
pkg2_types "k8s.io/apimachinery/pkg/types"
pkg5_intstr "k8s.io/apimachinery/pkg/util/intstr"
pkg3_v1 "k8s.io/kubernetes/pkg/api/v1"
@ -67,11 +68,12 @@ func init() {
if false { // reference the types, but skip this branch at build/run time
var v0 pkg4_resource.Quantity
var v1 pkg1_v1.TypeMeta
var v2 pkg2_types.UID
var v3 pkg5_intstr.IntOrString
var v4 pkg3_v1.PodTemplateSpec
var v5 time.Time
_, _, _, _, _, _ = v0, v1, v2, v3, v4, v5
var v2 pkg6_runtime.RawExtension
var v3 pkg2_types.UID
var v4 pkg5_intstr.IntOrString
var v5 pkg3_v1.PodTemplateSpec
var v6 time.Time
_, _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5, v6
}
}
@ -6152,6 +6154,808 @@ func (x *DeploymentList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
func (x *ControllerRevision) CodecEncodeSelf(e *codec1978.Encoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperEncoder(e)
_, _, _ = h, z, r
if x == nil {
r.EncodeNil()
} else {
yym1 := z.EncBinary()
_ = yym1
if false {
} else if z.HasExtensions() && z.EncExt(x) {
} else {
yysep2 := !z.EncBinary()
yy2arr2 := z.EncBasicHandle().StructToArray
var yyq2 [5]bool
_, _, _ = yysep2, yyq2, yy2arr2
const yyr2 bool = false
yyq2[0] = x.Kind != ""
yyq2[1] = x.APIVersion != ""
yyq2[2] = true
yyq2[3] = true
var yynn2 int
if yyr2 || yy2arr2 {
r.EncodeArrayStart(5)
} else {
yynn2 = 1
for _, b := range yyq2 {
if b {
yynn2++
}
}
r.EncodeMapStart(yynn2)
yynn2 = 0
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[0] {
yym4 := z.EncBinary()
_ = yym4
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
} else {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq2[0] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("kind"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym5 := z.EncBinary()
_ = yym5
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[1] {
yym7 := z.EncBinary()
_ = yym7
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
} else {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq2[1] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym8 := z.EncBinary()
_ = yym8
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[2] {
yy10 := &x.ObjectMeta
yym11 := z.EncBinary()
_ = yym11
if false {
} else if z.HasExtensions() && z.EncExt(yy10) {
} else {
z.EncFallback(yy10)
}
} else {
r.EncodeNil()
}
} else {
if yyq2[2] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("metadata"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy12 := &x.ObjectMeta
yym13 := z.EncBinary()
_ = yym13
if false {
} else if z.HasExtensions() && z.EncExt(yy12) {
} else {
z.EncFallback(yy12)
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[3] {
yy15 := &x.Data
yym16 := z.EncBinary()
_ = yym16
if false {
} else if z.HasExtensions() && z.EncExt(yy15) {
} else if !yym16 && z.IsJSONHandle() {
z.EncJSONMarshal(yy15)
} else {
z.EncFallback(yy15)
}
} else {
r.EncodeNil()
}
} else {
if yyq2[3] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("data"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy17 := &x.Data
yym18 := z.EncBinary()
_ = yym18
if false {
} else if z.HasExtensions() && z.EncExt(yy17) {
} else if !yym18 && z.IsJSONHandle() {
z.EncJSONMarshal(yy17)
} else {
z.EncFallback(yy17)
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yym20 := z.EncBinary()
_ = yym20
if false {
} else {
r.EncodeInt(int64(x.Revision))
}
} else {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("revision"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym21 := z.EncBinary()
_ = yym21
if false {
} else {
r.EncodeInt(int64(x.Revision))
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
}
}
}
}
func (x *ControllerRevision) CodecDecodeSelf(d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yym1 := z.DecBinary()
_ = yym1
if false {
} else if z.HasExtensions() && z.DecExt(x) {
} else {
yyct2 := r.ContainerType()
if yyct2 == codecSelferValueTypeMap1234 {
yyl2 := r.ReadMapStart()
if yyl2 == 0 {
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
} else {
x.codecDecodeSelfFromMap(yyl2, d)
}
} else if yyct2 == codecSelferValueTypeArray1234 {
yyl2 := r.ReadArrayStart()
if yyl2 == 0 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
x.codecDecodeSelfFromArray(yyl2, d)
}
} else {
panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
}
}
}
func (x *ControllerRevision) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yys3Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys3Slc
var yyhl3 bool = l >= 0
for yyj3 := 0; ; yyj3++ {
if yyhl3 {
if yyj3 >= l {
break
}
} else {
if r.CheckBreak() {
break
}
}
z.DecSendContainerState(codecSelfer_containerMapKey1234)
yys3Slc = r.DecodeBytes(yys3Slc, true, true)
yys3 := string(yys3Slc)
z.DecSendContainerState(codecSelfer_containerMapValue1234)
switch yys3 {
case "kind":
if r.TryDecodeAsNil() {
x.Kind = ""
} else {
yyv4 := &x.Kind
yym5 := z.DecBinary()
_ = yym5
if false {
} else {
*((*string)(yyv4)) = r.DecodeString()
}
}
case "apiVersion":
if r.TryDecodeAsNil() {
x.APIVersion = ""
} else {
yyv6 := &x.APIVersion
yym7 := z.DecBinary()
_ = yym7
if false {
} else {
*((*string)(yyv6)) = r.DecodeString()
}
}
case "metadata":
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg1_v1.ObjectMeta{}
} else {
yyv8 := &x.ObjectMeta
yym9 := z.DecBinary()
_ = yym9
if false {
} else if z.HasExtensions() && z.DecExt(yyv8) {
} else {
z.DecFallback(yyv8, false)
}
}
case "data":
if r.TryDecodeAsNil() {
x.Data = pkg6_runtime.RawExtension{}
} else {
yyv10 := &x.Data
yym11 := z.DecBinary()
_ = yym11
if false {
} else if z.HasExtensions() && z.DecExt(yyv10) {
} else if !yym11 && z.IsJSONHandle() {
z.DecJSONUnmarshal(yyv10)
} else {
z.DecFallback(yyv10, false)
}
}
case "revision":
if r.TryDecodeAsNil() {
x.Revision = 0
} else {
yyv12 := &x.Revision
yym13 := z.DecBinary()
_ = yym13
if false {
} else {
*((*int64)(yyv12)) = int64(r.DecodeInt(64))
}
}
default:
z.DecStructFieldNotFound(-1, yys3)
} // end switch yys3
} // end for yyj3
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}
func (x *ControllerRevision) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yyj14 int
var yyb14 bool
var yyhl14 bool = l >= 0
yyj14++
if yyhl14 {
yyb14 = yyj14 > l
} else {
yyb14 = r.CheckBreak()
}
if yyb14 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.Kind = ""
} else {
yyv15 := &x.Kind
yym16 := z.DecBinary()
_ = yym16
if false {
} else {
*((*string)(yyv15)) = r.DecodeString()
}
}
yyj14++
if yyhl14 {
yyb14 = yyj14 > l
} else {
yyb14 = r.CheckBreak()
}
if yyb14 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.APIVersion = ""
} else {
yyv17 := &x.APIVersion
yym18 := z.DecBinary()
_ = yym18
if false {
} else {
*((*string)(yyv17)) = r.DecodeString()
}
}
yyj14++
if yyhl14 {
yyb14 = yyj14 > l
} else {
yyb14 = r.CheckBreak()
}
if yyb14 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg1_v1.ObjectMeta{}
} else {
yyv19 := &x.ObjectMeta
yym20 := z.DecBinary()
_ = yym20
if false {
} else if z.HasExtensions() && z.DecExt(yyv19) {
} else {
z.DecFallback(yyv19, false)
}
}
yyj14++
if yyhl14 {
yyb14 = yyj14 > l
} else {
yyb14 = r.CheckBreak()
}
if yyb14 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.Data = pkg6_runtime.RawExtension{}
} else {
yyv21 := &x.Data
yym22 := z.DecBinary()
_ = yym22
if false {
} else if z.HasExtensions() && z.DecExt(yyv21) {
} else if !yym22 && z.IsJSONHandle() {
z.DecJSONUnmarshal(yyv21)
} else {
z.DecFallback(yyv21, false)
}
}
yyj14++
if yyhl14 {
yyb14 = yyj14 > l
} else {
yyb14 = r.CheckBreak()
}
if yyb14 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.Revision = 0
} else {
yyv23 := &x.Revision
yym24 := z.DecBinary()
_ = yym24
if false {
} else {
*((*int64)(yyv23)) = int64(r.DecodeInt(64))
}
}
for {
yyj14++
if yyhl14 {
yyb14 = yyj14 > l
} else {
yyb14 = r.CheckBreak()
}
if yyb14 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj14-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
func (x *ControllerRevisionList) CodecEncodeSelf(e *codec1978.Encoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperEncoder(e)
_, _, _ = h, z, r
if x == nil {
r.EncodeNil()
} else {
yym1 := z.EncBinary()
_ = yym1
if false {
} else if z.HasExtensions() && z.EncExt(x) {
} else {
yysep2 := !z.EncBinary()
yy2arr2 := z.EncBasicHandle().StructToArray
var yyq2 [4]bool
_, _, _ = yysep2, yyq2, yy2arr2
const yyr2 bool = false
yyq2[0] = x.Kind != ""
yyq2[1] = x.APIVersion != ""
yyq2[2] = true
var yynn2 int
if yyr2 || yy2arr2 {
r.EncodeArrayStart(4)
} else {
yynn2 = 1
for _, b := range yyq2 {
if b {
yynn2++
}
}
r.EncodeMapStart(yynn2)
yynn2 = 0
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[0] {
yym4 := z.EncBinary()
_ = yym4
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
} else {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq2[0] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("kind"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym5 := z.EncBinary()
_ = yym5
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[1] {
yym7 := z.EncBinary()
_ = yym7
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
} else {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq2[1] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym8 := z.EncBinary()
_ = yym8
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[2] {
yy10 := &x.ListMeta
yym11 := z.EncBinary()
_ = yym11
if false {
} else if z.HasExtensions() && z.EncExt(yy10) {
} else {
z.EncFallback(yy10)
}
} else {
r.EncodeNil()
}
} else {
if yyq2[2] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("metadata"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy12 := &x.ListMeta
yym13 := z.EncBinary()
_ = yym13
if false {
} else if z.HasExtensions() && z.EncExt(yy12) {
} else {
z.EncFallback(yy12)
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if x.Items == nil {
r.EncodeNil()
} else {
yym15 := z.EncBinary()
_ = yym15
if false {
} else {
h.encSliceControllerRevision(([]ControllerRevision)(x.Items), e)
}
}
} else {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("items"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
if x.Items == nil {
r.EncodeNil()
} else {
yym16 := z.EncBinary()
_ = yym16
if false {
} else {
h.encSliceControllerRevision(([]ControllerRevision)(x.Items), e)
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
}
}
}
}
func (x *ControllerRevisionList) CodecDecodeSelf(d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yym1 := z.DecBinary()
_ = yym1
if false {
} else if z.HasExtensions() && z.DecExt(x) {
} else {
yyct2 := r.ContainerType()
if yyct2 == codecSelferValueTypeMap1234 {
yyl2 := r.ReadMapStart()
if yyl2 == 0 {
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
} else {
x.codecDecodeSelfFromMap(yyl2, d)
}
} else if yyct2 == codecSelferValueTypeArray1234 {
yyl2 := r.ReadArrayStart()
if yyl2 == 0 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
x.codecDecodeSelfFromArray(yyl2, d)
}
} else {
panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
}
}
}
func (x *ControllerRevisionList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yys3Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys3Slc
var yyhl3 bool = l >= 0
for yyj3 := 0; ; yyj3++ {
if yyhl3 {
if yyj3 >= l {
break
}
} else {
if r.CheckBreak() {
break
}
}
z.DecSendContainerState(codecSelfer_containerMapKey1234)
yys3Slc = r.DecodeBytes(yys3Slc, true, true)
yys3 := string(yys3Slc)
z.DecSendContainerState(codecSelfer_containerMapValue1234)
switch yys3 {
case "kind":
if r.TryDecodeAsNil() {
x.Kind = ""
} else {
yyv4 := &x.Kind
yym5 := z.DecBinary()
_ = yym5
if false {
} else {
*((*string)(yyv4)) = r.DecodeString()
}
}
case "apiVersion":
if r.TryDecodeAsNil() {
x.APIVersion = ""
} else {
yyv6 := &x.APIVersion
yym7 := z.DecBinary()
_ = yym7
if false {
} else {
*((*string)(yyv6)) = r.DecodeString()
}
}
case "metadata":
if r.TryDecodeAsNil() {
x.ListMeta = pkg1_v1.ListMeta{}
} else {
yyv8 := &x.ListMeta
yym9 := z.DecBinary()
_ = yym9
if false {
} else if z.HasExtensions() && z.DecExt(yyv8) {
} else {
z.DecFallback(yyv8, false)
}
}
case "items":
if r.TryDecodeAsNil() {
x.Items = nil
} else {
yyv10 := &x.Items
yym11 := z.DecBinary()
_ = yym11
if false {
} else {
h.decSliceControllerRevision((*[]ControllerRevision)(yyv10), d)
}
}
default:
z.DecStructFieldNotFound(-1, yys3)
} // end switch yys3
} // end for yyj3
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}
func (x *ControllerRevisionList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yyj12 int
var yyb12 bool
var yyhl12 bool = l >= 0
yyj12++
if yyhl12 {
yyb12 = yyj12 > l
} else {
yyb12 = r.CheckBreak()
}
if yyb12 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.Kind = ""
} else {
yyv13 := &x.Kind
yym14 := z.DecBinary()
_ = yym14
if false {
} else {
*((*string)(yyv13)) = r.DecodeString()
}
}
yyj12++
if yyhl12 {
yyb12 = yyj12 > l
} else {
yyb12 = r.CheckBreak()
}
if yyb12 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.APIVersion = ""
} else {
yyv15 := &x.APIVersion
yym16 := z.DecBinary()
_ = yym16
if false {
} else {
*((*string)(yyv15)) = r.DecodeString()
}
}
yyj12++
if yyhl12 {
yyb12 = yyj12 > l
} else {
yyb12 = r.CheckBreak()
}
if yyb12 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.ListMeta = pkg1_v1.ListMeta{}
} else {
yyv17 := &x.ListMeta
yym18 := z.DecBinary()
_ = yym18
if false {
} else if z.HasExtensions() && z.DecExt(yyv17) {
} else {
z.DecFallback(yyv17, false)
}
}
yyj12++
if yyhl12 {
yyb12 = yyj12 > l
} else {
yyb12 = r.CheckBreak()
}
if yyb12 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.Items = nil
} else {
yyv19 := &x.Items
yym20 := z.DecBinary()
_ = yym20
if false {
} else {
h.decSliceControllerRevision((*[]ControllerRevision)(yyv19), d)
}
}
for {
yyj12++
if yyhl12 {
yyb12 = yyj12 > l
} else {
yyb12 = r.CheckBreak()
}
if yyb12 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj12-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
func (x codecSelfer1234) encSlicev1_PersistentVolumeClaim(v []pkg3_v1.PersistentVolumeClaim, e *codec1978.Encoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperEncoder(e)
@ -6627,3 +7431,122 @@ func (x codecSelfer1234) decSliceDeployment(v *[]Deployment, d *codec1978.Decode
*v = yyv1
}
}
func (x codecSelfer1234) encSliceControllerRevision(v []ControllerRevision, e *codec1978.Encoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperEncoder(e)
_, _, _ = h, z, r
r.EncodeArrayStart(len(v))
for _, yyv1 := range v {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yy2 := &yyv1
yy2.CodecEncodeSelf(e)
}
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}
func (x codecSelfer1234) decSliceControllerRevision(v *[]ControllerRevision, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yyv1 := *v
yyh1, yyl1 := z.DecSliceHelperStart()
var yyc1 bool
_ = yyc1
if yyl1 == 0 {
if yyv1 == nil {
yyv1 = []ControllerRevision{}
yyc1 = true
} else if len(yyv1) != 0 {
yyv1 = yyv1[:0]
yyc1 = true
}
} else if yyl1 > 0 {
var yyrr1, yyrl1 int
var yyrt1 bool
_, _ = yyrl1, yyrt1
yyrr1 = yyl1 // len(yyv1)
if yyl1 > cap(yyv1) {
yyrg1 := len(yyv1) > 0
yyv21 := yyv1
yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 312)
if yyrt1 {
if yyrl1 <= cap(yyv1) {
yyv1 = yyv1[:yyrl1]
} else {
yyv1 = make([]ControllerRevision, yyrl1)
}
} else {
yyv1 = make([]ControllerRevision, yyrl1)
}
yyc1 = true
yyrr1 = len(yyv1)
if yyrg1 {
copy(yyv1, yyv21)
}
} else if yyl1 != len(yyv1) {
yyv1 = yyv1[:yyl1]
yyc1 = true
}
yyj1 := 0
for ; yyj1 < yyrr1; yyj1++ {
yyh1.ElemContainerState(yyj1)
if r.TryDecodeAsNil() {
yyv1[yyj1] = ControllerRevision{}
} else {
yyv2 := &yyv1[yyj1]
yyv2.CodecDecodeSelf(d)
}
}
if yyrt1 {
for ; yyj1 < yyl1; yyj1++ {
yyv1 = append(yyv1, ControllerRevision{})
yyh1.ElemContainerState(yyj1)
if r.TryDecodeAsNil() {
yyv1[yyj1] = ControllerRevision{}
} else {
yyv3 := &yyv1[yyj1]
yyv3.CodecDecodeSelf(d)
}
}
}
} else {
yyj1 := 0
for ; !r.CheckBreak(); yyj1++ {
if yyj1 >= len(yyv1) {
yyv1 = append(yyv1, ControllerRevision{}) // var yyz1 ControllerRevision
yyc1 = true
}
yyh1.ElemContainerState(yyj1)
if yyj1 < len(yyv1) {
if r.TryDecodeAsNil() {
yyv1[yyj1] = ControllerRevision{}
} else {
yyv4 := &yyv1[yyj1]
yyv4.CodecDecodeSelf(d)
}
} else {
z.DecSwallow()
}
}
if yyj1 < len(yyv1) {
yyv1 = yyv1[:yyj1]
yyc1 = true
} else if yyj1 == 0 && yyv1 == nil {
yyv1 = []ControllerRevision{}
yyc1 = true
}
}
yyh1.End()
if yyc1 {
*v = yyv1
}
}

View File

@ -18,6 +18,7 @@ package v1beta1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/kubernetes/pkg/api/v1"
)
@ -407,3 +408,40 @@ type DeploymentList struct {
// Items is the list of Deployments.
Items []Deployment `json:"items" protobuf:"bytes,2,rep,name=items"`
}
// +genclient=true
// ControllerRevision implements an immutable snapshot of state data. Clients
// are responsible for serializing and deserializing the objects that contain
// their internal state.
// Once a ControllerRevision has been successfully created, it can not be updated.
// The API Server will fail validation of all requests that attempt to mutate
// the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both
// the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However,
// it may be subject to name and representation changes in future releases, and clients should not
// depend on its stability. It is primarily for internal use by controllers.
type ControllerRevision struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Data is the serialized representation of the state.
Data runtime.RawExtension `json:"data,omitempty" protobuf:"bytes,2,opt,name=data"`
// Revision indicates the revision of the state represented by Data.
Revision int64 `json:"revision" protobuf:"varint,3,opt,name=revision"`
}
// ControllerRevisionList is a resource containing a list of ControllerRevision objects.
type ControllerRevisionList struct {
metav1.TypeMeta `json:",inline"`
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Items is the list of ControllerRevisions
Items []ControllerRevision `json:"items" protobuf:"bytes,2,rep,name=items"`
}

View File

@ -27,6 +27,27 @@ package v1beta1
// Those methods can be generated by using hack/update-generated-swagger-docs.sh
// AUTO-GENERATED FUNCTIONS START HERE
var map_ControllerRevision = map[string]string{
"": "ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.",
"metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata",
"data": "Data is the serialized representation of the state.",
"revision": "Revision indicates the revision of the state represented by Data.",
}
func (ControllerRevision) SwaggerDoc() map[string]string {
return map_ControllerRevision
}
var map_ControllerRevisionList = map[string]string{
"": "ControllerRevisionList is a resource containing a list of ControllerRevision objects.",
"metadata": "More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata",
"items": "Items is the list of ControllerRevisions",
}
func (ControllerRevisionList) SwaggerDoc() map[string]string {
return map_ControllerRevisionList
}
var map_Deployment = map[string]string{
"": "Deployment enables declarative updates for Pods and ReplicaSets.",
"metadata": "Standard object metadata.",

View File

@ -38,6 +38,10 @@ func init() {
// Public to allow building arbitrary schemes.
func RegisterConversions(scheme *runtime.Scheme) error {
return scheme.AddGeneratedConversionFuncs(
Convert_v1beta1_ControllerRevision_To_apps_ControllerRevision,
Convert_apps_ControllerRevision_To_v1beta1_ControllerRevision,
Convert_v1beta1_ControllerRevisionList_To_apps_ControllerRevisionList,
Convert_apps_ControllerRevisionList_To_v1beta1_ControllerRevisionList,
Convert_v1beta1_StatefulSet_To_apps_StatefulSet,
Convert_apps_StatefulSet_To_v1beta1_StatefulSet,
Convert_v1beta1_StatefulSetList_To_apps_StatefulSetList,
@ -49,6 +53,76 @@ func RegisterConversions(scheme *runtime.Scheme) error {
)
}
func autoConvert_v1beta1_ControllerRevision_To_apps_ControllerRevision(in *ControllerRevision, out *apps.ControllerRevision, s conversion.Scope) error {
out.ObjectMeta = in.ObjectMeta
if err := runtime.Convert_runtime_RawExtension_To_runtime_Object(&in.Data, &out.Data, s); err != nil {
return err
}
out.Revision = in.Revision
return nil
}
// Convert_v1beta1_ControllerRevision_To_apps_ControllerRevision is an autogenerated conversion function.
func Convert_v1beta1_ControllerRevision_To_apps_ControllerRevision(in *ControllerRevision, out *apps.ControllerRevision, s conversion.Scope) error {
return autoConvert_v1beta1_ControllerRevision_To_apps_ControllerRevision(in, out, s)
}
func autoConvert_apps_ControllerRevision_To_v1beta1_ControllerRevision(in *apps.ControllerRevision, out *ControllerRevision, s conversion.Scope) error {
out.ObjectMeta = in.ObjectMeta
if err := runtime.Convert_runtime_Object_To_runtime_RawExtension(&in.Data, &out.Data, s); err != nil {
return err
}
out.Revision = in.Revision
return nil
}
// Convert_apps_ControllerRevision_To_v1beta1_ControllerRevision is an autogenerated conversion function.
func Convert_apps_ControllerRevision_To_v1beta1_ControllerRevision(in *apps.ControllerRevision, out *ControllerRevision, s conversion.Scope) error {
return autoConvert_apps_ControllerRevision_To_v1beta1_ControllerRevision(in, out, s)
}
func autoConvert_v1beta1_ControllerRevisionList_To_apps_ControllerRevisionList(in *ControllerRevisionList, out *apps.ControllerRevisionList, s conversion.Scope) error {
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]apps.ControllerRevision, len(*in))
for i := range *in {
if err := Convert_v1beta1_ControllerRevision_To_apps_ControllerRevision(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
// Convert_v1beta1_ControllerRevisionList_To_apps_ControllerRevisionList is an autogenerated conversion function.
func Convert_v1beta1_ControllerRevisionList_To_apps_ControllerRevisionList(in *ControllerRevisionList, out *apps.ControllerRevisionList, s conversion.Scope) error {
return autoConvert_v1beta1_ControllerRevisionList_To_apps_ControllerRevisionList(in, out, s)
}
func autoConvert_apps_ControllerRevisionList_To_v1beta1_ControllerRevisionList(in *apps.ControllerRevisionList, out *ControllerRevisionList, s conversion.Scope) error {
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ControllerRevision, len(*in))
for i := range *in {
if err := Convert_apps_ControllerRevision_To_v1beta1_ControllerRevision(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.Items = make([]ControllerRevision, 0)
}
return nil
}
// Convert_apps_ControllerRevisionList_To_v1beta1_ControllerRevisionList is an autogenerated conversion function.
func Convert_apps_ControllerRevisionList_To_v1beta1_ControllerRevisionList(in *apps.ControllerRevisionList, out *ControllerRevisionList, s conversion.Scope) error {
return autoConvert_apps_ControllerRevisionList_To_v1beta1_ControllerRevisionList(in, out, s)
}
func autoConvert_v1beta1_StatefulSet_To_apps_StatefulSet(in *StatefulSet, out *apps.StatefulSet, s conversion.Scope) error {
out.ObjectMeta = in.ObjectMeta
if err := Convert_v1beta1_StatefulSetSpec_To_apps_StatefulSetSpec(&in.Spec, &out.Spec, s); err != nil {

View File

@ -37,6 +37,8 @@ func init() {
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_ControllerRevision, InType: reflect.TypeOf(&ControllerRevision{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_ControllerRevisionList, InType: reflect.TypeOf(&ControllerRevisionList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_Deployment, InType: reflect.TypeOf(&Deployment{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_DeploymentCondition, InType: reflect.TypeOf(&DeploymentCondition{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_DeploymentList, InType: reflect.TypeOf(&DeploymentList{})},
@ -56,6 +58,45 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
)
}
// DeepCopy_v1beta1_ControllerRevision is an autogenerated deepcopy function.
func DeepCopy_v1beta1_ControllerRevision(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ControllerRevision)
out := out.(*ControllerRevision)
*out = *in
if newVal, err := c.DeepCopy(&in.ObjectMeta); err != nil {
return err
} else {
out.ObjectMeta = *newVal.(*v1.ObjectMeta)
}
if newVal, err := c.DeepCopy(&in.Data); err != nil {
return err
} else {
out.Data = *newVal.(*runtime.RawExtension)
}
return nil
}
}
// DeepCopy_v1beta1_ControllerRevisionList is an autogenerated deepcopy function.
func DeepCopy_v1beta1_ControllerRevisionList(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ControllerRevisionList)
out := out.(*ControllerRevisionList)
*out = *in
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ControllerRevision, len(*in))
for i := range *in {
if err := DeepCopy_v1beta1_ControllerRevision(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
}
return nil
}
}
// DeepCopy_v1beta1_Deployment is an autogenerated deepcopy function.
func DeepCopy_v1beta1_Deployment(in interface{}, out interface{}, c *conversion.Cloner) error {
{

View File

@ -32,6 +32,7 @@ go_test(
"//pkg/api:go_default_library",
"//pkg/apis/apps:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
],
)

View File

@ -141,3 +141,34 @@ func ValidateStatefulSetStatusUpdate(statefulSet, oldStatefulSet *apps.StatefulS
// TODO: Validate status.
return allErrs
}
// ValidateControllerRevisionName can be used to check whether the given ControllerRevision name is valid.
// Prefix indicates this name will be used as part of generation, in which case
// trailing dashes are allowed.
var ValidateControllerRevisionName = apivalidation.NameIsDNSSubdomain
// ValidateControllerRevision collects errors for the fields of state and returns those errors as an ErrorList. If the
// returned list is empty, state is valid. Validation is performed to ensure that state is a valid ObjectMeta, its name
// is valid, and that it doesn't exceed the MaxControllerRevisionSize.
func ValidateControllerRevision(revision *apps.ControllerRevision) field.ErrorList {
errs := field.ErrorList{}
errs = append(errs, apivalidation.ValidateObjectMeta(&revision.ObjectMeta, true, ValidateControllerRevisionName, field.NewPath("metadata"))...)
if revision.Data == nil {
errs = append(errs, field.Required(field.NewPath("data"), "data is mandatory"))
}
errs = append(errs, apivalidation.ValidateNonnegativeField(revision.Revision, field.NewPath("revision"))...)
return errs
}
// ValidateControllerRevisionUpdate collects errors pertaining to the mutation of an ControllerRevision Object. If the
// returned ErrorList is empty the update operation is valid. Any mutation to the ControllerRevision's Data or Revision
// is considered to be invalid.
func ValidateControllerRevisionUpdate(newHistory, oldHistory *apps.ControllerRevision) field.ErrorList {
errs := field.ErrorList{}
errs = append(errs, apivalidation.ValidateObjectMetaUpdate(&newHistory.ObjectMeta, &oldHistory.ObjectMeta, field.NewPath("metadata"))...)
errs = append(errs, ValidateControllerRevision(newHistory)...)
errs = append(errs, apivalidation.ValidateImmutableField(newHistory.Data, oldHistory.Data, field.NewPath("data"))...)
return errs
}

View File

@ -21,6 +21,7 @@ import (
"testing"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/apps"
)
@ -432,3 +433,159 @@ func TestValidateStatefulSetUpdate(t *testing.T) {
}
}
}
func TestValidateControllerRevision(t *testing.T) {
newControllerRevision := func(name, namespace string, data runtime.Object, revision int64) apps.ControllerRevision {
return apps.ControllerRevision{
ObjectMeta: metav1.ObjectMeta{
Name: name,
Namespace: namespace,
},
Data: data,
Revision: revision,
}
}
ss := apps.StatefulSet{
ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: metav1.NamespaceDefault},
Spec: apps.StatefulSetSpec{
Selector: &metav1.LabelSelector{MatchLabels: map[string]string{"foo": "bar"}},
Template: api.PodTemplateSpec{
Spec: api.PodSpec{
RestartPolicy: api.RestartPolicyAlways,
DNSPolicy: api.DNSClusterFirst,
},
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"foo": "bar"},
},
},
},
}
var (
valid = newControllerRevision("validname", "validns", &ss, 0)
badRevision = newControllerRevision("validname", "validns", &ss, -1)
emptyName = newControllerRevision("", "validns", &ss, 0)
invalidName = newControllerRevision("NoUppercaseOrSpecialCharsLike=Equals", "validns", &ss, 0)
emptyNs = newControllerRevision("validname", "", &ss, 100)
invalidNs = newControllerRevision("validname", "NoUppercaseOrSpecialCharsLike=Equals", &ss, 100)
nilData = newControllerRevision("validname", "NoUppercaseOrSpecialCharsLike=Equals", nil, 100)
)
tests := map[string]struct {
history apps.ControllerRevision
isValid bool
}{
"valid": {valid, true},
"negative revision": {badRevision, false},
"empty name": {emptyName, false},
"invalid name": {invalidName, false},
"empty namespace": {emptyNs, false},
"invalid namespace": {invalidNs, false},
"nil data": {nilData, false},
}
for name, tc := range tests {
errs := ValidateControllerRevision(&tc.history)
if tc.isValid && len(errs) > 0 {
t.Errorf("%v: unexpected error: %v", name, errs)
}
if !tc.isValid && len(errs) == 0 {
t.Errorf("%v: unexpected non-error", name)
}
}
}
func TestValidateControllerRevisionUpdate(t *testing.T) {
newControllerRevision := func(version, name, namespace string, data runtime.Object, revision int64) apps.ControllerRevision {
return apps.ControllerRevision{
ObjectMeta: metav1.ObjectMeta{
Name: name,
Namespace: namespace,
ResourceVersion: version,
},
Data: data,
Revision: revision,
}
}
ss := apps.StatefulSet{
ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: metav1.NamespaceDefault},
Spec: apps.StatefulSetSpec{
Selector: &metav1.LabelSelector{MatchLabels: map[string]string{"foo": "bar"}},
Template: api.PodTemplateSpec{
Spec: api.PodSpec{
RestartPolicy: api.RestartPolicyAlways,
DNSPolicy: api.DNSClusterFirst,
},
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"foo": "bar"},
},
},
},
}
modifiedss := apps.StatefulSet{
ObjectMeta: metav1.ObjectMeta{Name: "cdf", Namespace: metav1.NamespaceDefault},
Spec: apps.StatefulSetSpec{
Selector: &metav1.LabelSelector{MatchLabels: map[string]string{"foo": "bar"}},
Template: api.PodTemplateSpec{
Spec: api.PodSpec{
RestartPolicy: api.RestartPolicyAlways,
DNSPolicy: api.DNSClusterFirst,
},
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"foo": "bar"},
},
},
},
}
var (
valid = newControllerRevision("1", "validname", "validns", &ss, 0)
noVersion = newControllerRevision("", "validname", "validns", &ss, 0)
changedData = newControllerRevision("1", "validname", "validns", &modifiedss, 0)
changedRevision = newControllerRevision("1", "validname", "validns", &ss, 1)
)
cases := []struct {
name string
newHistory apps.ControllerRevision
oldHistory apps.ControllerRevision
isValid bool
}{
{
name: "valid",
newHistory: valid,
oldHistory: valid,
isValid: true,
},
{
name: "invalid",
newHistory: noVersion,
oldHistory: valid,
isValid: false,
},
{
name: "changed data",
newHistory: changedData,
oldHistory: valid,
isValid: false,
},
{
name: "changed revision",
newHistory: changedRevision,
oldHistory: valid,
isValid: true,
},
}
for _, tc := range cases {
errs := ValidateControllerRevisionUpdate(&tc.newHistory, &tc.oldHistory)
if tc.isValid && len(errs) > 0 {
t.Errorf("%v: unexpected error: %v", tc.name, errs)
}
if !tc.isValid && len(errs) == 0 {
t.Errorf("%v: unexpected non-error", tc.name)
}
}
}

View File

@ -36,6 +36,8 @@ func init() {
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_ControllerRevision, InType: reflect.TypeOf(&ControllerRevision{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_ControllerRevisionList, InType: reflect.TypeOf(&ControllerRevisionList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_StatefulSet, InType: reflect.TypeOf(&StatefulSet{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_StatefulSetList, InType: reflect.TypeOf(&StatefulSetList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_StatefulSetSpec, InType: reflect.TypeOf(&StatefulSetSpec{})},
@ -43,6 +45,48 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
)
}
// DeepCopy_apps_ControllerRevision is an autogenerated deepcopy function.
func DeepCopy_apps_ControllerRevision(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ControllerRevision)
out := out.(*ControllerRevision)
*out = *in
if newVal, err := c.DeepCopy(&in.ObjectMeta); err != nil {
return err
} else {
out.ObjectMeta = *newVal.(*v1.ObjectMeta)
}
// in.Data is kind 'Interface'
if in.Data != nil {
if newVal, err := c.DeepCopy(&in.Data); err != nil {
return err
} else {
out.Data = *newVal.(*runtime.Object)
}
}
return nil
}
}
// DeepCopy_apps_ControllerRevisionList is an autogenerated deepcopy function.
func DeepCopy_apps_ControllerRevisionList(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ControllerRevisionList)
out := out.(*ControllerRevisionList)
*out = *in
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ControllerRevision, len(*in))
for i := range *in {
if err := DeepCopy_apps_ControllerRevision(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
}
return nil
}
}
// DeepCopy_apps_StatefulSet is an autogenerated deepcopy function.
func DeepCopy_apps_StatefulSet(in interface{}, out interface{}, c *conversion.Cloner) error {
{

View File

@ -11,6 +11,7 @@ go_library(
name = "go_default_library",
srcs = [
"apps_client.go",
"controllerrevision.go",
"deployment.go",
"doc.go",
"generated_expansion.go",

View File

@ -25,6 +25,7 @@ import (
type AppsV1beta1Interface interface {
RESTClient() rest.Interface
ControllerRevisionsGetter
DeploymentsGetter
ScalesGetter
StatefulSetsGetter
@ -35,6 +36,10 @@ type AppsV1beta1Client struct {
restClient rest.Interface
}
func (c *AppsV1beta1Client) ControllerRevisions(namespace string) ControllerRevisionInterface {
return newControllerRevisions(c, namespace)
}
func (c *AppsV1beta1Client) Deployments(namespace string) DeploymentInterface {
return newDeployments(c, namespace)
}

View File

@ -0,0 +1,155 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package v1beta1
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest"
v1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1"
scheme "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/scheme"
)
// ControllerRevisionsGetter has a method to return a ControllerRevisionInterface.
// A group's client should implement this interface.
type ControllerRevisionsGetter interface {
ControllerRevisions(namespace string) ControllerRevisionInterface
}
// ControllerRevisionInterface has methods to work with ControllerRevision resources.
type ControllerRevisionInterface interface {
Create(*v1beta1.ControllerRevision) (*v1beta1.ControllerRevision, error)
Update(*v1beta1.ControllerRevision) (*v1beta1.ControllerRevision, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1beta1.ControllerRevision, error)
List(opts v1.ListOptions) (*v1beta1.ControllerRevisionList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ControllerRevision, err error)
ControllerRevisionExpansion
}
// controllerRevisions implements ControllerRevisionInterface
type controllerRevisions struct {
client rest.Interface
ns string
}
// newControllerRevisions returns a ControllerRevisions
func newControllerRevisions(c *AppsV1beta1Client, namespace string) *controllerRevisions {
return &controllerRevisions{
client: c.RESTClient(),
ns: namespace,
}
}
// Create takes the representation of a controllerRevision and creates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *controllerRevisions) Create(controllerRevision *v1beta1.ControllerRevision) (result *v1beta1.ControllerRevision, err error) {
result = &v1beta1.ControllerRevision{}
err = c.client.Post().
Namespace(c.ns).
Resource("controllerrevisions").
Body(controllerRevision).
Do().
Into(result)
return
}
// Update takes the representation of a controllerRevision and updates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *controllerRevisions) Update(controllerRevision *v1beta1.ControllerRevision) (result *v1beta1.ControllerRevision, err error) {
result = &v1beta1.ControllerRevision{}
err = c.client.Put().
Namespace(c.ns).
Resource("controllerrevisions").
Name(controllerRevision.Name).
Body(controllerRevision).
Do().
Into(result)
return
}
// Delete takes name of the controllerRevision and deletes it. Returns an error if one occurs.
func (c *controllerRevisions) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("controllerrevisions").
Name(name).
Body(options).
Do().
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *controllerRevisions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options).
Do().
Error()
}
// Get takes name of the controllerRevision, and returns the corresponding controllerRevision object, and an error if there is any.
func (c *controllerRevisions) Get(name string, options v1.GetOptions) (result *v1beta1.ControllerRevision, err error) {
result = &v1beta1.ControllerRevision{}
err = c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do().
Into(result)
return
}
// List takes label and field selectors, and returns the list of ControllerRevisions that match those selectors.
func (c *controllerRevisions) List(opts v1.ListOptions) (result *v1beta1.ControllerRevisionList, err error) {
result = &v1beta1.ControllerRevisionList{}
err = c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&opts, scheme.ParameterCodec).
Do().
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested controllerRevisions.
func (c *controllerRevisions) Watch(opts v1.ListOptions) (watch.Interface, error) {
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&opts, scheme.ParameterCodec).
Watch()
}
// Patch applies the patch and returns the patched controllerRevision.
func (c *controllerRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ControllerRevision, err error) {
result = &v1beta1.ControllerRevision{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("controllerrevisions").
SubResource(subresources...).
Name(name).
Body(data).
Do().
Into(result)
return
}

View File

@ -12,6 +12,7 @@ go_library(
srcs = [
"doc.go",
"fake_apps_client.go",
"fake_controllerrevision.go",
"fake_deployment.go",
"fake_scale.go",
"fake_statefulset.go",

View File

@ -26,6 +26,10 @@ type FakeAppsV1beta1 struct {
*testing.Fake
}
func (c *FakeAppsV1beta1) ControllerRevisions(namespace string) v1beta1.ControllerRevisionInterface {
return &FakeControllerRevisions{c, namespace}
}
func (c *FakeAppsV1beta1) Deployments(namespace string) v1beta1.DeploymentInterface {
return &FakeDeployments{c, namespace}
}

View File

@ -0,0 +1,120 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package fake
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
v1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1"
)
// FakeControllerRevisions implements ControllerRevisionInterface
type FakeControllerRevisions struct {
Fake *FakeAppsV1beta1
ns string
}
var controllerrevisionsResource = schema.GroupVersionResource{Group: "apps", Version: "v1beta1", Resource: "controllerrevisions"}
var controllerrevisionsKind = schema.GroupVersionKind{Group: "apps", Version: "v1beta1", Kind: "ControllerRevision"}
func (c *FakeControllerRevisions) Create(controllerRevision *v1beta1.ControllerRevision) (result *v1beta1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(controllerrevisionsResource, c.ns, controllerRevision), &v1beta1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ControllerRevision), err
}
func (c *FakeControllerRevisions) Update(controllerRevision *v1beta1.ControllerRevision) (result *v1beta1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(controllerrevisionsResource, c.ns, controllerRevision), &v1beta1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ControllerRevision), err
}
func (c *FakeControllerRevisions) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(controllerrevisionsResource, c.ns, name), &v1beta1.ControllerRevision{})
return err
}
func (c *FakeControllerRevisions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(controllerrevisionsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &v1beta1.ControllerRevisionList{})
return err
}
func (c *FakeControllerRevisions) Get(name string, options v1.GetOptions) (result *v1beta1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(controllerrevisionsResource, c.ns, name), &v1beta1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ControllerRevision), err
}
func (c *FakeControllerRevisions) List(opts v1.ListOptions) (result *v1beta1.ControllerRevisionList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(controllerrevisionsResource, controllerrevisionsKind, c.ns, opts), &v1beta1.ControllerRevisionList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v1beta1.ControllerRevisionList{}
for _, item := range obj.(*v1beta1.ControllerRevisionList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested controllerRevisions.
func (c *FakeControllerRevisions) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(controllerrevisionsResource, c.ns, opts))
}
// Patch applies the patch and returns the patched controllerRevision.
func (c *FakeControllerRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(controllerrevisionsResource, c.ns, name, data, subresources...), &v1beta1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ControllerRevision), err
}

View File

@ -16,6 +16,8 @@ limitations under the License.
package v1beta1
type ControllerRevisionExpansion interface{}
type DeploymentExpansion interface{}
type ScaleExpansion interface{}

View File

@ -11,6 +11,7 @@ go_library(
name = "go_default_library",
srcs = [
"apps_client.go",
"controllerrevision.go",
"doc.go",
"generated_expansion.go",
"statefulset.go",

View File

@ -23,6 +23,7 @@ import (
type AppsInterface interface {
RESTClient() rest.Interface
ControllerRevisionsGetter
StatefulSetsGetter
}
@ -31,6 +32,10 @@ type AppsClient struct {
restClient rest.Interface
}
func (c *AppsClient) ControllerRevisions(namespace string) ControllerRevisionInterface {
return newControllerRevisions(c, namespace)
}
func (c *AppsClient) StatefulSets(namespace string) StatefulSetInterface {
return newStatefulSets(c, namespace)
}

View File

@ -0,0 +1,155 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package internalversion
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
rest "k8s.io/client-go/rest"
apps "k8s.io/kubernetes/pkg/apis/apps"
scheme "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/scheme"
)
// ControllerRevisionsGetter has a method to return a ControllerRevisionInterface.
// A group's client should implement this interface.
type ControllerRevisionsGetter interface {
ControllerRevisions(namespace string) ControllerRevisionInterface
}
// ControllerRevisionInterface has methods to work with ControllerRevision resources.
type ControllerRevisionInterface interface {
Create(*apps.ControllerRevision) (*apps.ControllerRevision, error)
Update(*apps.ControllerRevision) (*apps.ControllerRevision, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*apps.ControllerRevision, error)
List(opts v1.ListOptions) (*apps.ControllerRevisionList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *apps.ControllerRevision, err error)
ControllerRevisionExpansion
}
// controllerRevisions implements ControllerRevisionInterface
type controllerRevisions struct {
client rest.Interface
ns string
}
// newControllerRevisions returns a ControllerRevisions
func newControllerRevisions(c *AppsClient, namespace string) *controllerRevisions {
return &controllerRevisions{
client: c.RESTClient(),
ns: namespace,
}
}
// Create takes the representation of a controllerRevision and creates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *controllerRevisions) Create(controllerRevision *apps.ControllerRevision) (result *apps.ControllerRevision, err error) {
result = &apps.ControllerRevision{}
err = c.client.Post().
Namespace(c.ns).
Resource("controllerrevisions").
Body(controllerRevision).
Do().
Into(result)
return
}
// Update takes the representation of a controllerRevision and updates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *controllerRevisions) Update(controllerRevision *apps.ControllerRevision) (result *apps.ControllerRevision, err error) {
result = &apps.ControllerRevision{}
err = c.client.Put().
Namespace(c.ns).
Resource("controllerrevisions").
Name(controllerRevision.Name).
Body(controllerRevision).
Do().
Into(result)
return
}
// Delete takes name of the controllerRevision and deletes it. Returns an error if one occurs.
func (c *controllerRevisions) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("controllerrevisions").
Name(name).
Body(options).
Do().
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *controllerRevisions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options).
Do().
Error()
}
// Get takes name of the controllerRevision, and returns the corresponding controllerRevision object, and an error if there is any.
func (c *controllerRevisions) Get(name string, options v1.GetOptions) (result *apps.ControllerRevision, err error) {
result = &apps.ControllerRevision{}
err = c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do().
Into(result)
return
}
// List takes label and field selectors, and returns the list of ControllerRevisions that match those selectors.
func (c *controllerRevisions) List(opts v1.ListOptions) (result *apps.ControllerRevisionList, err error) {
result = &apps.ControllerRevisionList{}
err = c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&opts, scheme.ParameterCodec).
Do().
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested controllerRevisions.
func (c *controllerRevisions) Watch(opts v1.ListOptions) (watch.Interface, error) {
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&opts, scheme.ParameterCodec).
Watch()
}
// Patch applies the patch and returns the patched controllerRevision.
func (c *controllerRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *apps.ControllerRevision, err error) {
result = &apps.ControllerRevision{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("controllerrevisions").
SubResource(subresources...).
Name(name).
Body(data).
Do().
Into(result)
return
}

View File

@ -12,6 +12,7 @@ go_library(
srcs = [
"doc.go",
"fake_apps_client.go",
"fake_controllerrevision.go",
"fake_statefulset.go",
],
tags = ["automanaged"],

View File

@ -26,6 +26,10 @@ type FakeApps struct {
*testing.Fake
}
func (c *FakeApps) ControllerRevisions(namespace string) internalversion.ControllerRevisionInterface {
return &FakeControllerRevisions{c, namespace}
}
func (c *FakeApps) StatefulSets(namespace string) internalversion.StatefulSetInterface {
return &FakeStatefulSets{c, namespace}
}

View File

@ -0,0 +1,120 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package fake
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
testing "k8s.io/client-go/testing"
apps "k8s.io/kubernetes/pkg/apis/apps"
)
// FakeControllerRevisions implements ControllerRevisionInterface
type FakeControllerRevisions struct {
Fake *FakeApps
ns string
}
var controllerrevisionsResource = schema.GroupVersionResource{Group: "apps", Version: "", Resource: "controllerrevisions"}
var controllerrevisionsKind = schema.GroupVersionKind{Group: "apps", Version: "", Kind: "ControllerRevision"}
func (c *FakeControllerRevisions) Create(controllerRevision *apps.ControllerRevision) (result *apps.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(controllerrevisionsResource, c.ns, controllerRevision), &apps.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*apps.ControllerRevision), err
}
func (c *FakeControllerRevisions) Update(controllerRevision *apps.ControllerRevision) (result *apps.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(controllerrevisionsResource, c.ns, controllerRevision), &apps.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*apps.ControllerRevision), err
}
func (c *FakeControllerRevisions) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(controllerrevisionsResource, c.ns, name), &apps.ControllerRevision{})
return err
}
func (c *FakeControllerRevisions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(controllerrevisionsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &apps.ControllerRevisionList{})
return err
}
func (c *FakeControllerRevisions) Get(name string, options v1.GetOptions) (result *apps.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(controllerrevisionsResource, c.ns, name), &apps.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*apps.ControllerRevision), err
}
func (c *FakeControllerRevisions) List(opts v1.ListOptions) (result *apps.ControllerRevisionList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(controllerrevisionsResource, controllerrevisionsKind, c.ns, opts), &apps.ControllerRevisionList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &apps.ControllerRevisionList{}
for _, item := range obj.(*apps.ControllerRevisionList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested controllerRevisions.
func (c *FakeControllerRevisions) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(controllerrevisionsResource, c.ns, opts))
}
// Patch applies the patch and returns the patched controllerRevision.
func (c *FakeControllerRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *apps.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(controllerrevisionsResource, c.ns, name, data, subresources...), &apps.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*apps.ControllerRevision), err
}

View File

@ -16,4 +16,6 @@ limitations under the License.
package internalversion
type ControllerRevisionExpansion interface{}
type StatefulSetExpansion interface{}

View File

@ -10,6 +10,7 @@ load(
go_library(
name = "go_default_library",
srcs = [
"controllerrevision.go",
"deployment.go",
"interface.go",
"statefulset.go",

View File

@ -0,0 +1,68 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// This file was automatically generated by informer-gen
package v1beta1
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
watch "k8s.io/apimachinery/pkg/watch"
cache "k8s.io/client-go/tools/cache"
apps_v1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/externalversions/internalinterfaces"
v1beta1 "k8s.io/kubernetes/pkg/client/listers/apps/v1beta1"
time "time"
)
// ControllerRevisionInformer provides access to a shared informer and lister for
// ControllerRevisions.
type ControllerRevisionInformer interface {
Informer() cache.SharedIndexInformer
Lister() v1beta1.ControllerRevisionLister
}
type controllerRevisionInformer struct {
factory internalinterfaces.SharedInformerFactory
}
func newControllerRevisionInformer(client clientset.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
sharedIndexInformer := cache.NewSharedIndexInformer(
&cache.ListWatch{
ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
return client.AppsV1beta1().ControllerRevisions(v1.NamespaceAll).List(options)
},
WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
return client.AppsV1beta1().ControllerRevisions(v1.NamespaceAll).Watch(options)
},
},
&apps_v1beta1.ControllerRevision{},
resyncPeriod,
cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc},
)
return sharedIndexInformer
}
func (f *controllerRevisionInformer) Informer() cache.SharedIndexInformer {
return f.factory.InformerFor(&apps_v1beta1.ControllerRevision{}, newControllerRevisionInformer)
}
func (f *controllerRevisionInformer) Lister() v1beta1.ControllerRevisionLister {
return v1beta1.NewControllerRevisionLister(f.Informer().GetIndexer())
}

View File

@ -24,6 +24,8 @@ import (
// Interface provides access to all the informers in this group version.
type Interface interface {
// ControllerRevisions returns a ControllerRevisionInformer.
ControllerRevisions() ControllerRevisionInformer
// Deployments returns a DeploymentInformer.
Deployments() DeploymentInformer
// StatefulSets returns a StatefulSetInformer.
@ -39,6 +41,11 @@ func New(f internalinterfaces.SharedInformerFactory) Interface {
return &version{f}
}
// ControllerRevisions returns a ControllerRevisionInformer.
func (v *version) ControllerRevisions() ControllerRevisionInformer {
return &controllerRevisionInformer{factory: v.SharedInformerFactory}
}
// Deployments returns a DeploymentInformer.
func (v *version) Deployments() DeploymentInformer {
return &deploymentInformer{factory: v.SharedInformerFactory}

View File

@ -65,6 +65,8 @@ func (f *genericInformer) Lister() cache.GenericLister {
func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) {
switch resource {
// Group=Apps, Version=V1beta1
case v1beta1.SchemeGroupVersion.WithResource("controllerrevisions"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1beta1().ControllerRevisions().Informer()}, nil
case v1beta1.SchemeGroupVersion.WithResource("deployments"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1beta1().Deployments().Informer()}, nil
case v1beta1.SchemeGroupVersion.WithResource("statefulsets"):

View File

@ -10,6 +10,7 @@ load(
go_library(
name = "go_default_library",
srcs = [
"controllerrevision.go",
"interface.go",
"statefulset.go",
],

View File

@ -0,0 +1,68 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// This file was automatically generated by informer-gen
package internalversion
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
watch "k8s.io/apimachinery/pkg/watch"
cache "k8s.io/client-go/tools/cache"
apps "k8s.io/kubernetes/pkg/apis/apps"
internalclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
internalinterfaces "k8s.io/kubernetes/pkg/client/informers/informers_generated/internalversion/internalinterfaces"
internalversion "k8s.io/kubernetes/pkg/client/listers/apps/internalversion"
time "time"
)
// ControllerRevisionInformer provides access to a shared informer and lister for
// ControllerRevisions.
type ControllerRevisionInformer interface {
Informer() cache.SharedIndexInformer
Lister() internalversion.ControllerRevisionLister
}
type controllerRevisionInformer struct {
factory internalinterfaces.SharedInformerFactory
}
func newControllerRevisionInformer(client internalclientset.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
sharedIndexInformer := cache.NewSharedIndexInformer(
&cache.ListWatch{
ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
return client.Apps().ControllerRevisions(v1.NamespaceAll).List(options)
},
WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
return client.Apps().ControllerRevisions(v1.NamespaceAll).Watch(options)
},
},
&apps.ControllerRevision{},
resyncPeriod,
cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc},
)
return sharedIndexInformer
}
func (f *controllerRevisionInformer) Informer() cache.SharedIndexInformer {
return f.factory.InformerFor(&apps.ControllerRevision{}, newControllerRevisionInformer)
}
func (f *controllerRevisionInformer) Lister() internalversion.ControllerRevisionLister {
return internalversion.NewControllerRevisionLister(f.Informer().GetIndexer())
}

View File

@ -24,6 +24,8 @@ import (
// Interface provides access to all the informers in this group version.
type Interface interface {
// ControllerRevisions returns a ControllerRevisionInformer.
ControllerRevisions() ControllerRevisionInformer
// StatefulSets returns a StatefulSetInformer.
StatefulSets() StatefulSetInformer
}
@ -37,6 +39,11 @@ func New(f internalinterfaces.SharedInformerFactory) Interface {
return &version{f}
}
// ControllerRevisions returns a ControllerRevisionInformer.
func (v *version) ControllerRevisions() ControllerRevisionInformer {
return &controllerRevisionInformer{factory: v.SharedInformerFactory}
}
// StatefulSets returns a StatefulSetInformer.
func (v *version) StatefulSets() StatefulSetInformer {
return &statefulSetInformer{factory: v.SharedInformerFactory}

View File

@ -61,6 +61,8 @@ func (f *genericInformer) Lister() cache.GenericLister {
func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) {
switch resource {
// Group=Apps, Version=InternalVersion
case apps.SchemeGroupVersion.WithResource("controllerrevisions"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().InternalVersion().ControllerRevisions().Informer()}, nil
case apps.SchemeGroupVersion.WithResource("statefulsets"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().InternalVersion().StatefulSets().Informer()}, nil

View File

@ -10,6 +10,7 @@ load(
go_library(
name = "go_default_library",
srcs = [
"controllerrevision.go",
"expansion_generated.go",
"statefulset.go",
"statefulset_expansion.go",

View File

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

View File

@ -17,3 +17,11 @@ limitations under the License.
// This file was automatically generated by lister-gen
package internalversion
// ControllerRevisionListerExpansion allows custom methods to be added to
// ControllerRevisionLister.
type ControllerRevisionListerExpansion interface{}
// ControllerRevisionNamespaceListerExpansion allows custom methods to be added to
// ControllerRevisionNamespaceLister.
type ControllerRevisionNamespaceListerExpansion interface{}

View File

@ -10,6 +10,7 @@ load(
go_library(
name = "go_default_library",
srcs = [
"controllerrevision.go",
"deployment.go",
"expansion_generated.go",
"scale.go",

View File

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

View File

@ -18,6 +18,14 @@ limitations under the License.
package v1beta1
// ControllerRevisionListerExpansion allows custom methods to be added to
// ControllerRevisionLister.
type ControllerRevisionListerExpansion interface{}
// ControllerRevisionNamespaceListerExpansion allows custom methods to be added to
// ControllerRevisionNamespaceLister.
type ControllerRevisionNamespaceListerExpansion interface{}
// DeploymentListerExpansion allows custom methods to be added to
// DeploymentLister.
type DeploymentListerExpansion interface{}

View File

@ -24,6 +24,7 @@ filegroup(
name = "all-srcs",
srcs = [
":package-srcs",
"//pkg/registry/apps/controllerrevision:all-srcs",
"//pkg/registry/apps/rest:all-srcs",
"//pkg/registry/apps/statefulset:all-srcs",
"//pkg/registry/authentication/rest:all-srcs",

View File

@ -0,0 +1,64 @@
package(default_visibility = ["//visibility:public"])
licenses(["notice"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
"go_test",
)
go_test(
name = "go_default_test",
srcs = ["strategy_test.go"],
library = ":go_default_library",
tags = ["automanaged"],
deps = [
"//pkg/api:go_default_library",
"//pkg/apis/apps:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/fields:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library",
],
)
go_library(
name = "go_default_library",
srcs = [
"doc.go",
"strategy.go",
],
tags = ["automanaged"],
deps = [
"//pkg/api:go_default_library",
"//pkg/apis/apps:go_default_library",
"//pkg/apis/apps/validation:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/fields:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
"//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library",
"//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library",
"//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library",
"//vendor/k8s.io/apiserver/pkg/storage:go_default_library",
"//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [
":package-srcs",
"//pkg/registry/apps/controllerrevision/storage:all-srcs",
],
tags = ["automanaged"],
)

View File

@ -0,0 +1,17 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package controllerrevision // import "k8s.io/kubernetes/pkg/registry/apps/controllerrevision"

View File

@ -0,0 +1,55 @@
package(default_visibility = ["//visibility:public"])
licenses(["notice"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
"go_test",
)
go_test(
name = "go_default_test",
srcs = ["storage_test.go"],
library = ":go_default_library",
tags = ["automanaged"],
deps = [
"//pkg/api:go_default_library",
"//pkg/apis/apps:go_default_library",
"//pkg/registry/registrytest:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/fields:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library",
"//vendor/k8s.io/apiserver/pkg/storage/etcd/testing:go_default_library",
],
)
go_library(
name = "go_default_library",
srcs = ["storage.go"],
tags = ["automanaged"],
deps = [
"//pkg/api:go_default_library",
"//pkg/apis/apps:go_default_library",
"//pkg/registry/apps/controllerrevision:go_default_library",
"//pkg/registry/cachesize:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library",
"//vendor/k8s.io/apiserver/pkg/registry/generic/registry:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
)

View File

@ -0,0 +1,53 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package storage
import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apiserver/pkg/registry/generic"
genericregistry "k8s.io/apiserver/pkg/registry/generic/registry"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/apps"
"k8s.io/kubernetes/pkg/registry/apps/controllerrevision"
"k8s.io/kubernetes/pkg/registry/cachesize"
)
// REST implements a RESTStorage for ControllerRevision
type REST struct {
*genericregistry.Store
}
// NewREST returns a RESTStorage object that will work with ControllerRevision objects.
func NewREST(optsGetter generic.RESTOptionsGetter) *REST {
store := &genericregistry.Store{
Copier: api.Scheme,
NewFunc: func() runtime.Object { return &apps.ControllerRevision{} },
NewListFunc: func() runtime.Object { return &apps.ControllerRevisionList{} },
PredicateFunc: controllerrevision.MatchControllerRevision,
QualifiedResource: apps.Resource("controllerrevisions"),
WatchCacheSize: cachesize.GetWatchCacheSizeByResource("controllerrevisions"),
CreateStrategy: controllerrevision.Strategy,
UpdateStrategy: controllerrevision.Strategy,
DeleteStrategy: controllerrevision.Strategy,
}
options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: controllerrevision.GetAttrs}
if err := store.CompleteWithOptions(options); err != nil {
panic(err)
}
return &REST{store}
}

View File

@ -0,0 +1,182 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package storage
import (
"testing"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/fields"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apiserver/pkg/registry/generic"
etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/apps"
"k8s.io/kubernetes/pkg/registry/registrytest"
)
func TestCreate(t *testing.T) {
storage, server := newStorage(t)
defer server.Terminate(t)
defer storage.Store.DestroyFunc()
test := registrytest.New(t, storage.Store)
var (
valid = stripObjectMeta(newControllerRevision("validname", metav1.NamespaceDefault, newObject(), 0))
badRevision = stripObjectMeta(newControllerRevision("validname", "validns", newObject(), -1))
emptyName = stripObjectMeta(newControllerRevision("", "validns", newObject(), 0))
invalidName = stripObjectMeta(newControllerRevision("NoUppercaseOrSpecialCharsLike=Equals", "validns", newObject(), 0))
emptyNs = stripObjectMeta(newControllerRevision("validname", "", newObject(), 100))
invalidNs = stripObjectMeta(newControllerRevision("validname", "NoUppercaseOrSpecialCharsLike=Equals", newObject(), 100))
nilData = stripObjectMeta(newControllerRevision("validname", "validns", nil, 0))
)
test.TestCreate(
valid,
badRevision,
emptyName,
invalidName,
emptyNs,
invalidNs,
nilData)
}
func TestUpdate(t *testing.T) {
storage, server := newStorage(t)
defer server.Terminate(t)
defer storage.Store.DestroyFunc()
test := registrytest.New(t, storage.Store)
addLabel := func(obj runtime.Object) runtime.Object {
rev := obj.(*apps.ControllerRevision)
update := &apps.ControllerRevision{
ObjectMeta: rev.ObjectMeta,
Data: rev.Data,
Revision: rev.Revision,
}
update.ObjectMeta.Labels = map[string]string{"foo": "bar"}
return update
}
updateData := func(obj runtime.Object) runtime.Object {
rev := obj.(*apps.ControllerRevision)
modified := newObject()
ss := modified.(*apps.StatefulSet)
ss.Name = "cde"
update := &apps.ControllerRevision{
ObjectMeta: rev.ObjectMeta,
Data: ss,
Revision: rev.Revision + 1,
}
return update
}
test.TestUpdate(stripObjectMeta(newControllerRevision("validname", metav1.NamespaceDefault, newObject(), 0)),
addLabel,
updateData)
}
func TestGet(t *testing.T) {
storage, server := newStorage(t)
defer server.Terminate(t)
defer storage.Store.DestroyFunc()
test := registrytest.New(t, storage.Store)
test.TestGet(newControllerRevision("valid", metav1.NamespaceDefault, newObject(), 0))
}
func TestList(t *testing.T) {
storage, server := newStorage(t)
defer server.Terminate(t)
defer storage.Store.DestroyFunc()
test := registrytest.New(t, storage.Store)
test.TestList(newControllerRevision("valid", metav1.NamespaceDefault, newObject(), 0))
}
func TestDelete(t *testing.T) {
storage, server := newStorage(t)
defer server.Terminate(t)
defer storage.Store.DestroyFunc()
test := registrytest.New(t, storage.Store)
test.TestDelete(newControllerRevision("valid", metav1.NamespaceDefault, newObject(), 0))
}
func TestWatch(t *testing.T) {
storage, server := newStorage(t)
defer server.Terminate(t)
defer storage.Store.DestroyFunc()
test := registrytest.New(t, storage.Store)
test.TestWatch(
newControllerRevision("valid", metav1.NamespaceDefault, newObject(), 0),
[]labels.Set{
{"foo": "bar"},
},
[]labels.Set{
{"hoo": "baz"},
},
[]fields.Set{
{"metadata.name": "valid"},
},
[]fields.Set{
{"metadata.name": "nomatch"},
},
)
}
func newControllerRevision(name, namespace string, data runtime.Object, revision int64) *apps.ControllerRevision {
return &apps.ControllerRevision{
ObjectMeta: metav1.ObjectMeta{
Name: name,
Namespace: namespace,
Labels: map[string]string{"foo": "bar"},
},
Data: data,
Revision: revision,
}
}
func stripObjectMeta(revision *apps.ControllerRevision) *apps.ControllerRevision {
revision.ObjectMeta = metav1.ObjectMeta{}
return revision
}
func newStorage(t *testing.T) (*REST, *etcdtesting.EtcdTestServer) {
etcdStorage, server := registrytest.NewEtcdStorage(t, apps.GroupName)
restOptions := generic.RESTOptions{
StorageConfig: etcdStorage,
Decorator: generic.UndecoratedStorage,
DeleteCollectionWorkers: 1,
ResourcePrefix: "controllerrevisions"}
storage := NewREST(restOptions)
return storage, server
}
func newObject() runtime.Object {
return &apps.StatefulSet{
ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: metav1.NamespaceDefault},
Spec: apps.StatefulSetSpec{
Selector: &metav1.LabelSelector{MatchLabels: map[string]string{"foo": "bar"}},
Template: api.PodTemplateSpec{
Spec: api.PodSpec{
RestartPolicy: api.RestartPolicyAlways,
DNSPolicy: api.DNSClusterFirst,
},
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"foo": "bar"},
},
},
},
}
}

View File

@ -0,0 +1,108 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package controllerrevision
import (
"errors"
"k8s.io/apimachinery/pkg/fields"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/validation/field"
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
"k8s.io/apiserver/pkg/registry/generic"
"k8s.io/apiserver/pkg/registry/rest"
apistorage "k8s.io/apiserver/pkg/storage"
"k8s.io/apiserver/pkg/storage/names"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/apps"
"k8s.io/kubernetes/pkg/apis/apps/validation"
)
// strategy implements behavior for ConfigMap objects
type strategy struct {
runtime.ObjectTyper
names.NameGenerator
}
// Strategy is the default logic that applies when creating and updating ControllerRevision
// objects via the REST API.
var Strategy = strategy{api.Scheme, names.SimpleNameGenerator}
// Strategy should implement rest.RESTCreateStrategy
var _ rest.RESTCreateStrategy = Strategy
// Strategy should implement rest.RESTUpdateStrategy
var _ rest.RESTUpdateStrategy = Strategy
func (strategy) NamespaceScoped() bool {
return true
}
func (strategy) Canonicalize(obj runtime.Object) {
}
func (strategy) AllowCreateOnUpdate() bool {
return false
}
func (strategy) PrepareForCreate(ctx genericapirequest.Context, obj runtime.Object) {
_ = obj.(*apps.ControllerRevision)
}
func (strategy) Validate(ctx genericapirequest.Context, obj runtime.Object) field.ErrorList {
revision := obj.(*apps.ControllerRevision)
return validation.ValidateControllerRevision(revision)
}
func (strategy) PrepareForUpdate(ctx genericapirequest.Context, newObj, oldObj runtime.Object) {
_ = oldObj.(*apps.ControllerRevision)
_ = newObj.(*apps.ControllerRevision)
}
func (strategy) AllowUnconditionalUpdate() bool {
return true
}
func (strategy) ValidateUpdate(ctx genericapirequest.Context, newObj, oldObj runtime.Object) field.ErrorList {
oldRevision, newRevision := oldObj.(*apps.ControllerRevision), newObj.(*apps.ControllerRevision)
return validation.ValidateControllerRevisionUpdate(newRevision, oldRevision)
}
// ControllerRevisionToSelectableFields returns a field set that represents the object for matching purposes.
func ControllerRevisionToSelectableFields(revision *apps.ControllerRevision) fields.Set {
return generic.ObjectMetaFieldsSet(&revision.ObjectMeta, true)
}
// GetAttrs returns labels and fields of a given object for filtering purposes.
func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) {
history, ok := obj.(*apps.ControllerRevision)
if !ok {
return nil, nil, errors.New("supplied object is not an ControllerRevision")
}
return labels.Set(history.ObjectMeta.Labels), ControllerRevisionToSelectableFields(history), nil
}
// MatchControllerRevision returns a generic matcher for a given label and field selector.
func MatchControllerRevision(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate {
return apistorage.SelectionPredicate{
Label: label,
Field: field,
GetAttrs: GetAttrs,
}
}

View File

@ -0,0 +1,205 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package controllerrevision
import (
"testing"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/fields"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/apps"
)
func TestStrategy_NamespaceScoped(t *testing.T) {
if !Strategy.NamespaceScoped() {
t.Error("ControllerRevision strategy must be namespace scoped")
}
}
func TestStrategy_AllowCreateOnUpdate(t *testing.T) {
if Strategy.AllowCreateOnUpdate() {
t.Error("ControllerRevision should not be created on update")
}
}
func TestStrategy_Validate(t *testing.T) {
ctx := genericapirequest.NewDefaultContext()
var (
valid = newControllerRevision("validname", "validns", newObject(), 0)
badRevision = newControllerRevision("validname", "validns", newObject(), -1)
emptyName = newControllerRevision("", "validns", newObject(), 0)
invalidName = newControllerRevision("NoUppercaseOrSpecialCharsLike=Equals", "validns", newObject(), 0)
emptyNs = newControllerRevision("validname", "", newObject(), 100)
invalidNs = newControllerRevision("validname", "NoUppercaseOrSpecialCharsLike=Equals", newObject(), 100)
nilData = newControllerRevision("validname", "validns", nil, 0)
)
tests := map[string]struct {
history *apps.ControllerRevision
isValid bool
}{
"valid": {valid, true},
"negative revision": {badRevision, false},
"empty name": {emptyName, false},
"invalid name": {invalidName, false},
"empty namespace": {emptyNs, false},
"invalid namespace": {invalidNs, false},
"nil data": {nilData, false},
}
for name, tc := range tests {
errs := Strategy.Validate(ctx, tc.history)
if tc.isValid && len(errs) > 0 {
t.Errorf("%v: unexpected error: %v", name, errs)
}
if !tc.isValid && len(errs) == 0 {
t.Errorf("%v: unexpected non-error", name)
}
}
}
func TestStrategy_ValidateUpdate(t *testing.T) {
ctx := genericapirequest.NewDefaultContext()
var (
valid = newControllerRevision("validname", "validns", newObject(), 0)
changedData = newControllerRevision("validname", "validns",
func() runtime.Object {
modified := newObject()
ss := modified.(*apps.StatefulSet)
ss.Name = "cde"
return modified
}(), 0)
changedRevision = newControllerRevision("validname", "validns", newObject(), 1)
)
cases := []struct {
name string
newHistory *apps.ControllerRevision
oldHistory *apps.ControllerRevision
isValid bool
}{
{
name: "valid",
newHistory: valid,
oldHistory: valid,
isValid: true,
},
{
name: "changed data",
newHistory: changedData,
oldHistory: valid,
isValid: false,
},
{
name: "changed revision",
newHistory: changedRevision,
oldHistory: valid,
isValid: true,
},
}
for _, tc := range cases {
errs := Strategy.ValidateUpdate(ctx, tc.newHistory, tc.oldHistory)
if tc.isValid && len(errs) > 0 {
t.Errorf("%v: unexpected error: %v", tc.name, errs)
}
if !tc.isValid && len(errs) == 0 {
t.Errorf("%v: unexpected non-error", tc.name)
}
}
}
func TestControllerRevisionToSelectableFields(t *testing.T) {
rev := newControllerRevision("validname", "validns", newObject(), 0)
fieldSet := ControllerRevisionToSelectableFields(rev)
if fieldSet.Get("metadata.name") != rev.Name {
t.Errorf("expeted %s found %s", rev.Name, fieldSet.Get("metadata.name"))
}
if fieldSet.Get("metadata.namespace") != rev.Namespace {
t.Errorf("expeted %s found %s", rev.Namespace, fieldSet.Get("metadata.namespace"))
}
}
func TestGetAttrs(t *testing.T) {
rev := newControllerRevision("validname", "validns", newObject(), 0)
labelSet, fieldSet, err := GetAttrs(rev)
if err != nil {
t.Fatal(err)
}
if fieldSet.Get("metadata.name") != rev.Name {
t.Errorf("expeted %s found %s", rev.Name, fieldSet.Get("metadata.name"))
}
if fieldSet.Get("metadata.namespace") != rev.Namespace {
t.Errorf("expeted %s found %s", rev.Namespace, fieldSet.Get("metadata.namespace"))
}
if labelSet.Get("foo") != rev.Labels["foo"] {
t.Errorf("expected %s found %s", rev.Labels["foo"], labelSet.Get("foo"))
}
}
func TestMatchControllerRevision(t *testing.T) {
rev := newControllerRevision("validname", "validns", newObject(), 0)
ls := labels.SelectorFromSet(labels.Set(rev.Labels))
pred := MatchControllerRevision(ls, nil)
if matches, err := pred.Matches(rev); err != nil {
t.Error(err)
} else if !matches {
t.Error("failed to match ControllerRevision by labels")
}
fs := fields.SelectorFromSet(ControllerRevisionToSelectableFields(rev))
pred = MatchControllerRevision(ls, fs)
if matches, err := pred.Matches(rev); err != nil {
t.Error(err)
} else if !matches {
t.Error("failed to match ControllerRevision by fields")
}
}
func newControllerRevision(name, namespace string, data runtime.Object, revision int64) *apps.ControllerRevision {
return &apps.ControllerRevision{
ObjectMeta: metav1.ObjectMeta{
Name: name,
Namespace: namespace,
ResourceVersion: "1",
Labels: map[string]string{"foo": "bar"},
},
Data: data,
Revision: revision,
}
}
func newObject() runtime.Object {
return &apps.StatefulSet{
ObjectMeta: metav1.ObjectMeta{Name: "abc", Namespace: metav1.NamespaceDefault},
Spec: apps.StatefulSetSpec{
Selector: &metav1.LabelSelector{MatchLabels: map[string]string{"foo": "bar"}},
Template: api.PodTemplateSpec{
Spec: api.PodSpec{
RestartPolicy: api.RestartPolicyAlways,
DNSPolicy: api.DNSClusterFirst,
},
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"foo": "bar"},
},
},
},
}
}

View File

@ -15,6 +15,7 @@ go_library(
"//pkg/api:go_default_library",
"//pkg/apis/apps:go_default_library",
"//pkg/apis/apps/v1beta1:go_default_library",
"//pkg/registry/apps/controllerrevision/storage:go_default_library",
"//pkg/registry/apps/statefulset/storage:go_default_library",
"//pkg/registry/extensions/deployment/storage:go_default_library",
"//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library",

View File

@ -24,6 +24,7 @@ import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/apis/apps"
appsapiv1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1"
controllerrevisionsstore "k8s.io/kubernetes/pkg/registry/apps/controllerrevision/storage"
statefulsetstore "k8s.io/kubernetes/pkg/registry/apps/statefulset/storage"
deploymentstore "k8s.io/kubernetes/pkg/registry/extensions/deployment/storage"
)
@ -57,6 +58,10 @@ func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorag
storage["statefulsets"] = statefulsetStorage
storage["statefulsets/status"] = statefulsetStatusStorage
}
if apiResourceConfigSource.ResourceEnabled(version.WithResource("controllerrevisions")) {
historyStorage := controllerrevisionsstore.NewREST(restOptionsGetter)
storage["controllerrevisions"] = historyStorage
}
return storage
}

View File

@ -10,6 +10,7 @@ load(
go_library(
name = "go_default_library",
srcs = [
"controllerrevision.go",
"deployment.go",
"interface.go",
"statefulset.go",

View File

@ -0,0 +1,68 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// This file was automatically generated by informer-gen
package v1beta1
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
watch "k8s.io/apimachinery/pkg/watch"
internalinterfaces "k8s.io/client-go/informers/internalinterfaces"
kubernetes "k8s.io/client-go/kubernetes"
v1beta1 "k8s.io/client-go/listers/apps/v1beta1"
apps_v1beta1 "k8s.io/client-go/pkg/apis/apps/v1beta1"
cache "k8s.io/client-go/tools/cache"
time "time"
)
// ControllerRevisionInformer provides access to a shared informer and lister for
// ControllerRevisions.
type ControllerRevisionInformer interface {
Informer() cache.SharedIndexInformer
Lister() v1beta1.ControllerRevisionLister
}
type controllerRevisionInformer struct {
factory internalinterfaces.SharedInformerFactory
}
func newControllerRevisionInformer(client kubernetes.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
sharedIndexInformer := cache.NewSharedIndexInformer(
&cache.ListWatch{
ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
return client.AppsV1beta1().ControllerRevisions(v1.NamespaceAll).List(options)
},
WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
return client.AppsV1beta1().ControllerRevisions(v1.NamespaceAll).Watch(options)
},
},
&apps_v1beta1.ControllerRevision{},
resyncPeriod,
cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc},
)
return sharedIndexInformer
}
func (f *controllerRevisionInformer) Informer() cache.SharedIndexInformer {
return f.factory.InformerFor(&apps_v1beta1.ControllerRevision{}, newControllerRevisionInformer)
}
func (f *controllerRevisionInformer) Lister() v1beta1.ControllerRevisionLister {
return v1beta1.NewControllerRevisionLister(f.Informer().GetIndexer())
}

View File

@ -24,6 +24,8 @@ import (
// Interface provides access to all the informers in this group version.
type Interface interface {
// ControllerRevisions returns a ControllerRevisionInformer.
ControllerRevisions() ControllerRevisionInformer
// Deployments returns a DeploymentInformer.
Deployments() DeploymentInformer
// StatefulSets returns a StatefulSetInformer.
@ -39,6 +41,11 @@ func New(f internalinterfaces.SharedInformerFactory) Interface {
return &version{f}
}
// ControllerRevisions returns a ControllerRevisionInformer.
func (v *version) ControllerRevisions() ControllerRevisionInformer {
return &controllerRevisionInformer{factory: v.SharedInformerFactory}
}
// Deployments returns a DeploymentInformer.
func (v *version) Deployments() DeploymentInformer {
return &deploymentInformer{factory: v.SharedInformerFactory}

View File

@ -65,6 +65,8 @@ func (f *genericInformer) Lister() cache.GenericLister {
func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) {
switch resource {
// Group=Apps, Version=V1beta1
case v1beta1.SchemeGroupVersion.WithResource("controllerrevisions"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1beta1().ControllerRevisions().Informer()}, nil
case v1beta1.SchemeGroupVersion.WithResource("deployments"):
return &genericInformer{resource: resource.GroupResource(), informer: f.Apps().V1beta1().Deployments().Informer()}, nil
case v1beta1.SchemeGroupVersion.WithResource("statefulsets"):

View File

@ -11,6 +11,7 @@ go_library(
name = "go_default_library",
srcs = [
"apps_client.go",
"controllerrevision.go",
"deployment.go",
"doc.go",
"generated_expansion.go",

View File

@ -25,6 +25,7 @@ import (
type AppsV1beta1Interface interface {
RESTClient() rest.Interface
ControllerRevisionsGetter
DeploymentsGetter
ScalesGetter
StatefulSetsGetter
@ -35,6 +36,10 @@ type AppsV1beta1Client struct {
restClient rest.Interface
}
func (c *AppsV1beta1Client) ControllerRevisions(namespace string) ControllerRevisionInterface {
return newControllerRevisions(c, namespace)
}
func (c *AppsV1beta1Client) Deployments(namespace string) DeploymentInterface {
return newDeployments(c, namespace)
}

View File

@ -0,0 +1,155 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package v1beta1
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
scheme "k8s.io/client-go/kubernetes/scheme"
v1beta1 "k8s.io/client-go/pkg/apis/apps/v1beta1"
rest "k8s.io/client-go/rest"
)
// ControllerRevisionsGetter has a method to return a ControllerRevisionInterface.
// A group's client should implement this interface.
type ControllerRevisionsGetter interface {
ControllerRevisions(namespace string) ControllerRevisionInterface
}
// ControllerRevisionInterface has methods to work with ControllerRevision resources.
type ControllerRevisionInterface interface {
Create(*v1beta1.ControllerRevision) (*v1beta1.ControllerRevision, error)
Update(*v1beta1.ControllerRevision) (*v1beta1.ControllerRevision, error)
Delete(name string, options *v1.DeleteOptions) error
DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error
Get(name string, options v1.GetOptions) (*v1beta1.ControllerRevision, error)
List(opts v1.ListOptions) (*v1beta1.ControllerRevisionList, error)
Watch(opts v1.ListOptions) (watch.Interface, error)
Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ControllerRevision, err error)
ControllerRevisionExpansion
}
// controllerRevisions implements ControllerRevisionInterface
type controllerRevisions struct {
client rest.Interface
ns string
}
// newControllerRevisions returns a ControllerRevisions
func newControllerRevisions(c *AppsV1beta1Client, namespace string) *controllerRevisions {
return &controllerRevisions{
client: c.RESTClient(),
ns: namespace,
}
}
// Create takes the representation of a controllerRevision and creates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *controllerRevisions) Create(controllerRevision *v1beta1.ControllerRevision) (result *v1beta1.ControllerRevision, err error) {
result = &v1beta1.ControllerRevision{}
err = c.client.Post().
Namespace(c.ns).
Resource("controllerrevisions").
Body(controllerRevision).
Do().
Into(result)
return
}
// Update takes the representation of a controllerRevision and updates it. Returns the server's representation of the controllerRevision, and an error, if there is any.
func (c *controllerRevisions) Update(controllerRevision *v1beta1.ControllerRevision) (result *v1beta1.ControllerRevision, err error) {
result = &v1beta1.ControllerRevision{}
err = c.client.Put().
Namespace(c.ns).
Resource("controllerrevisions").
Name(controllerRevision.Name).
Body(controllerRevision).
Do().
Into(result)
return
}
// Delete takes name of the controllerRevision and deletes it. Returns an error if one occurs.
func (c *controllerRevisions) Delete(name string, options *v1.DeleteOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("controllerrevisions").
Name(name).
Body(options).
Do().
Error()
}
// DeleteCollection deletes a collection of objects.
func (c *controllerRevisions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
return c.client.Delete().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&listOptions, scheme.ParameterCodec).
Body(options).
Do().
Error()
}
// Get takes name of the controllerRevision, and returns the corresponding controllerRevision object, and an error if there is any.
func (c *controllerRevisions) Get(name string, options v1.GetOptions) (result *v1beta1.ControllerRevision, err error) {
result = &v1beta1.ControllerRevision{}
err = c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
Name(name).
VersionedParams(&options, scheme.ParameterCodec).
Do().
Into(result)
return
}
// List takes label and field selectors, and returns the list of ControllerRevisions that match those selectors.
func (c *controllerRevisions) List(opts v1.ListOptions) (result *v1beta1.ControllerRevisionList, err error) {
result = &v1beta1.ControllerRevisionList{}
err = c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&opts, scheme.ParameterCodec).
Do().
Into(result)
return
}
// Watch returns a watch.Interface that watches the requested controllerRevisions.
func (c *controllerRevisions) Watch(opts v1.ListOptions) (watch.Interface, error) {
opts.Watch = true
return c.client.Get().
Namespace(c.ns).
Resource("controllerrevisions").
VersionedParams(&opts, scheme.ParameterCodec).
Watch()
}
// Patch applies the patch and returns the patched controllerRevision.
func (c *controllerRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ControllerRevision, err error) {
result = &v1beta1.ControllerRevision{}
err = c.client.Patch(pt).
Namespace(c.ns).
Resource("controllerrevisions").
SubResource(subresources...).
Name(name).
Body(data).
Do().
Into(result)
return
}

View File

@ -12,6 +12,7 @@ go_library(
srcs = [
"doc.go",
"fake_apps_client.go",
"fake_controllerrevision.go",
"fake_deployment.go",
"fake_scale.go",
"fake_statefulset.go",

View File

@ -26,6 +26,10 @@ type FakeAppsV1beta1 struct {
*testing.Fake
}
func (c *FakeAppsV1beta1) ControllerRevisions(namespace string) v1beta1.ControllerRevisionInterface {
return &FakeControllerRevisions{c, namespace}
}
func (c *FakeAppsV1beta1) Deployments(namespace string) v1beta1.DeploymentInterface {
return &FakeDeployments{c, namespace}
}

View File

@ -0,0 +1,120 @@
/*
Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package fake
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
labels "k8s.io/apimachinery/pkg/labels"
schema "k8s.io/apimachinery/pkg/runtime/schema"
types "k8s.io/apimachinery/pkg/types"
watch "k8s.io/apimachinery/pkg/watch"
v1beta1 "k8s.io/client-go/pkg/apis/apps/v1beta1"
testing "k8s.io/client-go/testing"
)
// FakeControllerRevisions implements ControllerRevisionInterface
type FakeControllerRevisions struct {
Fake *FakeAppsV1beta1
ns string
}
var controllerrevisionsResource = schema.GroupVersionResource{Group: "apps", Version: "v1beta1", Resource: "controllerrevisions"}
var controllerrevisionsKind = schema.GroupVersionKind{Group: "apps", Version: "v1beta1", Kind: "ControllerRevision"}
func (c *FakeControllerRevisions) Create(controllerRevision *v1beta1.ControllerRevision) (result *v1beta1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewCreateAction(controllerrevisionsResource, c.ns, controllerRevision), &v1beta1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ControllerRevision), err
}
func (c *FakeControllerRevisions) Update(controllerRevision *v1beta1.ControllerRevision) (result *v1beta1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewUpdateAction(controllerrevisionsResource, c.ns, controllerRevision), &v1beta1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ControllerRevision), err
}
func (c *FakeControllerRevisions) Delete(name string, options *v1.DeleteOptions) error {
_, err := c.Fake.
Invokes(testing.NewDeleteAction(controllerrevisionsResource, c.ns, name), &v1beta1.ControllerRevision{})
return err
}
func (c *FakeControllerRevisions) DeleteCollection(options *v1.DeleteOptions, listOptions v1.ListOptions) error {
action := testing.NewDeleteCollectionAction(controllerrevisionsResource, c.ns, listOptions)
_, err := c.Fake.Invokes(action, &v1beta1.ControllerRevisionList{})
return err
}
func (c *FakeControllerRevisions) Get(name string, options v1.GetOptions) (result *v1beta1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewGetAction(controllerrevisionsResource, c.ns, name), &v1beta1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ControllerRevision), err
}
func (c *FakeControllerRevisions) List(opts v1.ListOptions) (result *v1beta1.ControllerRevisionList, err error) {
obj, err := c.Fake.
Invokes(testing.NewListAction(controllerrevisionsResource, controllerrevisionsKind, c.ns, opts), &v1beta1.ControllerRevisionList{})
if obj == nil {
return nil, err
}
label, _, _ := testing.ExtractFromListOptions(opts)
if label == nil {
label = labels.Everything()
}
list := &v1beta1.ControllerRevisionList{}
for _, item := range obj.(*v1beta1.ControllerRevisionList).Items {
if label.Matches(labels.Set(item.Labels)) {
list.Items = append(list.Items, item)
}
}
return list, err
}
// Watch returns a watch.Interface that watches the requested controllerRevisions.
func (c *FakeControllerRevisions) Watch(opts v1.ListOptions) (watch.Interface, error) {
return c.Fake.
InvokesWatch(testing.NewWatchAction(controllerrevisionsResource, c.ns, opts))
}
// Patch applies the patch and returns the patched controllerRevision.
func (c *FakeControllerRevisions) Patch(name string, pt types.PatchType, data []byte, subresources ...string) (result *v1beta1.ControllerRevision, err error) {
obj, err := c.Fake.
Invokes(testing.NewPatchSubresourceAction(controllerrevisionsResource, c.ns, name, data, subresources...), &v1beta1.ControllerRevision{})
if obj == nil {
return nil, err
}
return obj.(*v1beta1.ControllerRevision), err
}

View File

@ -16,6 +16,8 @@ limitations under the License.
package v1beta1
type ControllerRevisionExpansion interface{}
type DeploymentExpansion interface{}
type ScaleExpansion interface{}

View File

@ -10,6 +10,7 @@ load(
go_library(
name = "go_default_library",
srcs = [
"controllerrevision.go",
"deployment.go",
"expansion_generated.go",
"scale.go",

View File

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

View File

@ -18,6 +18,14 @@ limitations under the License.
package v1beta1
// ControllerRevisionListerExpansion allows custom methods to be added to
// ControllerRevisionLister.
type ControllerRevisionListerExpansion interface{}
// ControllerRevisionNamespaceListerExpansion allows custom methods to be added to
// ControllerRevisionNamespaceLister.
type ControllerRevisionNamespaceListerExpansion interface{}
// DeploymentListerExpansion allows custom methods to be added to
// DeploymentLister.
type DeploymentListerExpansion interface{}

View File

@ -53,6 +53,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&extensions.Scale{},
&StatefulSet{},
&StatefulSetList{},
&ControllerRevision{},
&ControllerRevisionList{},
)
return nil
}

View File

@ -18,6 +18,7 @@ package apps
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/pkg/api"
)
@ -127,3 +128,35 @@ type StatefulSetList struct {
metav1.ListMeta
Items []StatefulSet
}
// +genclient=true
// ControllerRevision implements an immutable snapshot of state data. Clients
// are responsible for serializing and deserializing the objects that contain
// their internal state.
// Once a ControllerRevision has been successfully created, it can not be updated.
// The API Server will fail validation of all requests that attempt to mutate
// the Data field. ControllerRevisions may, however, be deleted.
type ControllerRevision struct {
metav1.TypeMeta
// Standard object's metadata.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
// +optional
metav1.ObjectMeta
// Data is the Object representing the state.
Data runtime.Object
// Revision indicates the revision of the state represented by Data.
Revision int64
}
// ControllerRevisionList is a resource containing a list of ControllerRevision objects.
type ControllerRevisionList struct {
metav1.TypeMeta
// +optional
metav1.ListMeta
// Items is the list of ControllerRevision objects.
Items []ControllerRevision
}

View File

@ -25,6 +25,8 @@ limitations under the License.
k8s.io/kubernetes/pkg/apis/apps/v1beta1/generated.proto
It has these top-level messages:
ControllerRevision
ControllerRevisionList
Deployment
DeploymentCondition
DeploymentList
@ -71,71 +73,83 @@ var _ = math.Inf
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
func (m *ControllerRevision) Reset() { *m = ControllerRevision{} }
func (*ControllerRevision) ProtoMessage() {}
func (*ControllerRevision) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
func (m *ControllerRevisionList) Reset() { *m = ControllerRevisionList{} }
func (*ControllerRevisionList) ProtoMessage() {}
func (*ControllerRevisionList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
func (m *Deployment) Reset() { *m = Deployment{} }
func (*Deployment) ProtoMessage() {}
func (*Deployment) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} }
func (*Deployment) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} }
func (m *DeploymentCondition) Reset() { *m = DeploymentCondition{} }
func (*DeploymentCondition) ProtoMessage() {}
func (*DeploymentCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} }
func (*DeploymentCondition) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
func (m *DeploymentList) Reset() { *m = DeploymentList{} }
func (*DeploymentList) ProtoMessage() {}
func (*DeploymentList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} }
func (*DeploymentList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
func (m *DeploymentRollback) Reset() { *m = DeploymentRollback{} }
func (*DeploymentRollback) ProtoMessage() {}
func (*DeploymentRollback) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} }
func (*DeploymentRollback) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
func (m *DeploymentSpec) Reset() { *m = DeploymentSpec{} }
func (*DeploymentSpec) ProtoMessage() {}
func (*DeploymentSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{4} }
func (*DeploymentSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
func (m *DeploymentStatus) Reset() { *m = DeploymentStatus{} }
func (*DeploymentStatus) ProtoMessage() {}
func (*DeploymentStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{5} }
func (*DeploymentStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
func (m *DeploymentStrategy) Reset() { *m = DeploymentStrategy{} }
func (*DeploymentStrategy) ProtoMessage() {}
func (*DeploymentStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} }
func (*DeploymentStrategy) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} }
func (m *RollbackConfig) Reset() { *m = RollbackConfig{} }
func (*RollbackConfig) ProtoMessage() {}
func (*RollbackConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} }
func (*RollbackConfig) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} }
func (m *RollingUpdateDeployment) Reset() { *m = RollingUpdateDeployment{} }
func (*RollingUpdateDeployment) ProtoMessage() {}
func (*RollingUpdateDeployment) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} }
func (m *RollingUpdateDeployment) Reset() { *m = RollingUpdateDeployment{} }
func (*RollingUpdateDeployment) ProtoMessage() {}
func (*RollingUpdateDeployment) Descriptor() ([]byte, []int) {
return fileDescriptorGenerated, []int{10}
}
func (m *Scale) Reset() { *m = Scale{} }
func (*Scale) ProtoMessage() {}
func (*Scale) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} }
func (*Scale) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} }
func (m *ScaleSpec) Reset() { *m = ScaleSpec{} }
func (*ScaleSpec) ProtoMessage() {}
func (*ScaleSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} }
func (*ScaleSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} }
func (m *ScaleStatus) Reset() { *m = ScaleStatus{} }
func (*ScaleStatus) ProtoMessage() {}
func (*ScaleStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} }
func (*ScaleStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} }
func (m *StatefulSet) Reset() { *m = StatefulSet{} }
func (*StatefulSet) ProtoMessage() {}
func (*StatefulSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} }
func (*StatefulSet) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} }
func (m *StatefulSetList) Reset() { *m = StatefulSetList{} }
func (*StatefulSetList) ProtoMessage() {}
func (*StatefulSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} }
func (*StatefulSetList) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} }
func (m *StatefulSetSpec) Reset() { *m = StatefulSetSpec{} }
func (*StatefulSetSpec) ProtoMessage() {}
func (*StatefulSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} }
func (*StatefulSetSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} }
func (m *StatefulSetStatus) Reset() { *m = StatefulSetStatus{} }
func (*StatefulSetStatus) ProtoMessage() {}
func (*StatefulSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} }
func (*StatefulSetStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} }
func init() {
proto.RegisterType((*ControllerRevision)(nil), "k8s.io.client-go.pkg.apis.apps.v1beta1.ControllerRevision")
proto.RegisterType((*ControllerRevisionList)(nil), "k8s.io.client-go.pkg.apis.apps.v1beta1.ControllerRevisionList")
proto.RegisterType((*Deployment)(nil), "k8s.io.client-go.pkg.apis.apps.v1beta1.Deployment")
proto.RegisterType((*DeploymentCondition)(nil), "k8s.io.client-go.pkg.apis.apps.v1beta1.DeploymentCondition")
proto.RegisterType((*DeploymentList)(nil), "k8s.io.client-go.pkg.apis.apps.v1beta1.DeploymentList")
@ -153,6 +167,81 @@ func init() {
proto.RegisterType((*StatefulSetSpec)(nil), "k8s.io.client-go.pkg.apis.apps.v1beta1.StatefulSetSpec")
proto.RegisterType((*StatefulSetStatus)(nil), "k8s.io.client-go.pkg.apis.apps.v1beta1.StatefulSetStatus")
}
func (m *ControllerRevision) 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 *ControllerRevision) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size()))
n1, err := m.ObjectMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n1
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Data.Size()))
n2, err := m.Data.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n2
dAtA[i] = 0x18
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Revision))
return i, nil
}
func (m *ControllerRevisionList) 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 *ControllerRevisionList) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
n3, err := m.ListMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n3
if len(m.Items) > 0 {
for _, msg := range m.Items {
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 *Deployment) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@ -171,27 +260,27 @@ func (m *Deployment) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size()))
n1, err := m.ObjectMeta.MarshalTo(dAtA[i:])
n4, err := m.ObjectMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n1
i += n4
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size()))
n2, err := m.Spec.MarshalTo(dAtA[i:])
n5, err := m.Spec.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n2
i += n5
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size()))
n3, err := m.Status.MarshalTo(dAtA[i:])
n6, err := m.Status.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n3
i += n6
return i, nil
}
@ -229,19 +318,19 @@ func (m *DeploymentCondition) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x32
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.LastUpdateTime.Size()))
n4, err := m.LastUpdateTime.MarshalTo(dAtA[i:])
n7, err := m.LastUpdateTime.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n4
i += n7
dAtA[i] = 0x3a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size()))
n5, err := m.LastTransitionTime.MarshalTo(dAtA[i:])
n8, err := m.LastTransitionTime.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n5
i += n8
return i, nil
}
@ -263,11 +352,11 @@ func (m *DeploymentList) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
n6, err := m.ListMeta.MarshalTo(dAtA[i:])
n9, err := m.ListMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n6
i += n9
if len(m.Items) > 0 {
for _, msg := range m.Items {
dAtA[i] = 0x12
@ -322,11 +411,11 @@ func (m *DeploymentRollback) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.RollbackTo.Size()))
n7, err := m.RollbackTo.MarshalTo(dAtA[i:])
n10, err := m.RollbackTo.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n7
i += n10
return i, nil
}
@ -354,28 +443,28 @@ func (m *DeploymentSpec) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
n8, err := m.Selector.MarshalTo(dAtA[i:])
n11, err := m.Selector.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n8
i += n11
}
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size()))
n9, err := m.Template.MarshalTo(dAtA[i:])
n12, err := m.Template.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n9
i += n12
dAtA[i] = 0x22
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Strategy.Size()))
n10, err := m.Strategy.MarshalTo(dAtA[i:])
n13, err := m.Strategy.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n10
i += n13
dAtA[i] = 0x28
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.MinReadySeconds))
@ -396,11 +485,11 @@ func (m *DeploymentSpec) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x42
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.RollbackTo.Size()))
n11, err := m.RollbackTo.MarshalTo(dAtA[i:])
n14, err := m.RollbackTo.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n11
i += n14
}
if m.ProgressDeadlineSeconds != nil {
dAtA[i] = 0x48
@ -486,11 +575,11 @@ func (m *DeploymentStrategy) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.RollingUpdate.Size()))
n12, err := m.RollingUpdate.MarshalTo(dAtA[i:])
n15, err := m.RollingUpdate.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n12
i += n15
}
return i, nil
}
@ -535,21 +624,21 @@ func (m *RollingUpdateDeployment) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.MaxUnavailable.Size()))
n13, err := m.MaxUnavailable.MarshalTo(dAtA[i:])
n16, err := m.MaxUnavailable.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n13
i += n16
}
if m.MaxSurge != nil {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.MaxSurge.Size()))
n14, err := m.MaxSurge.MarshalTo(dAtA[i:])
n17, err := m.MaxSurge.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n14
i += n17
}
return i, nil
}
@ -572,27 +661,27 @@ func (m *Scale) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size()))
n15, err := m.ObjectMeta.MarshalTo(dAtA[i:])
n18, err := m.ObjectMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n15
i += n18
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size()))
n16, err := m.Spec.MarshalTo(dAtA[i:])
n19, err := m.Spec.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n16
i += n19
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size()))
n17, err := m.Status.MarshalTo(dAtA[i:])
n20, err := m.Status.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n17
i += n20
return i, nil
}
@ -677,27 +766,27 @@ func (m *StatefulSet) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size()))
n18, err := m.ObjectMeta.MarshalTo(dAtA[i:])
n21, err := m.ObjectMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n18
i += n21
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size()))
n19, err := m.Spec.MarshalTo(dAtA[i:])
n22, err := m.Spec.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n19
i += n22
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size()))
n20, err := m.Status.MarshalTo(dAtA[i:])
n23, err := m.Status.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n20
i += n23
return i, nil
}
@ -719,11 +808,11 @@ func (m *StatefulSetList) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0xa
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size()))
n21, err := m.ListMeta.MarshalTo(dAtA[i:])
n24, err := m.ListMeta.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n21
i += n24
if len(m.Items) > 0 {
for _, msg := range m.Items {
dAtA[i] = 0x12
@ -763,20 +852,20 @@ func (m *StatefulSetSpec) MarshalTo(dAtA []byte) (int, error) {
dAtA[i] = 0x12
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size()))
n22, err := m.Selector.MarshalTo(dAtA[i:])
n25, err := m.Selector.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n22
i += n25
}
dAtA[i] = 0x1a
i++
i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size()))
n23, err := m.Template.MarshalTo(dAtA[i:])
n26, err := m.Template.MarshalTo(dAtA[i:])
if err != nil {
return 0, err
}
i += n23
i += n26
if len(m.VolumeClaimTemplates) > 0 {
for _, msg := range m.VolumeClaimTemplates {
dAtA[i] = 0x22
@ -853,6 +942,31 @@ func encodeVarintGenerated(dAtA []byte, offset int, v uint64) int {
dAtA[offset] = uint8(v)
return offset + 1
}
func (m *ControllerRevision) Size() (n int) {
var l int
_ = l
l = m.ObjectMeta.Size()
n += 1 + l + sovGenerated(uint64(l))
l = m.Data.Size()
n += 1 + l + sovGenerated(uint64(l))
n += 1 + sovGenerated(uint64(m.Revision))
return n
}
func (m *ControllerRevisionList) Size() (n int) {
var l int
_ = l
l = m.ListMeta.Size()
n += 1 + l + sovGenerated(uint64(l))
if len(m.Items) > 0 {
for _, e := range m.Items {
l = e.Size()
n += 1 + l + sovGenerated(uint64(l))
}
}
return n
}
func (m *Deployment) Size() (n int) {
var l int
_ = l
@ -1108,6 +1222,29 @@ func sovGenerated(x uint64) (n int) {
func sozGenerated(x uint64) (n int) {
return sovGenerated(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *ControllerRevision) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&ControllerRevision{`,
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Data:` + strings.Replace(strings.Replace(this.Data.String(), "RawExtension", "k8s_io_apimachinery_pkg_runtime.RawExtension", 1), `&`, ``, 1) + `,`,
`Revision:` + fmt.Sprintf("%v", this.Revision) + `,`,
`}`,
}, "")
return s
}
func (this *ControllerRevisionList) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&ControllerRevisionList{`,
`ListMeta:` + strings.Replace(strings.Replace(this.ListMeta.String(), "ListMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ListMeta", 1), `&`, ``, 1) + `,`,
`Items:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Items), "ControllerRevision", "ControllerRevision", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *Deployment) String() string {
if this == nil {
return "nil"
@ -1336,6 +1473,246 @@ func valueToStringGenerated(v interface{}) string {
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
func (m *ControllerRevision) 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: ControllerRevision: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: ControllerRevision: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthGenerated
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthGenerated
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if err := m.Data.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 3:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Revision", wireType)
}
m.Revision = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
m.Revision |= (int64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
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 *ControllerRevisionList) 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: ControllerRevisionList: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: ControllerRevisionList: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthGenerated
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Items", 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.Items = append(m.Items, ControllerRevision{})
if err := m.Items[len(m.Items)-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 *Deployment) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@ -3920,105 +4297,109 @@ func init() {
}
var fileDescriptorGenerated = []byte{
// 1585 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0xcd, 0x6f, 0x1b, 0xb7,
0x12, 0xf7, 0xda, 0x92, 0x2d, 0xd3, 0xb1, 0x1c, 0xd3, 0x7e, 0xb1, 0x9e, 0xf3, 0x20, 0x07, 0x3a,
0xe4, 0xe3, 0x21, 0x59, 0xbd, 0x38, 0x79, 0xf9, 0xb0, 0x8b, 0xa0, 0x96, 0x93, 0xa6, 0x29, 0xec,
0xc6, 0xa0, 0xec, 0xa0, 0x49, 0x53, 0xa0, 0xd4, 0x8a, 0x59, 0x33, 0xde, 0x2f, 0x2c, 0x29, 0x21,
0xba, 0xf5, 0xd2, 0x43, 0x81, 0x1e, 0xfa, 0x0f, 0x14, 0xed, 0xb9, 0x28, 0xd0, 0x7f, 0xc3, 0x68,
0x2f, 0x41, 0x4f, 0x45, 0x0f, 0x46, 0xed, 0xfc, 0x17, 0x39, 0x15, 0xe4, 0x72, 0xbf, 0xb4, 0x92,
0x2d, 0xab, 0x68, 0x2e, 0xbd, 0x69, 0x39, 0xf3, 0xfb, 0xcd, 0x90, 0x9c, 0x19, 0xce, 0x08, 0xdc,
0xde, 0xbb, 0xc3, 0x74, 0xea, 0x56, 0xf7, 0x5a, 0x0d, 0xe2, 0x3b, 0x84, 0x13, 0x56, 0xf5, 0xf6,
0xcc, 0x2a, 0xf6, 0x28, 0xab, 0x62, 0xcf, 0x63, 0xd5, 0xf6, 0xf5, 0x06, 0xe1, 0xf8, 0x7a, 0xd5,
0x24, 0x0e, 0xf1, 0x31, 0x27, 0x4d, 0xdd, 0xf3, 0x5d, 0xee, 0xc2, 0x4b, 0x01, 0x50, 0x8f, 0x81,
0xba, 0xb7, 0x67, 0xea, 0x02, 0xa8, 0x0b, 0xa0, 0xae, 0x80, 0x8b, 0xd7, 0x4c, 0xca, 0x77, 0x5b,
0x0d, 0xdd, 0x70, 0xed, 0xaa, 0xe9, 0x9a, 0x6e, 0x55, 0xe2, 0x1b, 0xad, 0x17, 0xf2, 0x4b, 0x7e,
0xc8, 0x5f, 0x01, 0xef, 0xe2, 0x4d, 0xe5, 0x10, 0xf6, 0xa8, 0x8d, 0x8d, 0x5d, 0xea, 0x10, 0xbf,
0x13, 0xbb, 0x64, 0x13, 0x8e, 0xab, 0xed, 0x8c, 0x37, 0x8b, 0xd5, 0x7e, 0x28, 0xbf, 0xe5, 0x70,
0x6a, 0x93, 0x0c, 0xe0, 0xd6, 0x49, 0x00, 0x66, 0xec, 0x12, 0x1b, 0x67, 0x70, 0x37, 0xfa, 0xe1,
0x5a, 0x9c, 0x5a, 0x55, 0xea, 0x70, 0xc6, 0xfd, 0x0c, 0x28, 0xb1, 0x27, 0x46, 0xfc, 0x36, 0xf1,
0xe3, 0x0d, 0x91, 0x57, 0xd8, 0xf6, 0x2c, 0xd2, 0x6b, 0x4f, 0x57, 0xfb, 0x5e, 0x4d, 0x2f, 0xed,
0xbb, 0xc7, 0x5c, 0xa4, 0xe7, 0x5a, 0xd4, 0xe8, 0xf4, 0xbb, 0xca, 0xca, 0x8f, 0xa3, 0x00, 0xdc,
0x27, 0x9e, 0xe5, 0x76, 0x6c, 0xe2, 0x70, 0xf8, 0x39, 0x28, 0x88, 0x63, 0x6e, 0x62, 0x8e, 0x4b,
0xda, 0x05, 0xed, 0xf2, 0xd4, 0xf2, 0xff, 0x74, 0x75, 0xd9, 0xc9, 0x5d, 0xc7, 0xd7, 0x2d, 0xb4,
0xf5, 0xf6, 0x75, 0xfd, 0x71, 0xe3, 0x25, 0x31, 0xf8, 0x26, 0xe1, 0xb8, 0x06, 0xf7, 0x0f, 0x96,
0x46, 0x8e, 0x0e, 0x96, 0x40, 0xbc, 0x86, 0x22, 0x56, 0xf8, 0x14, 0xe4, 0x98, 0x47, 0x8c, 0xd2,
0xa8, 0x64, 0xbf, 0xad, 0x0f, 0x18, 0x4a, 0x7a, 0xec, 0x64, 0xdd, 0x23, 0x46, 0xed, 0x8c, 0x32,
0x92, 0x13, 0x5f, 0x48, 0x52, 0x42, 0x0c, 0xc6, 0x19, 0xc7, 0xbc, 0xc5, 0x4a, 0x63, 0x92, 0xfc,
0xee, 0x30, 0xe4, 0x92, 0xa0, 0x56, 0x54, 0xf4, 0xe3, 0xc1, 0x37, 0x52, 0xc4, 0x95, 0xc3, 0x31,
0x30, 0x17, 0x2b, 0xaf, 0xbb, 0x4e, 0x93, 0x72, 0xea, 0x3a, 0x70, 0x15, 0xe4, 0x78, 0xc7, 0x23,
0xf2, 0xcc, 0x26, 0x6b, 0x97, 0x42, 0xe7, 0xb6, 0x3b, 0x1e, 0x79, 0x7b, 0xb0, 0xb4, 0xd0, 0x03,
0x22, 0x44, 0x48, 0x82, 0xe0, 0x93, 0xc8, 0xef, 0x51, 0x09, 0xbf, 0x97, 0x36, 0xfe, 0xf6, 0x60,
0xe9, 0xd8, 0x70, 0xd0, 0x23, 0xce, 0xb4, 0xb3, 0xf0, 0x22, 0x18, 0xf7, 0x09, 0x66, 0xae, 0x53,
0xca, 0x49, 0xde, 0x68, 0x53, 0x48, 0xae, 0x22, 0x25, 0x85, 0x57, 0xc0, 0x84, 0x4d, 0x18, 0xc3,
0x26, 0x29, 0xe5, 0xa5, 0xe2, 0x8c, 0x52, 0x9c, 0xd8, 0x0c, 0x96, 0x51, 0x28, 0x87, 0x2f, 0x41,
0xd1, 0xc2, 0x8c, 0xef, 0x78, 0x4d, 0xcc, 0xc9, 0x36, 0xb5, 0x49, 0x69, 0x5c, 0x1e, 0xf5, 0x7f,
0x07, 0x8b, 0x12, 0x81, 0xa8, 0x9d, 0x53, 0xec, 0xc5, 0x8d, 0x14, 0x13, 0xea, 0x62, 0x86, 0x6d,
0x00, 0xc5, 0xca, 0xb6, 0x8f, 0x1d, 0x16, 0x1c, 0x99, 0xb0, 0x37, 0x71, 0x6a, 0x7b, 0x8b, 0xca,
0x1e, 0xdc, 0xc8, 0xb0, 0xa1, 0x1e, 0x16, 0x2a, 0xfb, 0x1a, 0x28, 0xc6, 0x17, 0xb6, 0x41, 0x19,
0x87, 0xcf, 0x33, 0x69, 0xa1, 0x0f, 0xe6, 0x80, 0x40, 0xcb, 0xa4, 0x38, 0xab, 0x9c, 0x28, 0x84,
0x2b, 0x89, 0x94, 0xf8, 0x04, 0xe4, 0x29, 0x27, 0xb6, 0xb8, 0xfe, 0xb1, 0xcb, 0x53, 0xcb, 0x37,
0x86, 0x08, 0xdb, 0xda, 0xb4, 0xe2, 0xcf, 0x3f, 0x12, 0x4c, 0x28, 0x20, 0xac, 0x7c, 0x3d, 0x06,
0x60, 0xac, 0x84, 0x5c, 0xcb, 0x6a, 0x60, 0x63, 0x0f, 0x5e, 0x00, 0x39, 0x07, 0xdb, 0x61, 0xb4,
0x46, 0xa9, 0xf4, 0x31, 0xb6, 0x09, 0x92, 0x12, 0xf8, 0x9d, 0x06, 0x60, 0x4b, 0x5e, 0x45, 0x73,
0xcd, 0x71, 0x5c, 0x8e, 0xc5, 0xe9, 0x84, 0x0e, 0xd6, 0x87, 0x70, 0x30, 0xb4, 0xad, 0xef, 0x64,
0x58, 0x1f, 0x38, 0xdc, 0xef, 0xc4, 0xb7, 0x94, 0x55, 0x40, 0x3d, 0x5c, 0x81, 0x7b, 0x00, 0xf8,
0x8a, 0x73, 0xdb, 0x55, 0x09, 0x3f, 0x78, 0x35, 0x09, 0xdd, 0x59, 0x77, 0x9d, 0x17, 0xd4, 0x8c,
0x4b, 0x16, 0x8a, 0x28, 0x51, 0x82, 0x7e, 0xf1, 0x01, 0x58, 0xe8, 0xe3, 0x37, 0x3c, 0x0b, 0xc6,
0xf6, 0x48, 0x27, 0x38, 0x4a, 0x24, 0x7e, 0xc2, 0x79, 0x90, 0x6f, 0x63, 0xab, 0x45, 0x82, 0x6c,
0x46, 0xc1, 0xc7, 0xca, 0xe8, 0x1d, 0xad, 0xf2, 0x7b, 0x3e, 0x19, 0x59, 0xa2, 0x72, 0xc1, 0xcb,
0xa0, 0xe0, 0x13, 0xcf, 0xa2, 0x06, 0x66, 0x92, 0x23, 0x5f, 0x3b, 0x23, 0xa2, 0x04, 0xa9, 0x35,
0x14, 0x49, 0xe1, 0x67, 0xa0, 0xc0, 0x88, 0x45, 0x0c, 0xee, 0xfa, 0xaa, 0x78, 0xde, 0x18, 0x30,
0x06, 0x71, 0x83, 0x58, 0x75, 0x05, 0x0d, 0xe8, 0xc3, 0x2f, 0x14, 0x51, 0xc2, 0x4f, 0x41, 0x81,
0x13, 0xdb, 0xb3, 0x30, 0x27, 0xea, 0x34, 0xaf, 0xf5, 0x3f, 0x4d, 0x41, 0xbb, 0xe5, 0x36, 0xb7,
0x15, 0x40, 0x56, 0xe4, 0x28, 0xc2, 0xc3, 0x55, 0x14, 0x11, 0x42, 0x0a, 0x0a, 0x8c, 0x8b, 0x67,
0xc7, 0xec, 0xc8, 0x5a, 0x34, 0xb5, 0xbc, 0x3a, 0x54, 0x6d, 0x0e, 0x28, 0x62, 0x53, 0xe1, 0x0a,
0x8a, 0xe8, 0xe1, 0x1a, 0x98, 0xb1, 0xa9, 0x83, 0x08, 0x6e, 0x76, 0xea, 0xc4, 0x70, 0x9d, 0x26,
0x93, 0x45, 0x2d, 0x5f, 0x5b, 0x50, 0xa0, 0x99, 0xcd, 0xb4, 0x18, 0x75, 0xeb, 0xc3, 0x0d, 0x30,
0xef, 0x93, 0x36, 0x65, 0xd4, 0x75, 0x3e, 0xa4, 0x8c, 0xbb, 0x7e, 0x67, 0x83, 0xda, 0x94, 0xcb,
0x52, 0x97, 0xaf, 0x95, 0x8e, 0x0e, 0x96, 0xe6, 0x51, 0x0f, 0x39, 0xea, 0x89, 0x12, 0x55, 0xd8,
0xc3, 0x2d, 0x46, 0x9a, 0xb2, 0x74, 0x15, 0xe2, 0x2a, 0xbc, 0x25, 0x57, 0x91, 0x92, 0x42, 0x33,
0x15, 0xd0, 0x85, 0xbf, 0x16, 0xd0, 0xc5, 0xfe, 0xc1, 0x0c, 0x77, 0xc0, 0x82, 0xe7, 0xbb, 0xa6,
0x4f, 0x18, 0xbb, 0x4f, 0x70, 0xd3, 0xa2, 0x0e, 0x09, 0x4f, 0x6a, 0x52, 0xee, 0xf0, 0xfc, 0xd1,
0xc1, 0xd2, 0xc2, 0x56, 0x6f, 0x15, 0xd4, 0x0f, 0x5b, 0xf9, 0x35, 0x07, 0xce, 0x76, 0xbf, 0xa3,
0xf0, 0x23, 0x00, 0xdd, 0x86, 0xec, 0x7b, 0x9a, 0x0f, 0x83, 0xce, 0x83, 0xba, 0x8e, 0x0c, 0xf4,
0xb1, 0x38, 0xe3, 0x1f, 0x67, 0x34, 0x50, 0x0f, 0x14, 0xbc, 0x9a, 0x48, 0x95, 0x51, 0xe9, 0x68,
0x14, 0x07, 0x3d, 0xd2, 0x65, 0x0d, 0xcc, 0xa8, 0xaa, 0x11, 0x0a, 0x65, 0x58, 0x27, 0xe2, 0x60,
0x27, 0x2d, 0x46, 0xdd, 0xfa, 0xf0, 0x21, 0x98, 0xc5, 0x6d, 0x4c, 0x2d, 0xdc, 0xb0, 0x48, 0x44,
0x92, 0x93, 0x24, 0xff, 0x56, 0x24, 0xb3, 0x6b, 0xdd, 0x0a, 0x28, 0x8b, 0x81, 0x9b, 0x60, 0xae,
0xe5, 0x64, 0xa9, 0x82, 0xb8, 0x3c, 0xaf, 0xa8, 0xe6, 0x76, 0xb2, 0x2a, 0xa8, 0x17, 0x0e, 0x7a,
0x00, 0x18, 0xe1, 0x93, 0xcf, 0x4a, 0xe3, 0xb2, 0x26, 0xbf, 0x37, 0x44, 0x3e, 0x45, 0x7d, 0x43,
0x5c, 0xff, 0xa2, 0x25, 0x86, 0x12, 0x36, 0xe0, 0x2a, 0x98, 0xf6, 0x45, 0x86, 0x44, 0xae, 0x4f,
0x48, 0xd7, 0xff, 0xa5, 0x60, 0xd3, 0x28, 0x29, 0x44, 0x69, 0x5d, 0xb8, 0x02, 0x8a, 0x86, 0x6b,
0x59, 0x32, 0x33, 0xd6, 0xdd, 0x96, 0xc3, 0x65, 0x70, 0x8f, 0xd5, 0xa0, 0xe8, 0x01, 0xd6, 0x53,
0x12, 0xd4, 0xa5, 0x59, 0xf9, 0x45, 0x4b, 0x3e, 0x60, 0x61, 0xba, 0xc3, 0x95, 0x54, 0xbb, 0x75,
0xb1, 0xab, 0xdd, 0x3a, 0x97, 0x45, 0x24, 0xba, 0xad, 0x0e, 0x98, 0x16, 0xc9, 0x40, 0x1d, 0x33,
0x08, 0x00, 0x55, 0x4c, 0xdf, 0x3f, 0x55, 0xaa, 0x45, 0xe8, 0xc4, 0x13, 0x3c, 0x2b, 0x4f, 0x22,
0x29, 0x44, 0x69, 0x4b, 0x95, 0x7b, 0xa0, 0x98, 0xce, 0xd3, 0x20, 0xa6, 0x83, 0xa2, 0xa1, 0xb2,
0x22, 0x11, 0xd3, 0xc1, 0x3a, 0x8a, 0x34, 0x2a, 0x6f, 0x34, 0xb0, 0xd0, 0xc7, 0x3a, 0xb4, 0x40,
0xd1, 0xc6, 0xaf, 0x12, 0x31, 0x74, 0x62, 0xff, 0x2e, 0xa6, 0x16, 0x3d, 0x98, 0x5a, 0xf4, 0x47,
0x0e, 0x7f, 0xec, 0xd7, 0xb9, 0x4f, 0x1d, 0x33, 0xb8, 0x97, 0xcd, 0x14, 0x17, 0xea, 0xe2, 0x86,
0xcf, 0x40, 0xc1, 0xc6, 0xaf, 0xea, 0x2d, 0xdf, 0x0c, 0xcf, 0xef, 0xf4, 0x76, 0xe4, 0x4b, 0xb4,
0xa9, 0x58, 0x50, 0xc4, 0x57, 0xf9, 0x76, 0x14, 0xe4, 0xeb, 0x06, 0xb6, 0xc8, 0x3b, 0x98, 0x46,
0xb6, 0x53, 0xd3, 0xc8, 0xf2, 0xc0, 0x31, 0x20, 0xfd, 0xeb, 0x3b, 0x88, 0x3c, 0xef, 0x1a, 0x44,
0x6e, 0x9e, 0x92, 0xf7, 0xf8, 0x19, 0xe4, 0x2e, 0x98, 0x8c, 0xcc, 0xa7, 0x8a, 0xa2, 0x76, 0x52,
0x51, 0xac, 0xfc, 0x30, 0x0a, 0xa6, 0x12, 0x26, 0x4e, 0x87, 0x86, 0x5e, 0xaa, 0x03, 0x11, 0x55,
0xa7, 0x36, 0xcc, 0xc6, 0xf4, 0xb0, 0xfb, 0x08, 0x1a, 0xbf, 0xf8, 0x31, 0xcf, 0x36, 0x25, 0xf7,
0x40, 0x91, 0x63, 0xdf, 0x24, 0x3c, 0x94, 0xc9, 0x03, 0x9d, 0x8c, 0x47, 0x88, 0xed, 0x94, 0x14,
0x75, 0x69, 0x2f, 0xae, 0x82, 0xe9, 0x94, 0xb1, 0x53, 0x75, 0x6b, 0x3f, 0x89, 0xc3, 0xe2, 0x98,
0x93, 0x17, 0x2d, 0xab, 0x4e, 0xde, 0xc5, 0x6c, 0xfc, 0x2c, 0x15, 0x8d, 0x77, 0x06, 0x3f, 0xdc,
0xd8, 0xcb, 0xbe, 0x31, 0xd9, 0xe8, 0x8a, 0xc9, 0x95, 0xa1, 0xd8, 0x8f, 0x8f, 0xcc, 0x9f, 0x35,
0x30, 0x93, 0xd0, 0x7e, 0x07, 0xa3, 0xd3, 0xd3, 0xf4, 0xe8, 0x74, 0x73, 0x98, 0x4d, 0xf5, 0x99,
0x9d, 0xbe, 0xcf, 0xa5, 0x36, 0xf3, 0x0f, 0xea, 0xd6, 0xbf, 0xd4, 0xc0, 0x7c, 0xdb, 0xb5, 0x5a,
0x36, 0x59, 0xb7, 0x30, 0xb5, 0x43, 0x0d, 0xd1, 0xfb, 0x9c, 0x30, 0x9f, 0x4a, 0x4b, 0xc4, 0x67,
0x94, 0x71, 0xe2, 0xf0, 0x27, 0x31, 0x47, 0xed, 0x3f, 0xca, 0xde, 0xfc, 0x93, 0x1e, 0xc4, 0xa8,
0xa7, 0x39, 0xf8, 0x7f, 0x30, 0x25, 0x9a, 0x40, 0x6a, 0x10, 0x31, 0x99, 0xaa, 0xff, 0x26, 0xe6,
0x14, 0xd1, 0x54, 0x3d, 0x16, 0xa1, 0xa4, 0x1e, 0xdc, 0x05, 0x73, 0x9e, 0xdb, 0xdc, 0xc4, 0x0e,
0x36, 0x89, 0x78, 0x1a, 0xb7, 0xe4, 0x3f, 0x60, 0xb2, 0x7b, 0x9f, 0xac, 0xdd, 0x0a, 0xbb, 0xad,
0xad, 0xac, 0xca, 0x5b, 0xd1, 0xf6, 0x66, 0x97, 0x65, 0xef, 0xd0, 0x8b, 0xb2, 0xf2, 0x95, 0x06,
0x66, 0x33, 0xd9, 0x01, 0x3f, 0x38, 0xa6, 0xe7, 0x3d, 0xf7, 0x77, 0xf5, 0xbb, 0xb5, 0x2b, 0xfb,
0x87, 0xe5, 0x91, 0xd7, 0x87, 0xe5, 0x91, 0xdf, 0x0e, 0xcb, 0x23, 0x5f, 0x1c, 0x95, 0xb5, 0xfd,
0xa3, 0xb2, 0xf6, 0xfa, 0xa8, 0xac, 0xfd, 0x71, 0x54, 0xd6, 0xbe, 0x79, 0x53, 0x1e, 0x79, 0x36,
0xa1, 0x62, 0xff, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf2, 0xdb, 0x2f, 0x40, 0xf8, 0x15, 0x00,
0x00,
// 1663 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0xcd, 0x4f, 0x5b, 0xc7,
0x16, 0xe7, 0x1a, 0x1b, 0xcc, 0x10, 0x4c, 0x18, 0x78, 0xe0, 0x47, 0x9e, 0x0c, 0xf2, 0x22, 0x21,
0x4f, 0xc9, 0xf5, 0x0b, 0xc9, 0xcb, 0x07, 0x54, 0x51, 0x31, 0x49, 0xd3, 0x54, 0x50, 0xd0, 0x18,
0xa2, 0x26, 0x4d, 0xa5, 0x8c, 0xaf, 0x27, 0x97, 0x1b, 0xee, 0x97, 0xee, 0x8c, 0x5d, 0xbc, 0xeb,
0xa6, 0x8b, 0x4a, 0x5d, 0xf4, 0x1f, 0xa8, 0xda, 0x75, 0x55, 0xa9, 0xff, 0x06, 0x6a, 0x37, 0x51,
0x57, 0x51, 0x17, 0xa8, 0x90, 0xbf, 0xa1, 0x9b, 0xac, 0xaa, 0x99, 0x3b, 0xf7, 0xcb, 0xd7, 0x06,
0x43, 0x55, 0x36, 0xdd, 0xf9, 0xce, 0x39, 0xe7, 0x77, 0xce, 0x99, 0xf3, 0x31, 0xe7, 0x18, 0xdc,
0xd9, 0xbd, 0x4b, 0x55, 0xc3, 0xa9, 0xec, 0x36, 0xeb, 0xc4, 0xb3, 0x09, 0x23, 0xb4, 0xe2, 0xee,
0xea, 0x15, 0xec, 0x1a, 0xb4, 0x82, 0x5d, 0x97, 0x56, 0x5a, 0x37, 0xea, 0x84, 0xe1, 0x1b, 0x15,
0x9d, 0xd8, 0xc4, 0xc3, 0x8c, 0x34, 0x54, 0xd7, 0x73, 0x98, 0x03, 0xaf, 0xf8, 0x82, 0x6a, 0x24,
0xa8, 0xba, 0xbb, 0xba, 0xca, 0x05, 0x55, 0x2e, 0xa8, 0x4a, 0xc1, 0xd9, 0xeb, 0xba, 0xc1, 0x76,
0x9a, 0x75, 0x55, 0x73, 0xac, 0x8a, 0xee, 0xe8, 0x4e, 0x45, 0xc8, 0xd7, 0x9b, 0x2f, 0xc5, 0x97,
0xf8, 0x10, 0xbf, 0x7c, 0xdc, 0xd9, 0x5b, 0xd2, 0x20, 0xec, 0x1a, 0x16, 0xd6, 0x76, 0x0c, 0x9b,
0x78, 0xed, 0xc8, 0x24, 0x8b, 0x30, 0x5c, 0x69, 0xa5, 0xac, 0x99, 0xad, 0xf4, 0x92, 0xf2, 0x9a,
0x36, 0x33, 0x2c, 0x92, 0x12, 0xb8, 0x7d, 0x92, 0x00, 0xd5, 0x76, 0x88, 0x85, 0x53, 0x72, 0x37,
0x7b, 0xc9, 0x35, 0x99, 0x61, 0x56, 0x0c, 0x9b, 0x51, 0xe6, 0xa5, 0x84, 0x62, 0x3e, 0x51, 0xe2,
0xb5, 0x88, 0x17, 0x39, 0x44, 0xf6, 0xb0, 0xe5, 0x9a, 0xa4, 0x9b, 0x4f, 0xd7, 0x7a, 0x86, 0xa6,
0x1b, 0xf7, 0xbd, 0x63, 0x02, 0xe9, 0x3a, 0xa6, 0xa1, 0xb5, 0x7b, 0x85, 0xb2, 0xfc, 0x87, 0x02,
0xe0, 0xaa, 0x63, 0x33, 0xcf, 0x31, 0x4d, 0xe2, 0x21, 0xd2, 0x32, 0xa8, 0xe1, 0xd8, 0xf0, 0x05,
0xc8, 0xf3, 0xeb, 0x6e, 0x60, 0x86, 0x8b, 0xca, 0xbc, 0xb2, 0x30, 0xba, 0xf8, 0x3f, 0x55, 0x06,
0x3d, 0xee, 0x7d, 0x14, 0x76, 0xce, 0xad, 0xb6, 0x6e, 0xa8, 0x1b, 0xf5, 0x57, 0x44, 0x63, 0xeb,
0x84, 0xe1, 0x2a, 0xdc, 0x3f, 0x98, 0x1b, 0x38, 0x3a, 0x98, 0x03, 0xd1, 0x19, 0x0a, 0x51, 0xe1,
0x06, 0xc8, 0x0a, 0xf4, 0x8c, 0x40, 0xbf, 0xde, 0x13, 0x5d, 0xc6, 0x44, 0x45, 0xf8, 0xf3, 0x87,
0x7b, 0x8c, 0xd8, 0xdc, 0xbc, 0xea, 0x05, 0x09, 0x9d, 0x7d, 0x80, 0x19, 0x46, 0x02, 0x08, 0x5e,
0x03, 0x79, 0x4f, 0x9a, 0x5f, 0x1c, 0x9c, 0x57, 0x16, 0x06, 0xab, 0x17, 0x25, 0x57, 0x3e, 0x70,
0x0b, 0x85, 0x1c, 0xe5, 0x37, 0x0a, 0x98, 0x4e, 0xfb, 0xbd, 0x66, 0x50, 0x06, 0x9f, 0xa7, 0x7c,
0x57, 0xfb, 0xf3, 0x9d, 0x4b, 0x0b, 0xcf, 0x43, 0xc5, 0xc1, 0x49, 0xcc, 0xef, 0x17, 0x20, 0x67,
0x30, 0x62, 0xd1, 0x62, 0x66, 0x7e, 0x70, 0x61, 0x74, 0x71, 0x59, 0xed, 0xb3, 0x96, 0xd4, 0xb4,
0xb5, 0xd5, 0x31, 0xa9, 0x27, 0xf7, 0x98, 0x23, 0x22, 0x1f, 0xb8, 0xfc, 0x63, 0x06, 0x80, 0x07,
0xc4, 0x35, 0x9d, 0xb6, 0x45, 0x6c, 0x76, 0x0e, 0xa1, 0x7c, 0x0a, 0xb2, 0xd4, 0x25, 0x9a, 0x0c,
0xe5, 0x9d, 0xbe, 0x3d, 0x8a, 0x8c, 0xac, 0xb9, 0x44, 0x8b, 0x82, 0xca, 0xbf, 0x90, 0x80, 0x84,
0x18, 0x0c, 0x51, 0x86, 0x59, 0x93, 0x8a, 0x90, 0x8e, 0x2e, 0xde, 0x3b, 0x0b, 0xb8, 0x00, 0xa8,
0x16, 0x24, 0xfc, 0x90, 0xff, 0x8d, 0x24, 0x70, 0xf9, 0x70, 0x10, 0x4c, 0x46, 0xcc, 0xab, 0x8e,
0xdd, 0x30, 0x18, 0x2f, 0x81, 0x65, 0x90, 0x65, 0x6d, 0x97, 0x88, 0x3b, 0x1b, 0xa9, 0x5e, 0x09,
0x8c, 0xdb, 0x6a, 0xbb, 0xe4, 0xdd, 0xc1, 0xdc, 0x4c, 0x17, 0x11, 0x4e, 0x42, 0x42, 0x08, 0x3e,
0x09, 0xed, 0xce, 0x08, 0xf1, 0xfb, 0x49, 0xe5, 0xef, 0x0e, 0xe6, 0x8e, 0xad, 0x70, 0x35, 0xc4,
0x4c, 0x1a, 0x0b, 0x2f, 0x83, 0x21, 0x8f, 0x60, 0xea, 0xd8, 0xc5, 0xac, 0xc0, 0x0d, 0x9d, 0x42,
0xe2, 0x14, 0x49, 0x2a, 0xbc, 0x0a, 0x86, 0x2d, 0x42, 0x29, 0xd6, 0x49, 0x31, 0x27, 0x18, 0xc7,
0x25, 0xe3, 0xf0, 0xba, 0x7f, 0x8c, 0x02, 0x3a, 0x7c, 0x05, 0x0a, 0x26, 0xa6, 0x6c, 0xdb, 0x6d,
0x60, 0x46, 0xb6, 0x0c, 0x8b, 0x14, 0x87, 0xc4, 0x55, 0xff, 0xb7, 0xbf, 0x2c, 0xe1, 0x12, 0xd5,
0x69, 0x89, 0x5e, 0x58, 0x4b, 0x20, 0xa1, 0x0e, 0x64, 0xd8, 0x02, 0x90, 0x9f, 0x6c, 0x79, 0xd8,
0xa6, 0xfe, 0x95, 0x71, 0x7d, 0xc3, 0xa7, 0xd6, 0x37, 0x2b, 0xf5, 0xc1, 0xb5, 0x14, 0x1a, 0xea,
0xa2, 0xa1, 0xbc, 0xaf, 0x80, 0x42, 0x14, 0xb0, 0x73, 0xa8, 0xf2, 0x4f, 0x92, 0x55, 0x7e, 0xf3,
0x0c, 0x69, 0xdb, 0xa3, 0xba, 0xbf, 0x1e, 0x04, 0x30, 0x62, 0x42, 0x8e, 0x69, 0xd6, 0xb1, 0xb6,
0x0b, 0xe7, 0x41, 0xd6, 0xc6, 0x56, 0x90, 0xad, 0x61, 0x29, 0x7d, 0x8c, 0x2d, 0x82, 0x04, 0x05,
0x7e, 0xa7, 0x00, 0xd8, 0x14, 0xa1, 0x68, 0xac, 0xd8, 0xb6, 0xc3, 0x30, 0xbf, 0x9d, 0xc0, 0xc0,
0xda, 0x19, 0x0c, 0x0c, 0x74, 0xab, 0xdb, 0x29, 0xd4, 0x87, 0x36, 0xf3, 0xda, 0x51, 0x94, 0xd2,
0x0c, 0xa8, 0x8b, 0x29, 0x70, 0x17, 0x00, 0x4f, 0x62, 0x6e, 0x39, 0xb2, 0xe0, 0xfb, 0xef, 0x26,
0x81, 0x39, 0xab, 0x8e, 0xfd, 0xd2, 0xd0, 0xa3, 0x96, 0x85, 0x42, 0x48, 0x14, 0x83, 0x9f, 0x7d,
0x08, 0x66, 0x7a, 0xd8, 0x0d, 0x2f, 0x82, 0xc1, 0x5d, 0xd2, 0xf6, 0xaf, 0x12, 0xf1, 0x9f, 0x70,
0x0a, 0xe4, 0x5a, 0xd8, 0x6c, 0x12, 0xbf, 0x9a, 0x91, 0xff, 0xb1, 0x94, 0xb9, 0xab, 0x94, 0x7f,
0xcb, 0xc5, 0x33, 0x8b, 0x77, 0x2e, 0xb8, 0xc0, 0x1f, 0x22, 0xd7, 0x34, 0x34, 0x4c, 0x05, 0x46,
0xae, 0x7a, 0xc1, 0x7f, 0x84, 0xfc, 0x33, 0x14, 0x52, 0xe1, 0x67, 0x20, 0x4f, 0x89, 0x49, 0x34,
0xe6, 0x78, 0xb2, 0x79, 0xde, 0xec, 0x33, 0x07, 0x71, 0x9d, 0x98, 0x35, 0x29, 0xea, 0xc3, 0x07,
0x5f, 0x28, 0x84, 0x84, 0x9f, 0x82, 0x3c, 0x23, 0x96, 0x6b, 0x62, 0x46, 0xe4, 0x6d, 0x5e, 0xef,
0x7d, 0x9b, 0x1c, 0x76, 0xd3, 0x69, 0x6c, 0x49, 0x01, 0xd1, 0x91, 0xc3, 0x0c, 0x0f, 0x4e, 0x51,
0x08, 0x08, 0x0d, 0x90, 0xa7, 0x8c, 0x4f, 0x12, 0x7a, 0x5b, 0xf4, 0xa2, 0xd3, 0x3c, 0x65, 0xf1,
0xde, 0xec, 0x43, 0x44, 0xaa, 0x82, 0x13, 0x14, 0xc2, 0xc3, 0x15, 0x30, 0x6e, 0x19, 0x36, 0x22,
0xb8, 0xd1, 0xae, 0x11, 0xcd, 0xb1, 0x1b, 0x54, 0x34, 0xb5, 0x5c, 0x75, 0x46, 0x0a, 0x8d, 0xaf,
0x27, 0xc9, 0xa8, 0x93, 0x1f, 0xae, 0x81, 0xa9, 0xe0, 0xe9, 0xff, 0xd0, 0xa0, 0xcc, 0xf1, 0xda,
0x6b, 0x86, 0x65, 0x30, 0xd1, 0xea, 0x72, 0xd5, 0xe2, 0xd1, 0xc1, 0xdc, 0x14, 0xea, 0x42, 0x47,
0x5d, 0xa5, 0x78, 0x17, 0x76, 0x71, 0x93, 0x92, 0x86, 0x68, 0x5d, 0xf9, 0xa8, 0x0b, 0x6f, 0x8a,
0x53, 0x24, 0xa9, 0x50, 0x4f, 0x24, 0x74, 0xfe, 0xaf, 0x25, 0x74, 0xa1, 0x77, 0x32, 0xc3, 0x6d,
0x30, 0xe3, 0x7a, 0x8e, 0xee, 0x11, 0x4a, 0x1f, 0x10, 0xdc, 0x30, 0x0d, 0x9b, 0x04, 0x37, 0x35,
0x22, 0x3c, 0xbc, 0x74, 0x74, 0x30, 0x37, 0xb3, 0xd9, 0x9d, 0x05, 0xf5, 0x92, 0x2d, 0xff, 0x9a,
0x05, 0x17, 0x3b, 0xdf, 0x51, 0xf8, 0x11, 0x80, 0x4e, 0x5d, 0x8c, 0xb2, 0x8d, 0x47, 0xfe, 0x30,
0xc9, 0x27, 0x2e, 0x45, 0x4c, 0x5c, 0x61, 0xc5, 0x6f, 0xa4, 0x38, 0x50, 0x17, 0x29, 0x7f, 0x66,
0x93, 0xa5, 0x92, 0x11, 0x86, 0xc6, 0x66, 0xb6, 0x54, 0xb9, 0xac, 0x80, 0x71, 0xd9, 0x35, 0x02,
0xa2, 0x48, 0xeb, 0x58, 0x1e, 0x6c, 0x27, 0xc9, 0xa8, 0x93, 0x1f, 0x3e, 0x02, 0x13, 0xb8, 0x85,
0x0d, 0x13, 0xd7, 0x4d, 0x12, 0x82, 0x64, 0x05, 0xc8, 0xbf, 0x25, 0xc8, 0xc4, 0x4a, 0x27, 0x03,
0x4a, 0xcb, 0xc0, 0x75, 0x30, 0xd9, 0xb4, 0xd3, 0x50, 0x7e, 0x5e, 0x5e, 0x92, 0x50, 0x93, 0xdb,
0x69, 0x16, 0xd4, 0x4d, 0x0e, 0xba, 0x00, 0x68, 0xc1, 0x93, 0x4f, 0x8b, 0x43, 0xa2, 0x27, 0xbf,
0x77, 0x86, 0x7a, 0x0a, 0xe7, 0x86, 0xa8, 0xff, 0x85, 0x47, 0x14, 0xc5, 0x74, 0xc0, 0x65, 0x30,
0xe6, 0xf1, 0x0a, 0x09, 0x4d, 0x1f, 0x16, 0xa6, 0xff, 0x4b, 0x8a, 0x8d, 0xa1, 0x38, 0x11, 0x25,
0x79, 0xe1, 0x12, 0x28, 0x68, 0x8e, 0x69, 0x8a, 0xca, 0x58, 0x75, 0x9a, 0x36, 0x13, 0xc9, 0x3d,
0x58, 0x85, 0x7c, 0x06, 0x58, 0x4d, 0x50, 0x50, 0x07, 0x67, 0xf9, 0x17, 0x25, 0xfe, 0x80, 0x05,
0xe5, 0x0e, 0x97, 0x12, 0xe3, 0xd6, 0xe5, 0x8e, 0x71, 0x6b, 0x3a, 0x2d, 0x11, 0x9b, 0xb6, 0xda,
0x60, 0x8c, 0x17, 0x83, 0x61, 0xeb, 0x7e, 0x02, 0xc8, 0x66, 0xfa, 0xfe, 0xa9, 0x4a, 0x2d, 0x94,
0x8e, 0x3d, 0xc1, 0x13, 0xe2, 0x26, 0xe2, 0x44, 0x94, 0xd4, 0x54, 0xbe, 0x0f, 0x0a, 0xc9, 0x3a,
0x4d, 0xec, 0x21, 0xca, 0x89, 0x7b, 0xc8, 0x5b, 0x05, 0xcc, 0xf4, 0xd0, 0x0e, 0x4d, 0x50, 0xb0,
0xf0, 0x5e, 0x2c, 0x87, 0x4e, 0x9c, 0xdf, 0xf9, 0x22, 0xaa, 0xfa, 0x8b, 0xa8, 0xfa, 0xd8, 0x66,
0x1b, 0x5e, 0x8d, 0x79, 0x86, 0xad, 0xfb, 0x71, 0x59, 0x4f, 0x60, 0xa1, 0x0e, 0x6c, 0xf8, 0x0c,
0xe4, 0x2d, 0xbc, 0x57, 0x6b, 0x7a, 0x7a, 0x70, 0x7f, 0xa7, 0xd7, 0x23, 0x5e, 0xa2, 0x75, 0x89,
0x82, 0x42, 0xbc, 0xf2, 0xb7, 0x19, 0x90, 0xab, 0x69, 0xd8, 0x24, 0xe7, 0xb0, 0x8d, 0x6c, 0x25,
0xb6, 0x91, 0xc5, 0xbe, 0x73, 0x40, 0xd8, 0xd7, 0x73, 0x11, 0x79, 0xde, 0xb1, 0x88, 0xdc, 0x3a,
0x25, 0xee, 0xf1, 0x3b, 0xc8, 0x3d, 0x30, 0x12, 0xaa, 0x4f, 0x34, 0x45, 0xe5, 0xa4, 0xa6, 0x58,
0xfe, 0x21, 0x03, 0x46, 0x63, 0x2a, 0x4e, 0x27, 0x0d, 0xdd, 0xc4, 0x04, 0xc2, 0xbb, 0x4e, 0xf5,
0x2c, 0x8e, 0xa9, 0xc1, 0xf4, 0xe1, 0x0f, 0x7e, 0xd1, 0x63, 0x9e, 0x1e, 0x4a, 0xee, 0x83, 0x02,
0xc3, 0x9e, 0x4e, 0x58, 0x40, 0x13, 0x17, 0x3a, 0x12, 0xad, 0x10, 0x5b, 0x09, 0x2a, 0xea, 0xe0,
0x9e, 0x5d, 0x06, 0x63, 0x09, 0x65, 0xa7, 0x9a, 0xd6, 0x7e, 0xe2, 0x97, 0xc5, 0x30, 0x23, 0x2f,
0x9b, 0x66, 0x8d, 0x9c, 0xc7, 0x6e, 0xfc, 0x2c, 0x91, 0x8d, 0x77, 0xfb, 0xbf, 0xdc, 0xc8, 0xca,
0x9e, 0x39, 0x59, 0xef, 0xc8, 0xc9, 0xa5, 0x33, 0xa1, 0x1f, 0x9f, 0x99, 0x3f, 0x2b, 0x60, 0x3c,
0xc6, 0x7d, 0x0e, 0xab, 0xd3, 0xd3, 0xe4, 0xea, 0x74, 0xeb, 0x2c, 0x4e, 0xf5, 0xd8, 0x9d, 0xbe,
0xcf, 0x26, 0x9c, 0xf9, 0x07, 0x4d, 0xeb, 0x5f, 0x2a, 0x60, 0xaa, 0xe5, 0x98, 0x4d, 0x8b, 0xac,
0x9a, 0xd8, 0xb0, 0x02, 0x0e, 0x3e, 0xfb, 0x9c, 0xb0, 0x9f, 0x0a, 0x4d, 0xc4, 0xa3, 0x06, 0x65,
0xc4, 0x66, 0x4f, 0x22, 0x8c, 0xea, 0x7f, 0xa4, 0xbe, 0xa9, 0x27, 0x5d, 0x80, 0x51, 0x57, 0x75,
0xf0, 0xff, 0x60, 0x94, 0x0f, 0x81, 0x86, 0x46, 0xf8, 0x66, 0x2a, 0xff, 0x9b, 0x98, 0x94, 0x40,
0xa3, 0xb5, 0x88, 0x84, 0xe2, 0x7c, 0x70, 0x07, 0x4c, 0xba, 0x4e, 0x63, 0x1d, 0xdb, 0x58, 0x27,
0xfc, 0x69, 0xdc, 0x14, 0x7f, 0x6a, 0x8a, 0xe9, 0x7d, 0xa4, 0x7a, 0x3b, 0x98, 0xb6, 0x36, 0xd3,
0x2c, 0xef, 0xf8, 0xd8, 0x9b, 0x3e, 0x16, 0xb3, 0x43, 0x37, 0xc8, 0xf2, 0x57, 0x0a, 0x98, 0x48,
0x55, 0x07, 0xfc, 0xe0, 0x98, 0x99, 0x77, 0xfa, 0xef, 0x9a, 0x77, 0xab, 0x57, 0xf7, 0x0f, 0x4b,
0x03, 0xaf, 0x0f, 0x4b, 0x03, 0x6f, 0x0e, 0x4b, 0x03, 0x5f, 0x1c, 0x95, 0x94, 0xfd, 0xa3, 0x92,
0xf2, 0xfa, 0xa8, 0xa4, 0xfc, 0x7e, 0x54, 0x52, 0xbe, 0x79, 0x5b, 0x1a, 0x78, 0x36, 0x2c, 0x73,
0xff, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe5, 0x3c, 0x98, 0xc2, 0xcb, 0x17, 0x00, 0x00,
}

View File

@ -32,6 +32,38 @@ import "k8s.io/kubernetes/pkg/apis/policy/v1beta1/generated.proto";
// Package-wide variables from generator "generated".
option go_package = "v1beta1";
// ControllerRevision implements an immutable snapshot of state data. Clients
// are responsible for serializing and deserializing the objects that contain
// their internal state.
// Once a ControllerRevision has been successfully created, it can not be updated.
// The API Server will fail validation of all requests that attempt to mutate
// the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both
// the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However,
// it may be subject to name and representation changes in future releases, and clients should not
// depend on its stability. It is primarily for internal use by controllers.
message ControllerRevision {
// Standard object's metadata.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
// +optional
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
// Data is the serialized representation of the state.
optional k8s.io.apimachinery.pkg.runtime.RawExtension data = 2;
// Revision indicates the revision of the state represented by Data.
optional int64 revision = 3;
}
// ControllerRevisionList is a resource containing a list of ControllerRevision objects.
message ControllerRevisionList {
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
// +optional
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
// Items is the list of ControllerRevisions
repeated ControllerRevision items = 2;
}
// Deployment enables declarative updates for Pods and ReplicaSets.
message Deployment {
// Standard object metadata.

View File

@ -57,6 +57,8 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&Scale{},
&StatefulSet{},
&StatefulSetList{},
&ControllerRevision{},
&ControllerRevisionList{},
)
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil

View File

@ -27,6 +27,7 @@ import (
codec1978 "github.com/ugorji/go/codec"
pkg4_resource "k8s.io/apimachinery/pkg/api/resource"
pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
pkg6_runtime "k8s.io/apimachinery/pkg/runtime"
pkg2_types "k8s.io/apimachinery/pkg/types"
pkg5_intstr "k8s.io/apimachinery/pkg/util/intstr"
pkg3_v1 "k8s.io/client-go/pkg/api/v1"
@ -67,11 +68,12 @@ func init() {
if false { // reference the types, but skip this branch at build/run time
var v0 pkg4_resource.Quantity
var v1 pkg1_v1.TypeMeta
var v2 pkg2_types.UID
var v3 pkg5_intstr.IntOrString
var v4 pkg3_v1.PodTemplateSpec
var v5 time.Time
_, _, _, _, _, _ = v0, v1, v2, v3, v4, v5
var v2 pkg6_runtime.RawExtension
var v3 pkg2_types.UID
var v4 pkg5_intstr.IntOrString
var v5 pkg3_v1.PodTemplateSpec
var v6 time.Time
_, _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5, v6
}
}
@ -6152,6 +6154,808 @@ func (x *DeploymentList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
func (x *ControllerRevision) CodecEncodeSelf(e *codec1978.Encoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperEncoder(e)
_, _, _ = h, z, r
if x == nil {
r.EncodeNil()
} else {
yym1 := z.EncBinary()
_ = yym1
if false {
} else if z.HasExtensions() && z.EncExt(x) {
} else {
yysep2 := !z.EncBinary()
yy2arr2 := z.EncBasicHandle().StructToArray
var yyq2 [5]bool
_, _, _ = yysep2, yyq2, yy2arr2
const yyr2 bool = false
yyq2[0] = x.Kind != ""
yyq2[1] = x.APIVersion != ""
yyq2[2] = true
yyq2[3] = true
var yynn2 int
if yyr2 || yy2arr2 {
r.EncodeArrayStart(5)
} else {
yynn2 = 1
for _, b := range yyq2 {
if b {
yynn2++
}
}
r.EncodeMapStart(yynn2)
yynn2 = 0
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[0] {
yym4 := z.EncBinary()
_ = yym4
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
} else {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq2[0] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("kind"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym5 := z.EncBinary()
_ = yym5
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[1] {
yym7 := z.EncBinary()
_ = yym7
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
} else {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq2[1] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym8 := z.EncBinary()
_ = yym8
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[2] {
yy10 := &x.ObjectMeta
yym11 := z.EncBinary()
_ = yym11
if false {
} else if z.HasExtensions() && z.EncExt(yy10) {
} else {
z.EncFallback(yy10)
}
} else {
r.EncodeNil()
}
} else {
if yyq2[2] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("metadata"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy12 := &x.ObjectMeta
yym13 := z.EncBinary()
_ = yym13
if false {
} else if z.HasExtensions() && z.EncExt(yy12) {
} else {
z.EncFallback(yy12)
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[3] {
yy15 := &x.Data
yym16 := z.EncBinary()
_ = yym16
if false {
} else if z.HasExtensions() && z.EncExt(yy15) {
} else if !yym16 && z.IsJSONHandle() {
z.EncJSONMarshal(yy15)
} else {
z.EncFallback(yy15)
}
} else {
r.EncodeNil()
}
} else {
if yyq2[3] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("data"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy17 := &x.Data
yym18 := z.EncBinary()
_ = yym18
if false {
} else if z.HasExtensions() && z.EncExt(yy17) {
} else if !yym18 && z.IsJSONHandle() {
z.EncJSONMarshal(yy17)
} else {
z.EncFallback(yy17)
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yym20 := z.EncBinary()
_ = yym20
if false {
} else {
r.EncodeInt(int64(x.Revision))
}
} else {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("revision"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym21 := z.EncBinary()
_ = yym21
if false {
} else {
r.EncodeInt(int64(x.Revision))
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
}
}
}
}
func (x *ControllerRevision) CodecDecodeSelf(d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yym1 := z.DecBinary()
_ = yym1
if false {
} else if z.HasExtensions() && z.DecExt(x) {
} else {
yyct2 := r.ContainerType()
if yyct2 == codecSelferValueTypeMap1234 {
yyl2 := r.ReadMapStart()
if yyl2 == 0 {
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
} else {
x.codecDecodeSelfFromMap(yyl2, d)
}
} else if yyct2 == codecSelferValueTypeArray1234 {
yyl2 := r.ReadArrayStart()
if yyl2 == 0 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
x.codecDecodeSelfFromArray(yyl2, d)
}
} else {
panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
}
}
}
func (x *ControllerRevision) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yys3Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys3Slc
var yyhl3 bool = l >= 0
for yyj3 := 0; ; yyj3++ {
if yyhl3 {
if yyj3 >= l {
break
}
} else {
if r.CheckBreak() {
break
}
}
z.DecSendContainerState(codecSelfer_containerMapKey1234)
yys3Slc = r.DecodeBytes(yys3Slc, true, true)
yys3 := string(yys3Slc)
z.DecSendContainerState(codecSelfer_containerMapValue1234)
switch yys3 {
case "kind":
if r.TryDecodeAsNil() {
x.Kind = ""
} else {
yyv4 := &x.Kind
yym5 := z.DecBinary()
_ = yym5
if false {
} else {
*((*string)(yyv4)) = r.DecodeString()
}
}
case "apiVersion":
if r.TryDecodeAsNil() {
x.APIVersion = ""
} else {
yyv6 := &x.APIVersion
yym7 := z.DecBinary()
_ = yym7
if false {
} else {
*((*string)(yyv6)) = r.DecodeString()
}
}
case "metadata":
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg1_v1.ObjectMeta{}
} else {
yyv8 := &x.ObjectMeta
yym9 := z.DecBinary()
_ = yym9
if false {
} else if z.HasExtensions() && z.DecExt(yyv8) {
} else {
z.DecFallback(yyv8, false)
}
}
case "data":
if r.TryDecodeAsNil() {
x.Data = pkg6_runtime.RawExtension{}
} else {
yyv10 := &x.Data
yym11 := z.DecBinary()
_ = yym11
if false {
} else if z.HasExtensions() && z.DecExt(yyv10) {
} else if !yym11 && z.IsJSONHandle() {
z.DecJSONUnmarshal(yyv10)
} else {
z.DecFallback(yyv10, false)
}
}
case "revision":
if r.TryDecodeAsNil() {
x.Revision = 0
} else {
yyv12 := &x.Revision
yym13 := z.DecBinary()
_ = yym13
if false {
} else {
*((*int64)(yyv12)) = int64(r.DecodeInt(64))
}
}
default:
z.DecStructFieldNotFound(-1, yys3)
} // end switch yys3
} // end for yyj3
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}
func (x *ControllerRevision) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yyj14 int
var yyb14 bool
var yyhl14 bool = l >= 0
yyj14++
if yyhl14 {
yyb14 = yyj14 > l
} else {
yyb14 = r.CheckBreak()
}
if yyb14 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.Kind = ""
} else {
yyv15 := &x.Kind
yym16 := z.DecBinary()
_ = yym16
if false {
} else {
*((*string)(yyv15)) = r.DecodeString()
}
}
yyj14++
if yyhl14 {
yyb14 = yyj14 > l
} else {
yyb14 = r.CheckBreak()
}
if yyb14 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.APIVersion = ""
} else {
yyv17 := &x.APIVersion
yym18 := z.DecBinary()
_ = yym18
if false {
} else {
*((*string)(yyv17)) = r.DecodeString()
}
}
yyj14++
if yyhl14 {
yyb14 = yyj14 > l
} else {
yyb14 = r.CheckBreak()
}
if yyb14 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg1_v1.ObjectMeta{}
} else {
yyv19 := &x.ObjectMeta
yym20 := z.DecBinary()
_ = yym20
if false {
} else if z.HasExtensions() && z.DecExt(yyv19) {
} else {
z.DecFallback(yyv19, false)
}
}
yyj14++
if yyhl14 {
yyb14 = yyj14 > l
} else {
yyb14 = r.CheckBreak()
}
if yyb14 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.Data = pkg6_runtime.RawExtension{}
} else {
yyv21 := &x.Data
yym22 := z.DecBinary()
_ = yym22
if false {
} else if z.HasExtensions() && z.DecExt(yyv21) {
} else if !yym22 && z.IsJSONHandle() {
z.DecJSONUnmarshal(yyv21)
} else {
z.DecFallback(yyv21, false)
}
}
yyj14++
if yyhl14 {
yyb14 = yyj14 > l
} else {
yyb14 = r.CheckBreak()
}
if yyb14 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.Revision = 0
} else {
yyv23 := &x.Revision
yym24 := z.DecBinary()
_ = yym24
if false {
} else {
*((*int64)(yyv23)) = int64(r.DecodeInt(64))
}
}
for {
yyj14++
if yyhl14 {
yyb14 = yyj14 > l
} else {
yyb14 = r.CheckBreak()
}
if yyb14 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj14-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
func (x *ControllerRevisionList) CodecEncodeSelf(e *codec1978.Encoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperEncoder(e)
_, _, _ = h, z, r
if x == nil {
r.EncodeNil()
} else {
yym1 := z.EncBinary()
_ = yym1
if false {
} else if z.HasExtensions() && z.EncExt(x) {
} else {
yysep2 := !z.EncBinary()
yy2arr2 := z.EncBasicHandle().StructToArray
var yyq2 [4]bool
_, _, _ = yysep2, yyq2, yy2arr2
const yyr2 bool = false
yyq2[0] = x.Kind != ""
yyq2[1] = x.APIVersion != ""
yyq2[2] = true
var yynn2 int
if yyr2 || yy2arr2 {
r.EncodeArrayStart(4)
} else {
yynn2 = 1
for _, b := range yyq2 {
if b {
yynn2++
}
}
r.EncodeMapStart(yynn2)
yynn2 = 0
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[0] {
yym4 := z.EncBinary()
_ = yym4
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
} else {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq2[0] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("kind"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym5 := z.EncBinary()
_ = yym5
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.Kind))
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[1] {
yym7 := z.EncBinary()
_ = yym7
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
} else {
r.EncodeString(codecSelferC_UTF81234, "")
}
} else {
if yyq2[1] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("apiVersion"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yym8 := z.EncBinary()
_ = yym8
if false {
} else {
r.EncodeString(codecSelferC_UTF81234, string(x.APIVersion))
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[2] {
yy10 := &x.ListMeta
yym11 := z.EncBinary()
_ = yym11
if false {
} else if z.HasExtensions() && z.EncExt(yy10) {
} else {
z.EncFallback(yy10)
}
} else {
r.EncodeNil()
}
} else {
if yyq2[2] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("metadata"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
yy12 := &x.ListMeta
yym13 := z.EncBinary()
_ = yym13
if false {
} else if z.HasExtensions() && z.EncExt(yy12) {
} else {
z.EncFallback(yy12)
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if x.Items == nil {
r.EncodeNil()
} else {
yym15 := z.EncBinary()
_ = yym15
if false {
} else {
h.encSliceControllerRevision(([]ControllerRevision)(x.Items), e)
}
}
} else {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("items"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
if x.Items == nil {
r.EncodeNil()
} else {
yym16 := z.EncBinary()
_ = yym16
if false {
} else {
h.encSliceControllerRevision(([]ControllerRevision)(x.Items), e)
}
}
}
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
z.EncSendContainerState(codecSelfer_containerMapEnd1234)
}
}
}
}
func (x *ControllerRevisionList) CodecDecodeSelf(d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yym1 := z.DecBinary()
_ = yym1
if false {
} else if z.HasExtensions() && z.DecExt(x) {
} else {
yyct2 := r.ContainerType()
if yyct2 == codecSelferValueTypeMap1234 {
yyl2 := r.ReadMapStart()
if yyl2 == 0 {
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
} else {
x.codecDecodeSelfFromMap(yyl2, d)
}
} else if yyct2 == codecSelferValueTypeArray1234 {
yyl2 := r.ReadArrayStart()
if yyl2 == 0 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
x.codecDecodeSelfFromArray(yyl2, d)
}
} else {
panic(codecSelferOnlyMapOrArrayEncodeToStructErr1234)
}
}
}
func (x *ControllerRevisionList) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yys3Slc = z.DecScratchBuffer() // default slice to decode into
_ = yys3Slc
var yyhl3 bool = l >= 0
for yyj3 := 0; ; yyj3++ {
if yyhl3 {
if yyj3 >= l {
break
}
} else {
if r.CheckBreak() {
break
}
}
z.DecSendContainerState(codecSelfer_containerMapKey1234)
yys3Slc = r.DecodeBytes(yys3Slc, true, true)
yys3 := string(yys3Slc)
z.DecSendContainerState(codecSelfer_containerMapValue1234)
switch yys3 {
case "kind":
if r.TryDecodeAsNil() {
x.Kind = ""
} else {
yyv4 := &x.Kind
yym5 := z.DecBinary()
_ = yym5
if false {
} else {
*((*string)(yyv4)) = r.DecodeString()
}
}
case "apiVersion":
if r.TryDecodeAsNil() {
x.APIVersion = ""
} else {
yyv6 := &x.APIVersion
yym7 := z.DecBinary()
_ = yym7
if false {
} else {
*((*string)(yyv6)) = r.DecodeString()
}
}
case "metadata":
if r.TryDecodeAsNil() {
x.ListMeta = pkg1_v1.ListMeta{}
} else {
yyv8 := &x.ListMeta
yym9 := z.DecBinary()
_ = yym9
if false {
} else if z.HasExtensions() && z.DecExt(yyv8) {
} else {
z.DecFallback(yyv8, false)
}
}
case "items":
if r.TryDecodeAsNil() {
x.Items = nil
} else {
yyv10 := &x.Items
yym11 := z.DecBinary()
_ = yym11
if false {
} else {
h.decSliceControllerRevision((*[]ControllerRevision)(yyv10), d)
}
}
default:
z.DecStructFieldNotFound(-1, yys3)
} // end switch yys3
} // end for yyj3
z.DecSendContainerState(codecSelfer_containerMapEnd1234)
}
func (x *ControllerRevisionList) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
var yyj12 int
var yyb12 bool
var yyhl12 bool = l >= 0
yyj12++
if yyhl12 {
yyb12 = yyj12 > l
} else {
yyb12 = r.CheckBreak()
}
if yyb12 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.Kind = ""
} else {
yyv13 := &x.Kind
yym14 := z.DecBinary()
_ = yym14
if false {
} else {
*((*string)(yyv13)) = r.DecodeString()
}
}
yyj12++
if yyhl12 {
yyb12 = yyj12 > l
} else {
yyb12 = r.CheckBreak()
}
if yyb12 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.APIVersion = ""
} else {
yyv15 := &x.APIVersion
yym16 := z.DecBinary()
_ = yym16
if false {
} else {
*((*string)(yyv15)) = r.DecodeString()
}
}
yyj12++
if yyhl12 {
yyb12 = yyj12 > l
} else {
yyb12 = r.CheckBreak()
}
if yyb12 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.ListMeta = pkg1_v1.ListMeta{}
} else {
yyv17 := &x.ListMeta
yym18 := z.DecBinary()
_ = yym18
if false {
} else if z.HasExtensions() && z.DecExt(yyv17) {
} else {
z.DecFallback(yyv17, false)
}
}
yyj12++
if yyhl12 {
yyb12 = yyj12 > l
} else {
yyb12 = r.CheckBreak()
}
if yyb12 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.Items = nil
} else {
yyv19 := &x.Items
yym20 := z.DecBinary()
_ = yym20
if false {
} else {
h.decSliceControllerRevision((*[]ControllerRevision)(yyv19), d)
}
}
for {
yyj12++
if yyhl12 {
yyb12 = yyj12 > l
} else {
yyb12 = r.CheckBreak()
}
if yyb12 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj12-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
func (x codecSelfer1234) encSlicev1_PersistentVolumeClaim(v []pkg3_v1.PersistentVolumeClaim, e *codec1978.Encoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperEncoder(e)
@ -6627,3 +7431,122 @@ func (x codecSelfer1234) decSliceDeployment(v *[]Deployment, d *codec1978.Decode
*v = yyv1
}
}
func (x codecSelfer1234) encSliceControllerRevision(v []ControllerRevision, e *codec1978.Encoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperEncoder(e)
_, _, _ = h, z, r
r.EncodeArrayStart(len(v))
for _, yyv1 := range v {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
yy2 := &yyv1
yy2.CodecEncodeSelf(e)
}
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
}
func (x codecSelfer1234) decSliceControllerRevision(v *[]ControllerRevision, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
yyv1 := *v
yyh1, yyl1 := z.DecSliceHelperStart()
var yyc1 bool
_ = yyc1
if yyl1 == 0 {
if yyv1 == nil {
yyv1 = []ControllerRevision{}
yyc1 = true
} else if len(yyv1) != 0 {
yyv1 = yyv1[:0]
yyc1 = true
}
} else if yyl1 > 0 {
var yyrr1, yyrl1 int
var yyrt1 bool
_, _ = yyrl1, yyrt1
yyrr1 = yyl1 // len(yyv1)
if yyl1 > cap(yyv1) {
yyrg1 := len(yyv1) > 0
yyv21 := yyv1
yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 312)
if yyrt1 {
if yyrl1 <= cap(yyv1) {
yyv1 = yyv1[:yyrl1]
} else {
yyv1 = make([]ControllerRevision, yyrl1)
}
} else {
yyv1 = make([]ControllerRevision, yyrl1)
}
yyc1 = true
yyrr1 = len(yyv1)
if yyrg1 {
copy(yyv1, yyv21)
}
} else if yyl1 != len(yyv1) {
yyv1 = yyv1[:yyl1]
yyc1 = true
}
yyj1 := 0
for ; yyj1 < yyrr1; yyj1++ {
yyh1.ElemContainerState(yyj1)
if r.TryDecodeAsNil() {
yyv1[yyj1] = ControllerRevision{}
} else {
yyv2 := &yyv1[yyj1]
yyv2.CodecDecodeSelf(d)
}
}
if yyrt1 {
for ; yyj1 < yyl1; yyj1++ {
yyv1 = append(yyv1, ControllerRevision{})
yyh1.ElemContainerState(yyj1)
if r.TryDecodeAsNil() {
yyv1[yyj1] = ControllerRevision{}
} else {
yyv3 := &yyv1[yyj1]
yyv3.CodecDecodeSelf(d)
}
}
}
} else {
yyj1 := 0
for ; !r.CheckBreak(); yyj1++ {
if yyj1 >= len(yyv1) {
yyv1 = append(yyv1, ControllerRevision{}) // var yyz1 ControllerRevision
yyc1 = true
}
yyh1.ElemContainerState(yyj1)
if yyj1 < len(yyv1) {
if r.TryDecodeAsNil() {
yyv1[yyj1] = ControllerRevision{}
} else {
yyv4 := &yyv1[yyj1]
yyv4.CodecDecodeSelf(d)
}
} else {
z.DecSwallow()
}
}
if yyj1 < len(yyv1) {
yyv1 = yyv1[:yyj1]
yyc1 = true
} else if yyj1 == 0 && yyv1 == nil {
yyv1 = []ControllerRevision{}
yyc1 = true
}
}
yyh1.End()
if yyc1 {
*v = yyv1
}
}

View File

@ -18,6 +18,7 @@ package v1beta1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/client-go/pkg/api/v1"
)
@ -407,3 +408,40 @@ type DeploymentList struct {
// Items is the list of Deployments.
Items []Deployment `json:"items" protobuf:"bytes,2,rep,name=items"`
}
// +genclient=true
// ControllerRevision implements an immutable snapshot of state data. Clients
// are responsible for serializing and deserializing the objects that contain
// their internal state.
// Once a ControllerRevision has been successfully created, it can not be updated.
// The API Server will fail validation of all requests that attempt to mutate
// the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both
// the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However,
// it may be subject to name and representation changes in future releases, and clients should not
// depend on its stability. It is primarily for internal use by controllers.
type ControllerRevision struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Data is the serialized representation of the state.
Data runtime.RawExtension `json:"data,omitempty" protobuf:"bytes,2,opt,name=data"`
// Revision indicates the revision of the state represented by Data.
Revision int64 `json:"revision" protobuf:"varint,3,opt,name=revision"`
}
// ControllerRevisionList is a resource containing a list of ControllerRevision objects.
type ControllerRevisionList struct {
metav1.TypeMeta `json:",inline"`
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
// +optional
metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Items is the list of ControllerRevisions
Items []ControllerRevision `json:"items" protobuf:"bytes,2,rep,name=items"`
}

View File

@ -27,6 +27,27 @@ package v1beta1
// Those methods can be generated by using hack/update-generated-swagger-docs.sh
// AUTO-GENERATED FUNCTIONS START HERE
var map_ControllerRevision = map[string]string{
"": "ControllerRevision implements an immutable snapshot of state data. Clients are responsible for serializing and deserializing the objects that contain their internal state. Once a ControllerRevision has been successfully created, it can not be updated. The API Server will fail validation of all requests that attempt to mutate the Data field. ControllerRevisions may, however, be deleted. Note that, due to its use by both the DaemonSet and StatefulSet controllers for update and rollback, this object is beta. However, it may be subject to name and representation changes in future releases, and clients should not depend on its stability. It is primarily for internal use by controllers.",
"metadata": "Standard object's metadata. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata",
"data": "Data is the serialized representation of the state.",
"revision": "Revision indicates the revision of the state represented by Data.",
}
func (ControllerRevision) SwaggerDoc() map[string]string {
return map_ControllerRevision
}
var map_ControllerRevisionList = map[string]string{
"": "ControllerRevisionList is a resource containing a list of ControllerRevision objects.",
"metadata": "More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata",
"items": "Items is the list of ControllerRevisions",
}
func (ControllerRevisionList) SwaggerDoc() map[string]string {
return map_ControllerRevisionList
}
var map_Deployment = map[string]string{
"": "Deployment enables declarative updates for Pods and ReplicaSets.",
"metadata": "Standard object metadata.",

View File

@ -38,6 +38,10 @@ func init() {
// Public to allow building arbitrary schemes.
func RegisterConversions(scheme *runtime.Scheme) error {
return scheme.AddGeneratedConversionFuncs(
Convert_v1beta1_ControllerRevision_To_apps_ControllerRevision,
Convert_apps_ControllerRevision_To_v1beta1_ControllerRevision,
Convert_v1beta1_ControllerRevisionList_To_apps_ControllerRevisionList,
Convert_apps_ControllerRevisionList_To_v1beta1_ControllerRevisionList,
Convert_v1beta1_StatefulSet_To_apps_StatefulSet,
Convert_apps_StatefulSet_To_v1beta1_StatefulSet,
Convert_v1beta1_StatefulSetList_To_apps_StatefulSetList,
@ -49,6 +53,76 @@ func RegisterConversions(scheme *runtime.Scheme) error {
)
}
func autoConvert_v1beta1_ControllerRevision_To_apps_ControllerRevision(in *ControllerRevision, out *apps.ControllerRevision, s conversion.Scope) error {
out.ObjectMeta = in.ObjectMeta
if err := runtime.Convert_runtime_RawExtension_To_runtime_Object(&in.Data, &out.Data, s); err != nil {
return err
}
out.Revision = in.Revision
return nil
}
// Convert_v1beta1_ControllerRevision_To_apps_ControllerRevision is an autogenerated conversion function.
func Convert_v1beta1_ControllerRevision_To_apps_ControllerRevision(in *ControllerRevision, out *apps.ControllerRevision, s conversion.Scope) error {
return autoConvert_v1beta1_ControllerRevision_To_apps_ControllerRevision(in, out, s)
}
func autoConvert_apps_ControllerRevision_To_v1beta1_ControllerRevision(in *apps.ControllerRevision, out *ControllerRevision, s conversion.Scope) error {
out.ObjectMeta = in.ObjectMeta
if err := runtime.Convert_runtime_Object_To_runtime_RawExtension(&in.Data, &out.Data, s); err != nil {
return err
}
out.Revision = in.Revision
return nil
}
// Convert_apps_ControllerRevision_To_v1beta1_ControllerRevision is an autogenerated conversion function.
func Convert_apps_ControllerRevision_To_v1beta1_ControllerRevision(in *apps.ControllerRevision, out *ControllerRevision, s conversion.Scope) error {
return autoConvert_apps_ControllerRevision_To_v1beta1_ControllerRevision(in, out, s)
}
func autoConvert_v1beta1_ControllerRevisionList_To_apps_ControllerRevisionList(in *ControllerRevisionList, out *apps.ControllerRevisionList, s conversion.Scope) error {
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]apps.ControllerRevision, len(*in))
for i := range *in {
if err := Convert_v1beta1_ControllerRevision_To_apps_ControllerRevision(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
// Convert_v1beta1_ControllerRevisionList_To_apps_ControllerRevisionList is an autogenerated conversion function.
func Convert_v1beta1_ControllerRevisionList_To_apps_ControllerRevisionList(in *ControllerRevisionList, out *apps.ControllerRevisionList, s conversion.Scope) error {
return autoConvert_v1beta1_ControllerRevisionList_To_apps_ControllerRevisionList(in, out, s)
}
func autoConvert_apps_ControllerRevisionList_To_v1beta1_ControllerRevisionList(in *apps.ControllerRevisionList, out *ControllerRevisionList, s conversion.Scope) error {
out.ListMeta = in.ListMeta
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ControllerRevision, len(*in))
for i := range *in {
if err := Convert_apps_ControllerRevision_To_v1beta1_ControllerRevision(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.Items = make([]ControllerRevision, 0)
}
return nil
}
// Convert_apps_ControllerRevisionList_To_v1beta1_ControllerRevisionList is an autogenerated conversion function.
func Convert_apps_ControllerRevisionList_To_v1beta1_ControllerRevisionList(in *apps.ControllerRevisionList, out *ControllerRevisionList, s conversion.Scope) error {
return autoConvert_apps_ControllerRevisionList_To_v1beta1_ControllerRevisionList(in, out, s)
}
func autoConvert_v1beta1_StatefulSet_To_apps_StatefulSet(in *StatefulSet, out *apps.StatefulSet, s conversion.Scope) error {
out.ObjectMeta = in.ObjectMeta
if err := Convert_v1beta1_StatefulSetSpec_To_apps_StatefulSetSpec(&in.Spec, &out.Spec, s); err != nil {

View File

@ -37,6 +37,8 @@ func init() {
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_ControllerRevision, InType: reflect.TypeOf(&ControllerRevision{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_ControllerRevisionList, InType: reflect.TypeOf(&ControllerRevisionList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_Deployment, InType: reflect.TypeOf(&Deployment{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_DeploymentCondition, InType: reflect.TypeOf(&DeploymentCondition{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_v1beta1_DeploymentList, InType: reflect.TypeOf(&DeploymentList{})},
@ -56,6 +58,45 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
)
}
// DeepCopy_v1beta1_ControllerRevision is an autogenerated deepcopy function.
func DeepCopy_v1beta1_ControllerRevision(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ControllerRevision)
out := out.(*ControllerRevision)
*out = *in
if newVal, err := c.DeepCopy(&in.ObjectMeta); err != nil {
return err
} else {
out.ObjectMeta = *newVal.(*v1.ObjectMeta)
}
if newVal, err := c.DeepCopy(&in.Data); err != nil {
return err
} else {
out.Data = *newVal.(*runtime.RawExtension)
}
return nil
}
}
// DeepCopy_v1beta1_ControllerRevisionList is an autogenerated deepcopy function.
func DeepCopy_v1beta1_ControllerRevisionList(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ControllerRevisionList)
out := out.(*ControllerRevisionList)
*out = *in
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ControllerRevision, len(*in))
for i := range *in {
if err := DeepCopy_v1beta1_ControllerRevision(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
}
return nil
}
}
// DeepCopy_v1beta1_Deployment is an autogenerated deepcopy function.
func DeepCopy_v1beta1_Deployment(in interface{}, out interface{}, c *conversion.Cloner) error {
{

View File

@ -36,6 +36,8 @@ func init() {
// to allow building arbitrary schemes.
func RegisterDeepCopies(scheme *runtime.Scheme) error {
return scheme.AddGeneratedDeepCopyFuncs(
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_ControllerRevision, InType: reflect.TypeOf(&ControllerRevision{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_ControllerRevisionList, InType: reflect.TypeOf(&ControllerRevisionList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_StatefulSet, InType: reflect.TypeOf(&StatefulSet{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_StatefulSetList, InType: reflect.TypeOf(&StatefulSetList{})},
conversion.GeneratedDeepCopyFunc{Fn: DeepCopy_apps_StatefulSetSpec, InType: reflect.TypeOf(&StatefulSetSpec{})},
@ -43,6 +45,48 @@ func RegisterDeepCopies(scheme *runtime.Scheme) error {
)
}
// DeepCopy_apps_ControllerRevision is an autogenerated deepcopy function.
func DeepCopy_apps_ControllerRevision(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ControllerRevision)
out := out.(*ControllerRevision)
*out = *in
if newVal, err := c.DeepCopy(&in.ObjectMeta); err != nil {
return err
} else {
out.ObjectMeta = *newVal.(*v1.ObjectMeta)
}
// in.Data is kind 'Interface'
if in.Data != nil {
if newVal, err := c.DeepCopy(&in.Data); err != nil {
return err
} else {
out.Data = *newVal.(*runtime.Object)
}
}
return nil
}
}
// DeepCopy_apps_ControllerRevisionList is an autogenerated deepcopy function.
func DeepCopy_apps_ControllerRevisionList(in interface{}, out interface{}, c *conversion.Cloner) error {
{
in := in.(*ControllerRevisionList)
out := out.(*ControllerRevisionList)
*out = *in
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]ControllerRevision, len(*in))
for i := range *in {
if err := DeepCopy_apps_ControllerRevision(&(*in)[i], &(*out)[i], c); err != nil {
return err
}
}
}
return nil
}
}
// DeepCopy_apps_StatefulSet is an autogenerated deepcopy function.
func DeepCopy_apps_StatefulSet(in interface{}, out interface{}, c *conversion.Cloner) error {
{

View File

@ -141,6 +141,10 @@ var etcdStorageData = map[schema.GroupVersionResource]struct {
expectedEtcdPath: "/registry/deployments/etcdstoragepathtestnamespace/deployment2",
expectedGVK: gvkP("extensions", "v1beta1", "Deployment"),
},
gvr("apps", "v1beta1", "controllerrevisions"): {
stub: `{"metadata":{"name":"crs1"},"data":{"name":"abc","namespace":"default","creationTimestamp":null,"Spec":{"Replicas":0,"Selector":{"matchLabels":{"foo":"bar"}},"Template":{"creationTimestamp":null,"labels":{"foo":"bar"},"Spec":{"Volumes":null,"InitContainers":null,"Containers":null,"RestartPolicy":"Always","TerminationGracePeriodSeconds":null,"ActiveDeadlineSeconds":null,"DNSPolicy":"ClusterFirst","NodeSelector":null,"ServiceAccountName":"","AutomountServiceAccountToken":null,"NodeName":"","SecurityContext":null,"ImagePullSecrets":null,"Hostname":"","Subdomain":"","Affinity":null,"SchedulerName":"","Tolerations":null,"HostAliases":null}},"VolumeClaimTemplates":null,"ServiceName":""},"Status":{"ObservedGeneration":null,"Replicas":0}},"revision":0}`,
expectedEtcdPath: "/registry/controllerrevisions/etcdstoragepathtestnamespace/crs1",
},
// --
// k8s.io/kubernetes/pkg/apis/autoscaling/v1