From 1c3233a1d4f072f5c5da0e2a18fcaea0637b147b Mon Sep 17 00:00:00 2001 From: Tim Hockin Date: Wed, 22 Jul 2015 21:52:05 -0700 Subject: [PATCH] Remove v1beta3 --- api/swagger-spec/resourceListing.json | 4 - api/swagger-spec/v1beta3.json | 13573 ---------------- cmd/genconversion/conversion.go | 3 +- cmd/gendeepcopy/deep_copy.go | 3 +- cmd/integration/integration.go | 24 +- cmd/integration/v1beta3-controller.json | 24 - cmd/kube-apiserver/app/server.go | 4 - examples/examples_test.go | 3 +- examples/high-availability/etcd.manifest | 2 +- .../high-availability/kube-apiserver.manifest | 2 +- .../kube-controller-manager.manifest | 2 +- .../high-availability/kube-scheduler.manifest | 4 +- examples/high-availability/podmaster.json | 2 +- examples/high-availability/podmaster.manifest | 2 +- hack/test-cmd.sh | 13 +- hack/test-go.sh | 4 +- hack/test-integration.sh | 8 +- hack/test-update-storage-objects.sh | 2 +- hack/update-generated-conversions.sh | 2 +- hack/update-generated-deep-copies.sh | 2 +- hack/update-swagger-spec.sh | 5 +- pkg/api/latest/latest.go | 7 - pkg/api/meta/restmapper_test.go | 1 - pkg/api/registered/registered.go | 3 +- pkg/api/testapi/testapi.go | 5 +- pkg/api/testing/fuzzer.go | 2 +- pkg/api/types.go | 17 +- pkg/api/v1beta3/conversion.go | 778 - pkg/api/v1beta3/conversion_generated.go | 4333 ----- pkg/api/v1beta3/conversion_test.go | 139 - pkg/api/v1beta3/deep_copy_generated.go | 2213 --- pkg/api/v1beta3/defaults.go | 218 - pkg/api/v1beta3/defaults_test.go | 471 - pkg/api/v1beta3/doc.go | 18 - pkg/api/v1beta3/register.go | 130 - pkg/api/v1beta3/types.go | 1982 --- .../testdata/v1beta3/invalidPod.yaml | 11 - .../testdata/v1beta3/invalidPod1.json | 19 - .../testdata/v1beta3/invalidPod2.json | 35 - .../testdata/v1beta3/invalidPod3.json | 35 - .../validation/testdata/v1beta3/validPod.yaml | 16 - pkg/apiserver/apiserver.go | 2 +- pkg/apiserver/apiserver_test.go | 2 +- pkg/client/clientcmd/api/types.go | 2 +- pkg/client/clientcmd/api/v1/types.go | 2 +- pkg/client/request.go | 34 - pkg/client/request_test.go | 7 - pkg/kubectl/cmd/get_test.go | 2 +- pkg/kubectl/cmd/log_test.go | 8 - pkg/kubectl/cmd/rollingupdate.go | 5 - pkg/master/master.go | 24 - pkg/runtime/conversion_generation_test.go | 1 - pkg/runtime/deep_copy_generation_test.go | 1 - .../pkg/admission/resourcequota/admission.go | 5 +- .../admission/resourcequota/admission_test.go | 6 +- plugin/pkg/scheduler/api/v1/types.go | 4 +- shippable.yml | 2 +- test/integration/auth_test.go | 60 +- test/integration/framework/master_utils.go | 12 +- test/integration/scheduler_test.go | 6 +- test/integration/secret_test.go | 6 +- test/integration/service_account_test.go | 8 +- test/integration/utils.go | 6 +- 63 files changed, 85 insertions(+), 24241 deletions(-) delete mode 100644 api/swagger-spec/v1beta3.json delete mode 100644 cmd/integration/v1beta3-controller.json delete mode 100644 pkg/api/v1beta3/conversion.go delete mode 100644 pkg/api/v1beta3/conversion_generated.go delete mode 100644 pkg/api/v1beta3/conversion_test.go delete mode 100644 pkg/api/v1beta3/deep_copy_generated.go delete mode 100644 pkg/api/v1beta3/defaults.go delete mode 100644 pkg/api/v1beta3/defaults_test.go delete mode 100644 pkg/api/v1beta3/doc.go delete mode 100644 pkg/api/v1beta3/register.go delete mode 100644 pkg/api/v1beta3/types.go delete mode 100644 pkg/api/validation/testdata/v1beta3/invalidPod.yaml delete mode 100644 pkg/api/validation/testdata/v1beta3/invalidPod1.json delete mode 100644 pkg/api/validation/testdata/v1beta3/invalidPod2.json delete mode 100644 pkg/api/validation/testdata/v1beta3/invalidPod3.json delete mode 100644 pkg/api/validation/testdata/v1beta3/validPod.yaml diff --git a/api/swagger-spec/resourceListing.json b/api/swagger-spec/resourceListing.json index 8d8017c17dc..0d748108587 100644 --- a/api/swagger-spec/resourceListing.json +++ b/api/swagger-spec/resourceListing.json @@ -1,10 +1,6 @@ { "swaggerVersion": "1.2", "apis": [ - { - "path": "/api/v1beta3", - "description": "API at /api/v1beta3 version v1beta3" - }, { "path": "/api/v1", "description": "API at /api/v1 version v1" diff --git a/api/swagger-spec/v1beta3.json b/api/swagger-spec/v1beta3.json deleted file mode 100644 index d23245e16bd..00000000000 --- a/api/swagger-spec/v1beta3.json +++ /dev/null @@ -1,13573 +0,0 @@ -{ - "swaggerVersion": "1.2", - "apiVersion": "v1beta3", - "basePath": "https://127.0.0.1:6443", - "resourcePath": "/api/v1beta3", - "apis": [ - { - "path": "/api/v1beta3/namespaces/{namespace}/bindings", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Binding", - "method": "POST", - "summary": "create a Binding", - "nickname": "createNamespacedBinding", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Binding", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Binding" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/bindings", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Binding", - "method": "POST", - "summary": "create a Binding", - "nickname": "createBinding", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Binding", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Binding" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/componentstatuses", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ComponentStatusList", - "method": "GET", - "summary": "list objects of kind ComponentStatus", - "nickname": "listNamespacedComponentStatus", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ComponentStatusList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/componentstatuses/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ComponentStatus", - "method": "GET", - "summary": "read the specified ComponentStatus", - "nickname": "readNamespacedComponentStatus", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ComponentStatus", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ComponentStatus" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/componentstatuses", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ComponentStatusList", - "method": "GET", - "summary": "list objects of kind ComponentStatus", - "nickname": "listComponentStatus", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ComponentStatusList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/endpoints", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.EndpointsList", - "method": "GET", - "summary": "list or watch objects of kind Endpoints", - "nickname": "listNamespacedEndpoints", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.EndpointsList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Endpoints", - "method": "POST", - "summary": "create a Endpoints", - "nickname": "createNamespacedEndpoints", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Endpoints", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Endpoints" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/endpoints", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of Endpoints", - "nickname": "watchNamespacedEndpointsList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/endpoints/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Endpoints", - "method": "GET", - "summary": "read the specified Endpoints", - "nickname": "readNamespacedEndpoints", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Endpoints", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Endpoints" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Endpoints", - "method": "PUT", - "summary": "replace the specified Endpoints", - "nickname": "replaceNamespacedEndpoints", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Endpoints", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Endpoints", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Endpoints" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Endpoints", - "method": "PATCH", - "summary": "partially update the specified Endpoints", - "nickname": "patchNamespacedEndpoints", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Endpoints", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Endpoints" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a Endpoints", - "nickname": "deleteNamespacedEndpoints", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.DeleteOptions", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Endpoints", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/endpoints/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind Endpoints", - "nickname": "watchNamespacedEndpoints", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Endpoints", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/endpoints", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.EndpointsList", - "method": "GET", - "summary": "list or watch objects of kind Endpoints", - "nickname": "listEndpoints", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.EndpointsList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Endpoints", - "method": "POST", - "summary": "create a Endpoints", - "nickname": "createEndpoints", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Endpoints", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Endpoints" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/endpoints", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of Endpoints", - "nickname": "watchEndpointsList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/events", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.EventList", - "method": "GET", - "summary": "list or watch objects of kind Event", - "nickname": "listNamespacedEvent", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.EventList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Event", - "method": "POST", - "summary": "create a Event", - "nickname": "createNamespacedEvent", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Event", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Event" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/events", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of Event", - "nickname": "watchNamespacedEventList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/events/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Event", - "method": "GET", - "summary": "read the specified Event", - "nickname": "readNamespacedEvent", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Event", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Event" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Event", - "method": "PUT", - "summary": "replace the specified Event", - "nickname": "replaceNamespacedEvent", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Event", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Event", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Event" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Event", - "method": "PATCH", - "summary": "partially update the specified Event", - "nickname": "patchNamespacedEvent", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Event", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Event" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a Event", - "nickname": "deleteNamespacedEvent", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Event", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/events/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind Event", - "nickname": "watchNamespacedEvent", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Event", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/events", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.EventList", - "method": "GET", - "summary": "list or watch objects of kind Event", - "nickname": "listEvent", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.EventList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Event", - "method": "POST", - "summary": "create a Event", - "nickname": "createEvent", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Event", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Event" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/events", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of Event", - "nickname": "watchEventList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/limitranges", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.LimitRangeList", - "method": "GET", - "summary": "list or watch objects of kind LimitRange", - "nickname": "listNamespacedLimitRange", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.LimitRangeList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.LimitRange", - "method": "POST", - "summary": "create a LimitRange", - "nickname": "createNamespacedLimitRange", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.LimitRange", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.LimitRange" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/limitranges", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of LimitRange", - "nickname": "watchNamespacedLimitRangeList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/limitranges/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.LimitRange", - "method": "GET", - "summary": "read the specified LimitRange", - "nickname": "readNamespacedLimitRange", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the LimitRange", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.LimitRange" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.LimitRange", - "method": "PUT", - "summary": "replace the specified LimitRange", - "nickname": "replaceNamespacedLimitRange", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.LimitRange", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the LimitRange", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.LimitRange" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.LimitRange", - "method": "PATCH", - "summary": "partially update the specified LimitRange", - "nickname": "patchNamespacedLimitRange", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the LimitRange", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.LimitRange" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a LimitRange", - "nickname": "deleteNamespacedLimitRange", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the LimitRange", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/limitranges/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind LimitRange", - "nickname": "watchNamespacedLimitRange", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the LimitRange", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/limitranges", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.LimitRangeList", - "method": "GET", - "summary": "list or watch objects of kind LimitRange", - "nickname": "listLimitRange", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.LimitRangeList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.LimitRange", - "method": "POST", - "summary": "create a LimitRange", - "nickname": "createLimitRange", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.LimitRange", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.LimitRange" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/limitranges", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of LimitRange", - "nickname": "watchLimitRangeList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.NamespaceList", - "method": "GET", - "summary": "list or watch objects of kind Namespace", - "nickname": "listNamespacedNamespace", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.NamespaceList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Namespace", - "method": "POST", - "summary": "create a Namespace", - "nickname": "createNamespacedNamespace", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Namespace", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Namespace" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of Namespace", - "nickname": "watchNamespacedNamespaceList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Namespace", - "method": "GET", - "summary": "read the specified Namespace", - "nickname": "readNamespacedNamespace", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Namespace", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Namespace" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Namespace", - "method": "PUT", - "summary": "replace the specified Namespace", - "nickname": "replaceNamespacedNamespace", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Namespace", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Namespace", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Namespace" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Namespace", - "method": "PATCH", - "summary": "partially update the specified Namespace", - "nickname": "patchNamespacedNamespace", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Namespace", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Namespace" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a Namespace", - "nickname": "deleteNamespacedNamespace", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.DeleteOptions", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Namespace", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind Namespace", - "nickname": "watchNamespacedNamespace", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Namespace", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{name}/finalize", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Namespace", - "method": "PUT", - "summary": "replace finalize of the specified Namespace", - "nickname": "replaceNamespacedNamespaceFinalize", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Namespace", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Namespace", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Namespace" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{name}/status", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Namespace", - "method": "PUT", - "summary": "replace status of the specified Namespace", - "nickname": "replaceNamespacedNamespaceStatus", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Namespace", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Namespace", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Namespace" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/nodes", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.NodeList", - "method": "GET", - "summary": "list or watch objects of kind Node", - "nickname": "listNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.NodeList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Node", - "method": "POST", - "summary": "create a Node", - "nickname": "createNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Node", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Node" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/nodes", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of Node", - "nickname": "watchNamespacedNodeList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/nodes/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Node", - "method": "GET", - "summary": "read the specified Node", - "nickname": "readNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Node" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Node", - "method": "PUT", - "summary": "replace the specified Node", - "nickname": "replaceNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Node", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Node" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Node", - "method": "PATCH", - "summary": "partially update the specified Node", - "nickname": "patchNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Node" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a Node", - "nickname": "deleteNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.DeleteOptions", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/nodes/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind Node", - "nickname": "watchNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/proxy/nodes/{name}/{path:*}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "string", - "method": "GET", - "summary": "proxy GET requests to Node", - "nickname": "proxyGETNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "PUT", - "summary": "proxy PUT requests to Node", - "nickname": "proxyPUTNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "POST", - "summary": "proxy POST requests to Node", - "nickname": "proxyPOSTNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "DELETE", - "summary": "proxy DELETE requests to Node", - "nickname": "proxyDELETENamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "HEAD", - "summary": "proxy HEAD requests to Node", - "nickname": "proxyHEADNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "OPTIONS", - "summary": "proxy OPTIONS requests to Node", - "nickname": "proxyOPTIONSNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/proxy/nodes/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "string", - "method": "GET", - "summary": "proxy GET requests to Node", - "nickname": "proxyGETNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "PUT", - "summary": "proxy PUT requests to Node", - "nickname": "proxyPUTNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "POST", - "summary": "proxy POST requests to Node", - "nickname": "proxyPOSTNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "DELETE", - "summary": "proxy DELETE requests to Node", - "nickname": "proxyDELETENamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "HEAD", - "summary": "proxy HEAD requests to Node", - "nickname": "proxyHEADNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "OPTIONS", - "summary": "proxy OPTIONS requests to Node", - "nickname": "proxyOPTIONSNamespacedNode", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/nodes/{name}/status", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Node", - "method": "PUT", - "summary": "replace status of the specified Node", - "nickname": "replaceNamespacedNodeStatus", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Node", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Node", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Node" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/persistentvolumeclaims", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.PersistentVolumeClaimList", - "method": "GET", - "summary": "list or watch objects of kind PersistentVolumeClaim", - "nickname": "listNamespacedPersistentVolumeClaim", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolumeClaimList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.PersistentVolumeClaim", - "method": "POST", - "summary": "create a PersistentVolumeClaim", - "nickname": "createNamespacedPersistentVolumeClaim", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.PersistentVolumeClaim", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolumeClaim" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/persistentvolumeclaims", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of PersistentVolumeClaim", - "nickname": "watchNamespacedPersistentVolumeClaimList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/persistentvolumeclaims/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.PersistentVolumeClaim", - "method": "GET", - "summary": "read the specified PersistentVolumeClaim", - "nickname": "readNamespacedPersistentVolumeClaim", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PersistentVolumeClaim", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolumeClaim" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.PersistentVolumeClaim", - "method": "PUT", - "summary": "replace the specified PersistentVolumeClaim", - "nickname": "replaceNamespacedPersistentVolumeClaim", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.PersistentVolumeClaim", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PersistentVolumeClaim", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolumeClaim" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.PersistentVolumeClaim", - "method": "PATCH", - "summary": "partially update the specified PersistentVolumeClaim", - "nickname": "patchNamespacedPersistentVolumeClaim", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PersistentVolumeClaim", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolumeClaim" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a PersistentVolumeClaim", - "nickname": "deleteNamespacedPersistentVolumeClaim", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.DeleteOptions", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PersistentVolumeClaim", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/persistentvolumeclaims/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind PersistentVolumeClaim", - "nickname": "watchNamespacedPersistentVolumeClaim", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PersistentVolumeClaim", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/persistentvolumeclaims", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.PersistentVolumeClaimList", - "method": "GET", - "summary": "list or watch objects of kind PersistentVolumeClaim", - "nickname": "listPersistentVolumeClaim", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolumeClaimList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.PersistentVolumeClaim", - "method": "POST", - "summary": "create a PersistentVolumeClaim", - "nickname": "createPersistentVolumeClaim", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.PersistentVolumeClaim", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolumeClaim" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/persistentvolumeclaims", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of PersistentVolumeClaim", - "nickname": "watchPersistentVolumeClaimList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/persistentvolumeclaims/{name}/status", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.PersistentVolumeClaim", - "method": "PUT", - "summary": "replace status of the specified PersistentVolumeClaim", - "nickname": "replaceNamespacedPersistentVolumeClaimStatus", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.PersistentVolumeClaim", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PersistentVolumeClaim", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolumeClaim" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/persistentvolumes", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.PersistentVolumeList", - "method": "GET", - "summary": "list or watch objects of kind PersistentVolume", - "nickname": "listNamespacedPersistentVolume", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolumeList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.PersistentVolume", - "method": "POST", - "summary": "create a PersistentVolume", - "nickname": "createNamespacedPersistentVolume", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.PersistentVolume", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolume" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/persistentvolumes", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of PersistentVolume", - "nickname": "watchNamespacedPersistentVolumeList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/persistentvolumes/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.PersistentVolume", - "method": "GET", - "summary": "read the specified PersistentVolume", - "nickname": "readNamespacedPersistentVolume", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PersistentVolume", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolume" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.PersistentVolume", - "method": "PUT", - "summary": "replace the specified PersistentVolume", - "nickname": "replaceNamespacedPersistentVolume", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.PersistentVolume", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PersistentVolume", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolume" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.PersistentVolume", - "method": "PATCH", - "summary": "partially update the specified PersistentVolume", - "nickname": "patchNamespacedPersistentVolume", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PersistentVolume", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolume" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a PersistentVolume", - "nickname": "deleteNamespacedPersistentVolume", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.DeleteOptions", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PersistentVolume", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/persistentvolumes/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind PersistentVolume", - "nickname": "watchNamespacedPersistentVolume", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PersistentVolume", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/persistentvolumes/{name}/status", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.PersistentVolume", - "method": "PUT", - "summary": "replace status of the specified PersistentVolume", - "nickname": "replaceNamespacedPersistentVolumeStatus", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.PersistentVolume", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PersistentVolume", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PersistentVolume" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/pods", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.PodList", - "method": "GET", - "summary": "list or watch objects of kind Pod", - "nickname": "listNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PodList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Pod", - "method": "POST", - "summary": "create a Pod", - "nickname": "createNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Pod", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Pod" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/pods", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of Pod", - "nickname": "watchNamespacedPodList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/pods/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Pod", - "method": "GET", - "summary": "read the specified Pod", - "nickname": "readNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Pod" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Pod", - "method": "PUT", - "summary": "replace the specified Pod", - "nickname": "replaceNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Pod", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Pod" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Pod", - "method": "PATCH", - "summary": "partially update the specified Pod", - "nickname": "patchNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Pod" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a Pod", - "nickname": "deleteNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.DeleteOptions", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/pods/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind Pod", - "nickname": "watchNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/proxy/namespaces/{namespace}/pods/{name}/{path:*}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "string", - "method": "GET", - "summary": "proxy GET requests to Pod", - "nickname": "proxyGETNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "PUT", - "summary": "proxy PUT requests to Pod", - "nickname": "proxyPUTNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "POST", - "summary": "proxy POST requests to Pod", - "nickname": "proxyPOSTNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "DELETE", - "summary": "proxy DELETE requests to Pod", - "nickname": "proxyDELETENamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "HEAD", - "summary": "proxy HEAD requests to Pod", - "nickname": "proxyHEADNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "OPTIONS", - "summary": "proxy OPTIONS requests to Pod", - "nickname": "proxyOPTIONSNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/proxy/namespaces/{namespace}/pods/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "string", - "method": "GET", - "summary": "proxy GET requests to Pod", - "nickname": "proxyGETNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "PUT", - "summary": "proxy PUT requests to Pod", - "nickname": "proxyPUTNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "POST", - "summary": "proxy POST requests to Pod", - "nickname": "proxyPOSTNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "DELETE", - "summary": "proxy DELETE requests to Pod", - "nickname": "proxyDELETENamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "HEAD", - "summary": "proxy HEAD requests to Pod", - "nickname": "proxyHEADNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "OPTIONS", - "summary": "proxy OPTIONS requests to Pod", - "nickname": "proxyOPTIONSNamespacedPod", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/pods", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.PodList", - "method": "GET", - "summary": "list or watch objects of kind Pod", - "nickname": "listPod", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PodList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Pod", - "method": "POST", - "summary": "create a Pod", - "nickname": "createPod", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Pod", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Pod" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/pods", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of Pod", - "nickname": "watchPodList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/pods/{name}/binding", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Binding", - "method": "POST", - "summary": "create binding of a Binding", - "nickname": "createNamespacedBindingBinding", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Binding", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Binding", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Binding" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/pods/{name}/exec", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "string", - "method": "GET", - "summary": "connect GET requests to exec of Pod", - "nickname": "connectGetNamespacedPodExec", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "POST", - "summary": "connect POST requests to exec of Pod", - "nickname": "connectPostNamespacedPodExec", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/pods/{name}/log", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Pod", - "method": "GET", - "summary": "read log of the specified Pod", - "nickname": "readNamespacedPodLog", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Pod" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/pods/{name}/portforward", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "string", - "method": "GET", - "summary": "connect GET requests to portforward of Pod", - "nickname": "connectGetNamespacedPodPortforward", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "POST", - "summary": "connect POST requests to portforward of Pod", - "nickname": "connectPostNamespacedPodPortforward", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/pods/{name}/proxy", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "string", - "method": "GET", - "summary": "connect GET requests to proxy of Pod", - "nickname": "connectGetNamespacedPodProxy", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "POST", - "summary": "connect POST requests to proxy of Pod", - "nickname": "connectPostNamespacedPodProxy", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "PUT", - "summary": "connect PUT requests to proxy of Pod", - "nickname": "connectPutNamespacedPodProxy", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "DELETE", - "summary": "connect DELETE requests to proxy of Pod", - "nickname": "connectDeleteNamespacedPodProxy", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "HEAD", - "summary": "connect HEAD requests to proxy of Pod", - "nickname": "connectHeadNamespacedPodProxy", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "OPTIONS", - "summary": "connect OPTIONS requests to proxy of Pod", - "nickname": "connectOptionsNamespacedPodProxy", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/pods/{name}/proxy/{path:*}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "string", - "method": "GET", - "summary": "connect GET requests to proxy of Pod", - "nickname": "connectGetNamespacedPodProxy", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "POST", - "summary": "connect POST requests to proxy of Pod", - "nickname": "connectPostNamespacedPodProxy", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "PUT", - "summary": "connect PUT requests to proxy of Pod", - "nickname": "connectPutNamespacedPodProxy", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "DELETE", - "summary": "connect DELETE requests to proxy of Pod", - "nickname": "connectDeleteNamespacedPodProxy", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "HEAD", - "summary": "connect HEAD requests to proxy of Pod", - "nickname": "connectHeadNamespacedPodProxy", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "OPTIONS", - "summary": "connect OPTIONS requests to proxy of Pod", - "nickname": "connectOptionsNamespacedPodProxy", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/pods/{name}/status", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Pod", - "method": "PUT", - "summary": "replace status of the specified Pod", - "nickname": "replaceNamespacedPodStatus", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Pod", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Pod", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Pod" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/podtemplates", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.PodTemplateList", - "method": "GET", - "summary": "list or watch objects of kind PodTemplate", - "nickname": "listNamespacedPodTemplate", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PodTemplateList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.PodTemplate", - "method": "POST", - "summary": "create a PodTemplate", - "nickname": "createNamespacedPodTemplate", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.PodTemplate", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PodTemplate" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/podtemplates", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of PodTemplate", - "nickname": "watchNamespacedPodTemplateList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/podtemplates/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.PodTemplate", - "method": "GET", - "summary": "read the specified PodTemplate", - "nickname": "readNamespacedPodTemplate", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PodTemplate", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PodTemplate" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.PodTemplate", - "method": "PUT", - "summary": "replace the specified PodTemplate", - "nickname": "replaceNamespacedPodTemplate", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.PodTemplate", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PodTemplate", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PodTemplate" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.PodTemplate", - "method": "PATCH", - "summary": "partially update the specified PodTemplate", - "nickname": "patchNamespacedPodTemplate", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PodTemplate", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PodTemplate" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a PodTemplate", - "nickname": "deleteNamespacedPodTemplate", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.DeleteOptions", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PodTemplate", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/podtemplates/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind PodTemplate", - "nickname": "watchNamespacedPodTemplate", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the PodTemplate", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/podtemplates", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.PodTemplateList", - "method": "GET", - "summary": "list or watch objects of kind PodTemplate", - "nickname": "listPodTemplate", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PodTemplateList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.PodTemplate", - "method": "POST", - "summary": "create a PodTemplate", - "nickname": "createPodTemplate", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.PodTemplate", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.PodTemplate" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/podtemplates", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of PodTemplate", - "nickname": "watchPodTemplateList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/replicationcontrollers", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ReplicationControllerList", - "method": "GET", - "summary": "list or watch objects of kind ReplicationController", - "nickname": "listNamespacedReplicationController", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ReplicationControllerList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.ReplicationController", - "method": "POST", - "summary": "create a ReplicationController", - "nickname": "createNamespacedReplicationController", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.ReplicationController", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ReplicationController" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/replicationcontrollers", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of ReplicationController", - "nickname": "watchNamespacedReplicationControllerList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/replicationcontrollers/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ReplicationController", - "method": "GET", - "summary": "read the specified ReplicationController", - "nickname": "readNamespacedReplicationController", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ReplicationController", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ReplicationController" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.ReplicationController", - "method": "PUT", - "summary": "replace the specified ReplicationController", - "nickname": "replaceNamespacedReplicationController", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.ReplicationController", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ReplicationController", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ReplicationController" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.ReplicationController", - "method": "PATCH", - "summary": "partially update the specified ReplicationController", - "nickname": "patchNamespacedReplicationController", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ReplicationController", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ReplicationController" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a ReplicationController", - "nickname": "deleteNamespacedReplicationController", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.DeleteOptions", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ReplicationController", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/replicationcontrollers/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind ReplicationController", - "nickname": "watchNamespacedReplicationController", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ReplicationController", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/replicationcontrollers", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ReplicationControllerList", - "method": "GET", - "summary": "list or watch objects of kind ReplicationController", - "nickname": "listReplicationController", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ReplicationControllerList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.ReplicationController", - "method": "POST", - "summary": "create a ReplicationController", - "nickname": "createReplicationController", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.ReplicationController", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ReplicationController" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/replicationcontrollers", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of ReplicationController", - "nickname": "watchReplicationControllerList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/resourcequotas", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ResourceQuotaList", - "method": "GET", - "summary": "list or watch objects of kind ResourceQuota", - "nickname": "listNamespacedResourceQuota", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ResourceQuotaList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.ResourceQuota", - "method": "POST", - "summary": "create a ResourceQuota", - "nickname": "createNamespacedResourceQuota", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.ResourceQuota", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ResourceQuota" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/resourcequotas", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of ResourceQuota", - "nickname": "watchNamespacedResourceQuotaList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/resourcequotas/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ResourceQuota", - "method": "GET", - "summary": "read the specified ResourceQuota", - "nickname": "readNamespacedResourceQuota", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ResourceQuota", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ResourceQuota" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.ResourceQuota", - "method": "PUT", - "summary": "replace the specified ResourceQuota", - "nickname": "replaceNamespacedResourceQuota", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.ResourceQuota", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ResourceQuota", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ResourceQuota" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.ResourceQuota", - "method": "PATCH", - "summary": "partially update the specified ResourceQuota", - "nickname": "patchNamespacedResourceQuota", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ResourceQuota", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ResourceQuota" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a ResourceQuota", - "nickname": "deleteNamespacedResourceQuota", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.DeleteOptions", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ResourceQuota", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/resourcequotas/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind ResourceQuota", - "nickname": "watchNamespacedResourceQuota", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ResourceQuota", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/resourcequotas", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ResourceQuotaList", - "method": "GET", - "summary": "list or watch objects of kind ResourceQuota", - "nickname": "listResourceQuota", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ResourceQuotaList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.ResourceQuota", - "method": "POST", - "summary": "create a ResourceQuota", - "nickname": "createResourceQuota", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.ResourceQuota", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ResourceQuota" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/resourcequotas", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of ResourceQuota", - "nickname": "watchResourceQuotaList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/resourcequotas/{name}/status", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ResourceQuota", - "method": "PUT", - "summary": "replace status of the specified ResourceQuota", - "nickname": "replaceNamespacedResourceQuotaStatus", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.ResourceQuota", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ResourceQuota", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ResourceQuota" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/secrets", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.SecretList", - "method": "GET", - "summary": "list or watch objects of kind Secret", - "nickname": "listNamespacedSecret", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.SecretList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Secret", - "method": "POST", - "summary": "create a Secret", - "nickname": "createNamespacedSecret", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Secret", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Secret" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/secrets", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of Secret", - "nickname": "watchNamespacedSecretList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/secrets/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Secret", - "method": "GET", - "summary": "read the specified Secret", - "nickname": "readNamespacedSecret", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Secret", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Secret" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Secret", - "method": "PUT", - "summary": "replace the specified Secret", - "nickname": "replaceNamespacedSecret", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Secret", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Secret", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Secret" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Secret", - "method": "PATCH", - "summary": "partially update the specified Secret", - "nickname": "patchNamespacedSecret", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Secret", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Secret" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a Secret", - "nickname": "deleteNamespacedSecret", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.DeleteOptions", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Secret", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/secrets/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind Secret", - "nickname": "watchNamespacedSecret", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Secret", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/secrets", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.SecretList", - "method": "GET", - "summary": "list or watch objects of kind Secret", - "nickname": "listSecret", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.SecretList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Secret", - "method": "POST", - "summary": "create a Secret", - "nickname": "createSecret", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Secret", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Secret" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/secrets", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of Secret", - "nickname": "watchSecretList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/serviceaccounts", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ServiceAccountList", - "method": "GET", - "summary": "list or watch objects of kind ServiceAccount", - "nickname": "listNamespacedServiceAccount", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ServiceAccountList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.ServiceAccount", - "method": "POST", - "summary": "create a ServiceAccount", - "nickname": "createNamespacedServiceAccount", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.ServiceAccount", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ServiceAccount" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/serviceaccounts", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of ServiceAccount", - "nickname": "watchNamespacedServiceAccountList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/serviceaccounts/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ServiceAccount", - "method": "GET", - "summary": "read the specified ServiceAccount", - "nickname": "readNamespacedServiceAccount", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ServiceAccount", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ServiceAccount" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.ServiceAccount", - "method": "PUT", - "summary": "replace the specified ServiceAccount", - "nickname": "replaceNamespacedServiceAccount", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.ServiceAccount", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ServiceAccount", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ServiceAccount" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.ServiceAccount", - "method": "PATCH", - "summary": "partially update the specified ServiceAccount", - "nickname": "patchNamespacedServiceAccount", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ServiceAccount", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ServiceAccount" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a ServiceAccount", - "nickname": "deleteNamespacedServiceAccount", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.DeleteOptions", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ServiceAccount", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/serviceaccounts/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind ServiceAccount", - "nickname": "watchNamespacedServiceAccount", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the ServiceAccount", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/serviceaccounts", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ServiceAccountList", - "method": "GET", - "summary": "list or watch objects of kind ServiceAccount", - "nickname": "listServiceAccount", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ServiceAccountList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.ServiceAccount", - "method": "POST", - "summary": "create a ServiceAccount", - "nickname": "createServiceAccount", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.ServiceAccount", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ServiceAccount" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/serviceaccounts", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of ServiceAccount", - "nickname": "watchServiceAccountList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/services", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ServiceList", - "method": "GET", - "summary": "list or watch objects of kind Service", - "nickname": "listNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ServiceList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Service", - "method": "POST", - "summary": "create a Service", - "nickname": "createNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Service", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Service" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/services", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of Service", - "nickname": "watchNamespacedServiceList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/namespaces/{namespace}/services/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.Service", - "method": "GET", - "summary": "read the specified Service", - "nickname": "readNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Service" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Service", - "method": "PUT", - "summary": "replace the specified Service", - "nickname": "replaceNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Service", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Service" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Service", - "method": "PATCH", - "summary": "partially update the specified Service", - "nickname": "patchNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "api.Patch", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Service" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json-patch+json", - "application/merge-patch+json", - "application/strategic-merge-patch+json" - ] - }, - { - "type": "v1beta3.Status", - "method": "DELETE", - "summary": "delete a Service", - "nickname": "deleteNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Status" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/namespaces/{namespace}/services/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch changes to an object of kind Service", - "nickname": "watchNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/proxy/namespaces/{namespace}/services/{name}/{path:*}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "string", - "method": "GET", - "summary": "proxy GET requests to Service", - "nickname": "proxyGETNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "PUT", - "summary": "proxy PUT requests to Service", - "nickname": "proxyPUTNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "POST", - "summary": "proxy POST requests to Service", - "nickname": "proxyPOSTNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "DELETE", - "summary": "proxy DELETE requests to Service", - "nickname": "proxyDELETENamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "HEAD", - "summary": "proxy HEAD requests to Service", - "nickname": "proxyHEADNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "OPTIONS", - "summary": "proxy OPTIONS requests to Service", - "nickname": "proxyOPTIONSNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "path:*", - "description": "path to the resource", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/proxy/namespaces/{namespace}/services/{name}", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "string", - "method": "GET", - "summary": "proxy GET requests to Service", - "nickname": "proxyGETNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "PUT", - "summary": "proxy PUT requests to Service", - "nickname": "proxyPUTNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "POST", - "summary": "proxy POST requests to Service", - "nickname": "proxyPOSTNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "DELETE", - "summary": "proxy DELETE requests to Service", - "nickname": "proxyDELETENamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "HEAD", - "summary": "proxy HEAD requests to Service", - "nickname": "proxyHEADNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "string", - "method": "OPTIONS", - "summary": "proxy OPTIONS requests to Service", - "nickname": "proxyOPTIONSNamespacedService", - "parameters": [ - { - "type": "string", - "paramType": "path", - "name": "namespace", - "description": "object name and auth scope, such as for teams and projects", - "required": true, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "path", - "name": "name", - "description": "name of the Service", - "required": true, - "allowMultiple": false - } - ], - "produces": [ - "*/*" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/services", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "v1beta3.ServiceList", - "method": "GET", - "summary": "list or watch objects of kind Service", - "nickname": "listService", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.ServiceList" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - }, - { - "type": "v1beta3.Service", - "method": "POST", - "summary": "create a Service", - "nickname": "createService", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "v1beta3.Service", - "paramType": "body", - "name": "body", - "description": "", - "required": true, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "v1beta3.Service" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - }, - { - "path": "/api/v1beta3/watch/services", - "description": "API at /api/v1beta3 version v1beta3", - "operations": [ - { - "type": "json.WatchEvent", - "method": "GET", - "summary": "watch individual changes to a list of Service", - "nickname": "watchServiceList", - "parameters": [ - { - "type": "string", - "paramType": "query", - "name": "pretty", - "description": "If 'true', then the output is pretty printed.", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "labelSelector", - "description": "a selector to restrict the list of returned objects by their labels; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "fieldSelector", - "description": "a selector to restrict the list of returned objects by their fields; defaults to everything", - "required": false, - "allowMultiple": false - }, - { - "type": "boolean", - "paramType": "query", - "name": "watch", - "description": "watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion", - "required": false, - "allowMultiple": false - }, - { - "type": "string", - "paramType": "query", - "name": "resourceVersion", - "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", - "required": false, - "allowMultiple": false - } - ], - "responseMessages": [ - { - "code": 200, - "message": "OK", - "responseModel": "json.WatchEvent" - } - ], - "produces": [ - "application/json" - ], - "consumes": [ - "*/*" - ] - } - ] - } - ], - "models": { - "v1beta3.Binding": { - "id": "v1beta3.Binding", - "required": [ - "target" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "target": { - "$ref": "v1beta3.ObjectReference", - "description": "an object to bind to" - } - } - }, - "v1beta3.ObjectMeta": { - "id": "v1beta3.ObjectMeta", - "properties": { - "name": { - "type": "string", - "description": "string that identifies an object. Must be unique within a namespace; cannot be updated" - }, - "generateName": { - "type": "string", - "description": "an optional prefix to use to generate a unique name; has the same validation rules as name; optional, and is applied only name if is not specified" - }, - "namespace": { - "type": "string", - "description": "namespace of the object; must be a DNS_LABEL; cannot be updated" - }, - "selfLink": { - "type": "string", - "description": "URL for the object; populated by the system, read-only" - }, - "uid": { - "type": "string", - "description": "unique UUID across space and time; populated by the system; read-only" - }, - "resourceVersion": { - "type": "string", - "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" - }, - "generation": { - "type": "integer", - "format": "int64", - "description": "a sequence number representing a specific generation of the desired state; populated by the system; read-only" - }, - "creationTimestamp": { - "type": "string", - "description": "RFC 3339 date and time at which the object was created; populated by the system, read-only; null for lists" - }, - "deletionTimestamp": { - "type": "string", - "description": "RFC 3339 date and time at which the object will be deleted; populated by the system when a graceful deletion is requested, read-only; if not set, graceful deletion of the object has not been requested" - }, - "labels": { - "type": "any", - "description": "map of string keys and values that can be used to organize and categorize objects; may match selectors of replication controllers and services" - }, - "annotations": { - "type": "any", - "description": "map of string keys and values that can be used by external tooling to store and retrieve arbitrary metadata about objects" - } - } - }, - "v1beta3.ObjectReference": { - "id": "v1beta3.ObjectReference", - "properties": { - "kind": { - "type": "string", - "description": "kind of the referent" - }, - "namespace": { - "type": "string", - "description": "namespace of the referent" - }, - "name": { - "type": "string", - "description": "name of the referent" - }, - "uid": { - "type": "string", - "description": "uid of the referent" - }, - "apiVersion": { - "type": "string", - "description": "API version of the referent" - }, - "resourceVersion": { - "type": "string", - "description": "specific resourceVersion to which this reference is made, if any: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" - }, - "fieldPath": { - "type": "string", - "description": "if referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]" - } - } - }, - "v1beta3.ComponentStatusList": { - "id": "v1beta3.ComponentStatusList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.ComponentStatus" - }, - "description": "list of component status objects" - } - } - }, - "v1beta3.ListMeta": { - "id": "v1beta3.ListMeta", - "properties": { - "selfLink": { - "type": "string", - "description": "URL for the object; populated by the system, read-only" - }, - "resourceVersion": { - "type": "string", - "description": "string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency" - } - } - }, - "v1beta3.ComponentStatus": { - "id": "v1beta3.ComponentStatus", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "conditions": { - "type": "array", - "items": { - "$ref": "v1beta3.ComponentCondition" - }, - "description": "list of component conditions observed" - } - } - }, - "v1beta3.ComponentCondition": { - "id": "v1beta3.ComponentCondition", - "required": [ - "type", - "status" - ], - "properties": { - "type": { - "type": "string", - "description": "type of component condition, currently only Healthy" - }, - "status": { - "type": "string", - "description": "current status of this component condition, one of True, False, Unknown" - }, - "message": { - "type": "string", - "description": "health check message received from the component" - }, - "error": { - "type": "string", - "description": "error code from health check attempt (if any)" - } - } - }, - "v1beta3.EndpointsList": { - "id": "v1beta3.EndpointsList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.Endpoints" - }, - "description": "list of endpoints" - } - } - }, - "v1beta3.Endpoints": { - "id": "v1beta3.Endpoints", - "required": [ - "subsets" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "subsets": { - "type": "array", - "items": { - "$ref": "v1beta3.EndpointSubset" - }, - "description": "sets of addresses and ports that comprise a service" - } - } - }, - "v1beta3.EndpointSubset": { - "id": "v1beta3.EndpointSubset", - "properties": { - "addresses": { - "type": "array", - "items": { - "$ref": "v1beta3.EndpointAddress" - }, - "description": "IP addresses which offer the related ports" - }, - "ports": { - "type": "array", - "items": { - "$ref": "v1beta3.EndpointPort" - }, - "description": "port numbers available on the related IP addresses" - } - } - }, - "v1beta3.EndpointAddress": { - "id": "v1beta3.EndpointAddress", - "required": [ - "IP" - ], - "properties": { - "IP": { - "type": "string", - "description": "IP address of the endpoint" - }, - "targetRef": { - "$ref": "v1beta3.ObjectReference", - "description": "reference to object providing the endpoint" - } - } - }, - "v1beta3.EndpointPort": { - "id": "v1beta3.EndpointPort", - "required": [ - "port" - ], - "properties": { - "name": { - "type": "string", - "description": "name of this port" - }, - "port": { - "type": "integer", - "format": "int32", - "description": "port number of the endpoint" - }, - "protocol": { - "type": "string", - "description": "protocol for this port; must be UDP or TCP; TCP if unspecified" - } - } - }, - "json.WatchEvent": { - "id": "json.WatchEvent", - "properties": { - "type": { - "type": "string", - "description": "the type of watch event; may be ADDED, MODIFIED, DELETED, or ERROR" - }, - "object": { - "type": "string", - "description": "the object being watched; will match the type of the resource endpoint or be a Status object if the type is ERROR" - } - } - }, - "api.Patch": { - "id": "api.Patch", - "properties": {} - }, - "v1beta3.Status": { - "id": "v1beta3.Status", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "status": { - "type": "string", - "description": "status of the operation; either Success, or Failure" - }, - "message": { - "type": "string", - "description": "human-readable description of the status of this operation" - }, - "reason": { - "type": "string", - "description": "machine-readable description of why this operation is in the 'Failure' status; if this value is empty there is no information available; a reason clarifies an HTTP status code but does not override it" - }, - "details": { - "$ref": "v1beta3.StatusDetails", - "description": "extended data associated with the reason; each reason may define its own extended details; this field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type" - }, - "code": { - "type": "integer", - "format": "int32", - "description": "suggested HTTP return code for this status; 0 if not set" - } - } - }, - "v1beta3.StatusDetails": { - "id": "v1beta3.StatusDetails", - "properties": { - "id": { - "type": "string", - "description": "the ID attribute of the resource associated with the status StatusReason (when there is a single ID which can be described)" - }, - "kind": { - "type": "string", - "description": "the kind attribute of the resource associated with the status StatusReason; on some operations may differ from the requested resource Kind" - }, - "causes": { - "type": "array", - "items": { - "$ref": "v1beta3.StatusCause" - }, - "description": "the Causes array includes more details associated with the StatusReason failure; not all StatusReasons may provide detailed causes" - }, - "retryAfterSeconds": { - "type": "integer", - "format": "int32", - "description": "the number of seconds before the client should attempt to retry this operation" - } - } - }, - "v1beta3.StatusCause": { - "id": "v1beta3.StatusCause", - "properties": { - "reason": { - "type": "string", - "description": "machine-readable description of the cause of the error; if this value is empty there is no information available" - }, - "message": { - "type": "string", - "description": "human-readable description of the cause of the error; this field may be presented as-is to a reader" - }, - "field": { - "type": "string", - "description": "field of the resource that has caused this error, as named by its JSON serialization; may include dot and postfix notation for nested attributes; arrays are zero-indexed; fields may appear more than once in an array of causes due to fields having multiple errors" - } - } - }, - "v1beta3.DeleteOptions": { - "id": "v1beta3.DeleteOptions", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "gracePeriodSeconds": { - "type": "integer", - "format": "int64", - "description": "the duration in seconds to wait before deleting this object; defaults to a per object value if not specified; zero means delete immediately" - } - } - }, - "v1beta3.EventList": { - "id": "v1beta3.EventList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.Event" - }, - "description": "list of events" - } - } - }, - "v1beta3.Event": { - "id": "v1beta3.Event", - "required": [ - "metadata", - "involvedObject" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "involvedObject": { - "$ref": "v1beta3.ObjectReference", - "description": "object this event is about" - }, - "reason": { - "type": "string", - "description": "short, machine understandable string that gives the reason for the transition into the object's current status" - }, - "message": { - "type": "string", - "description": "human-readable description of the status of this operation" - }, - "source": { - "$ref": "v1beta3.EventSource", - "description": "component reporting this event" - }, - "firstTimestamp": { - "type": "string", - "description": "the time at which the event was first recorded" - }, - "lastTimestamp": { - "type": "string", - "description": "the time at which the most recent occurance of this event was recorded" - }, - "count": { - "type": "integer", - "format": "int32", - "description": "the number of times this event has occurred" - } - } - }, - "v1beta3.EventSource": { - "id": "v1beta3.EventSource", - "properties": { - "component": { - "type": "string", - "description": "component that generated the event" - }, - "host": { - "type": "string", - "description": "name of the host where the event is generated" - } - } - }, - "v1beta3.LimitRangeList": { - "id": "v1beta3.LimitRangeList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.LimitRange" - }, - "description": "items is a list of LimitRange objects" - } - } - }, - "v1beta3.LimitRange": { - "id": "v1beta3.LimitRange", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "spec": { - "$ref": "v1beta3.LimitRangeSpec", - "description": "spec defines the limits enforced; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - } - } - }, - "v1beta3.LimitRangeSpec": { - "id": "v1beta3.LimitRangeSpec", - "required": [ - "limits" - ], - "properties": { - "limits": { - "type": "array", - "items": { - "$ref": "v1beta3.LimitRangeItem" - }, - "description": "limits is the list of LimitRangeItem objects that are enforced" - } - } - }, - "v1beta3.LimitRangeItem": { - "id": "v1beta3.LimitRangeItem", - "properties": { - "type": { - "type": "string", - "description": "type of resource that this limit applies to" - }, - "max": { - "type": "any", - "description": "max usage constraints on this kind by resource name" - }, - "min": { - "type": "any", - "description": "min usage constraints on this kind by resource name" - }, - "default": { - "type": "any", - "description": "default values on this kind by resource name if omitted" - } - } - }, - "v1beta3.NamespaceList": { - "id": "v1beta3.NamespaceList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.Namespace" - }, - "description": "items is the list of Namespace objects in the list" - } - } - }, - "v1beta3.Namespace": { - "id": "v1beta3.Namespace", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "spec": { - "$ref": "v1beta3.NamespaceSpec", - "description": "spec defines the behavior of the Namespace; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - }, - "status": { - "$ref": "v1beta3.NamespaceStatus", - "description": "status describes the current status of a Namespace; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - } - } - }, - "v1beta3.NamespaceSpec": { - "id": "v1beta3.NamespaceSpec", - "properties": { - "finalizers": { - "type": "array", - "items": { - "$ref": "v1beta3.FinalizerName" - }, - "description": "an opaque list of values that must be empty to permanently remove object from storage" - } - } - }, - "v1beta3.FinalizerName": { - "id": "v1beta3.FinalizerName", - "properties": {} - }, - "v1beta3.NamespaceStatus": { - "id": "v1beta3.NamespaceStatus", - "properties": { - "phase": { - "type": "string", - "description": "phase is the current lifecycle phase of the namespace" - } - } - }, - "v1beta3.NodeList": { - "id": "v1beta3.NodeList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.Node" - }, - "description": "list of nodes" - } - } - }, - "v1beta3.Node": { - "id": "v1beta3.Node", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "spec": { - "$ref": "v1beta3.NodeSpec", - "description": "specification of a node; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - }, - "status": { - "$ref": "v1beta3.NodeStatus", - "description": "most recently observed status of the node; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - } - } - }, - "v1beta3.NodeSpec": { - "id": "v1beta3.NodeSpec", - "properties": { - "podCIDR": { - "type": "string", - "description": "pod IP range assigned to the node" - }, - "externalID": { - "type": "string", - "description": "deprecated. External ID assigned to the node by some machine database (e.g. a cloud provider). Defaults to node name when empty." - }, - "providerID": { - "type": "string", - "description": "ID of the node assigned by the cloud provider in the format: \u003cProviderName\u003e://\u003cProviderSpecificNodeID\u003e" - }, - "unschedulable": { - "type": "boolean", - "description": "disable pod scheduling on the node" - } - } - }, - "v1beta3.NodeStatus": { - "id": "v1beta3.NodeStatus", - "properties": { - "capacity": { - "type": "any", - "description": "compute resource capacity of the node; http://releases.k8s.io/HEAD/docs/resources.md" - }, - "phase": { - "type": "string", - "description": "most recently observed lifecycle phase of the node" - }, - "conditions": { - "type": "array", - "items": { - "$ref": "v1beta3.NodeCondition" - }, - "description": "list of node conditions observed" - }, - "addresses": { - "type": "array", - "items": { - "$ref": "v1beta3.NodeAddress" - }, - "description": "list of addresses reachable to the node" - }, - "nodeInfo": { - "$ref": "v1beta3.NodeSystemInfo", - "description": "set of ids/uuids to uniquely identify the node" - } - } - }, - "v1beta3.NodeCondition": { - "id": "v1beta3.NodeCondition", - "required": [ - "type", - "status" - ], - "properties": { - "type": { - "type": "string", - "description": "type of node condition, currently only Ready" - }, - "status": { - "type": "string", - "description": "status of the condition, one of True, False, Unknown" - }, - "lastHeartbeatTime": { - "type": "string", - "description": "last time we got an update on a given condition" - }, - "lastTransitionTime": { - "type": "string", - "description": "last time the condition transit from one status to another" - }, - "reason": { - "type": "string", - "description": "(brief) reason for the condition's last transition" - }, - "message": { - "type": "string", - "description": "human readable message indicating details about last transition" - } - } - }, - "v1beta3.NodeAddress": { - "id": "v1beta3.NodeAddress", - "required": [ - "type", - "address" - ], - "properties": { - "type": { - "type": "string", - "description": "node address type, one of Hostname, ExternalIP or InternalIP" - }, - "address": { - "type": "string", - "description": "the node address" - } - } - }, - "v1beta3.NodeSystemInfo": { - "id": "v1beta3.NodeSystemInfo", - "required": [ - "machineID", - "systemUUID", - "bootID", - "kernelVersion", - "osImage", - "containerRuntimeVersion", - "kubeletVersion", - "kubeProxyVersion" - ], - "properties": { - "machineID": { - "type": "string", - "description": "machine-id reported by the node" - }, - "systemUUID": { - "type": "string", - "description": "system-uuid reported by the node" - }, - "bootID": { - "type": "string", - "description": "boot id is the boot-id reported by the node" - }, - "kernelVersion": { - "type": "string", - "description": "Kernel version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64)" - }, - "osImage": { - "type": "string", - "description": "OS image used reported by the node from /etc/os-release (e.g. Debian GNU/Linux 7 (wheezy))" - }, - "containerRuntimeVersion": { - "type": "string", - "description": "Container runtime version reported by the node through runtime remote API (e.g. docker://1.5.0)" - }, - "kubeletVersion": { - "type": "string", - "description": "Kubelet version reported by the node" - }, - "kubeProxyVersion": { - "type": "string", - "description": "Kube-proxy version reported by the node" - } - } - }, - "v1beta3.PersistentVolumeClaimList": { - "id": "v1beta3.PersistentVolumeClaimList", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.PersistentVolumeClaim" - }, - "description": "a list of persistent volume claims" - } - } - }, - "v1beta3.PersistentVolumeClaim": { - "id": "v1beta3.PersistentVolumeClaim", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "spec": { - "$ref": "v1beta3.PersistentVolumeClaimSpec", - "description": "the desired characteristics of a volume" - }, - "status": { - "$ref": "v1beta3.PersistentVolumeClaimStatus", - "description": "the current status of a persistent volume claim; read-only" - } - } - }, - "v1beta3.PersistentVolumeClaimSpec": { - "id": "v1beta3.PersistentVolumeClaimSpec", - "properties": { - "accessModes": { - "type": "array", - "items": { - "$ref": "v1beta3.PersistentVolumeAccessMode" - }, - "description": "the desired access modes the volume should have" - }, - "resources": { - "$ref": "v1beta3.ResourceRequirements", - "description": "the desired resources the volume should have" - }, - "volumeName": { - "type": "string", - "description": "the binding reference to the persistent volume backing this claim" - } - } - }, - "v1beta3.PersistentVolumeAccessMode": { - "id": "v1beta3.PersistentVolumeAccessMode", - "properties": {} - }, - "v1beta3.ResourceRequirements": { - "id": "v1beta3.ResourceRequirements", - "properties": { - "limits": { - "type": "any", - "description": "Maximum amount of compute resources allowed" - }, - "requests": { - "type": "any", - "description": "Minimum amount of resources requested; requests are honored only for persistent volumes as of now" - } - } - }, - "v1beta3.PersistentVolumeClaimStatus": { - "id": "v1beta3.PersistentVolumeClaimStatus", - "properties": { - "phase": { - "type": "string", - "description": "the current phase of the claim" - }, - "accessModes": { - "type": "array", - "items": { - "$ref": "v1beta3.PersistentVolumeAccessMode" - }, - "description": "the actual access modes the volume has" - }, - "capacity": { - "type": "any", - "description": "the actual resources the volume has" - } - } - }, - "v1beta3.PersistentVolumeList": { - "id": "v1beta3.PersistentVolumeList", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.PersistentVolume" - }, - "description": "list of persistent volumes" - } - } - }, - "v1beta3.PersistentVolume": { - "id": "v1beta3.PersistentVolume", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "spec": { - "$ref": "v1beta3.PersistentVolumeSpec", - "description": "specification of a persistent volume as provisioned by an administrator" - }, - "status": { - "$ref": "v1beta3.PersistentVolumeStatus", - "description": "current status of a persistent volume; populated by the system, read-only" - } - } - }, - "v1beta3.PersistentVolumeSpec": { - "id": "v1beta3.PersistentVolumeSpec", - "properties": { - "capacity": { - "type": "any", - "description": "a description of the persistent volume's resources and capacity" - }, - "gcePersistentDisk": { - "$ref": "v1beta3.GCEPersistentDiskVolumeSource", - "description": "GCE disk resource provisioned by an admin" - }, - "awsElasticBlockStore": { - "$ref": "v1beta3.AWSElasticBlockStoreVolumeSource", - "description": "AWS disk resource provisioned by an admin" - }, - "hostPath": { - "$ref": "v1beta3.HostPathVolumeSource", - "description": "a HostPath provisioned by a developer or tester; for develment use only" - }, - "glusterfs": { - "$ref": "v1beta3.GlusterfsVolumeSource", - "description": "Glusterfs volume resource provisioned by an admin" - }, - "nfs": { - "$ref": "v1beta3.NFSVolumeSource", - "description": "NFS volume resource provisioned by an admin" - }, - "rbd": { - "$ref": "v1beta3.RBDVolumeSource", - "description": "rados block volume that will be mounted on the host machine" - }, - "iscsi": { - "$ref": "v1beta3.ISCSIVolumeSource", - "description": "an iSCSI disk resource provisioned by an admin" - }, - "accessModes": { - "type": "array", - "items": { - "$ref": "v1beta3.PersistentVolumeAccessMode" - }, - "description": "all ways the volume can be mounted" - }, - "claimRef": { - "$ref": "v1beta3.ObjectReference", - "description": "when bound, a reference to the bound claim" - }, - "persistentVolumeReclaimPolicy": { - "type": "string", - "description": "what happens to a volume when released from its claim; Valid options are Retain (default) and Recycle. Recyling must be supported by the volume plugin underlying this persistent volume." - } - } - }, - "v1beta3.GCEPersistentDiskVolumeSource": { - "id": "v1beta3.GCEPersistentDiskVolumeSource", - "required": [ - "pdName", - "fsType" - ], - "properties": { - "pdName": { - "type": "string", - "description": "unique name of the PD resource in GCE" - }, - "fsType": { - "type": "string", - "description": "file system type to mount, such as ext4, xfs, ntfs" - }, - "partition": { - "type": "integer", - "format": "int32", - "description": "partition on the disk to mount (e.g., '1' for /dev/sda1); if omitted the plain device name (e.g., /dev/sda) will be mounted" - }, - "readOnly": { - "type": "boolean", - "description": "read-only if true, read-write otherwise (false or unspecified)" - } - } - }, - "v1beta3.AWSElasticBlockStoreVolumeSource": { - "id": "v1beta3.AWSElasticBlockStoreVolumeSource", - "required": [ - "volumeID", - "fsType" - ], - "properties": { - "volumeID": { - "type": "string", - "description": "unique id of the PD resource in AWS" - }, - "fsType": { - "type": "string", - "description": "file system type to mount, such as ext4, xfs, ntfs" - }, - "partition": { - "type": "integer", - "format": "int32", - "description": "partition on the disk to mount (e.g., '1' for /dev/sda1); if omitted the plain device name (e.g., /dev/sda) will be mounted" - }, - "readOnly": { - "type": "boolean", - "description": "read-only if true, read-write otherwise (false or unspecified)" - } - } - }, - "v1beta3.HostPathVolumeSource": { - "id": "v1beta3.HostPathVolumeSource", - "required": [ - "path" - ], - "properties": { - "path": { - "type": "string", - "description": "path of the directory on the host" - } - } - }, - "v1beta3.GlusterfsVolumeSource": { - "id": "v1beta3.GlusterfsVolumeSource", - "required": [ - "endpoints", - "path" - ], - "properties": { - "endpoints": { - "type": "string", - "description": "gluster hosts endpoints name" - }, - "path": { - "type": "string", - "description": "path to gluster volume" - }, - "readOnly": { - "type": "boolean", - "description": "glusterfs volume to be mounted with read-only permissions" - } - } - }, - "v1beta3.NFSVolumeSource": { - "id": "v1beta3.NFSVolumeSource", - "required": [ - "server", - "path" - ], - "properties": { - "server": { - "type": "string", - "description": "the hostname or IP address of the NFS server" - }, - "path": { - "type": "string", - "description": "the path that is exported by the NFS server" - }, - "readOnly": { - "type": "boolean", - "description": "forces the NFS export to be mounted with read-only permissions" - } - } - }, - "v1beta3.RBDVolumeSource": { - "id": "v1beta3.RBDVolumeSource", - "required": [ - "monitors", - "image", - "pool", - "user", - "keyring", - "secretRef" - ], - "properties": { - "monitors": { - "type": "array", - "items": { - "type": "string" - }, - "description": "a collection of Ceph monitors" - }, - "image": { - "type": "string", - "description": "rados image name" - }, - "fsType": { - "type": "string", - "description": "file system type to mount, such as ext4, xfs, ntfs" - }, - "pool": { - "type": "string", - "description": "rados pool name; default is rbd; optional" - }, - "user": { - "type": "string", - "description": "rados user name; default is admin; optional" - }, - "keyring": { - "type": "string", - "description": "keyring is the path to key ring for rados user; default is /etc/ceph/keyring; optional" - }, - "secretRef": { - "$ref": "v1beta3.LocalObjectReference", - "description": "name of a secret to authenticate the RBD user; if provided overrides keyring; optional" - }, - "readOnly": { - "type": "boolean", - "description": "rbd volume to be mounted with read-only permissions" - } - } - }, - "v1beta3.LocalObjectReference": { - "id": "v1beta3.LocalObjectReference", - "properties": { - "name": { - "type": "string", - "description": "name of the referent" - } - } - }, - "v1beta3.ISCSIVolumeSource": { - "id": "v1beta3.ISCSIVolumeSource", - "required": [ - "targetPortal", - "iqn", - "lun", - "fsType" - ], - "properties": { - "targetPortal": { - "type": "string", - "description": "iSCSI target portal" - }, - "iqn": { - "type": "string", - "description": "iSCSI Qualified Name" - }, - "lun": { - "type": "integer", - "format": "int32", - "description": "iscsi target lun number" - }, - "fsType": { - "type": "string", - "description": "file system type to mount, such as ext4, xfs, ntfs" - }, - "readOnly": { - "type": "boolean", - "description": "read-only if true, read-write otherwise (false or unspecified)" - } - } - }, - "v1beta3.PersistentVolumeStatus": { - "id": "v1beta3.PersistentVolumeStatus", - "properties": { - "phase": { - "type": "string", - "description": "the current phase of a persistent volume" - }, - "message": { - "type": "string", - "description": "human-readable message indicating details about why the volume is in this state" - }, - "reason": { - "type": "string", - "description": "(brief) reason the volume is not is not available" - } - } - }, - "v1beta3.PodList": { - "id": "v1beta3.PodList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.Pod" - }, - "description": "list of pods" - } - } - }, - "v1beta3.Pod": { - "id": "v1beta3.Pod", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "spec": { - "$ref": "v1beta3.PodSpec", - "description": "specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - }, - "status": { - "$ref": "v1beta3.PodStatus", - "description": "most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - } - } - }, - "v1beta3.PodSpec": { - "id": "v1beta3.PodSpec", - "required": [ - "containers" - ], - "properties": { - "volumes": { - "type": "array", - "items": { - "$ref": "v1beta3.Volume" - }, - "description": "list of volumes that can be mounted by containers belonging to the pod" - }, - "containers": { - "type": "array", - "items": { - "$ref": "v1beta3.Container" - }, - "description": "list of containers belonging to the pod; cannot be updated; containers cannot currently be added or removed; there must be at least one container in a Pod" - }, - "restartPolicy": { - "type": "string", - "description": "restart policy for all containers within the pod; one of Always, OnFailure, Never; defaults to Always" - }, - "terminationGracePeriodSeconds": { - "type": "integer", - "format": "int64", - "description": "optional duration in seconds the pod needs to terminate gracefully; may be decreased in delete request; value must be non-negative integer; the value zero indicates delete immediately; if this value is not set, the default grace period will be used instead; the grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal; set this value longer than the expected cleanup time for your process" - }, - "activeDeadlineSeconds": { - "type": "integer", - "format": "int64" - }, - "dnsPolicy": { - "type": "string", - "description": "DNS policy for containers within the pod; one of 'ClusterFirst' or 'Default'" - }, - "nodeSelector": { - "type": "any", - "description": "selector which must match a node's labels for the pod to be scheduled on that node" - }, - "serviceAccount": { - "type": "string", - "description": "name of the ServiceAccount to use to run this pod" - }, - "host": { - "type": "string", - "description": "host requested for this pod" - }, - "hostNetwork": { - "type": "boolean", - "description": "host networking requested for this pod" - }, - "imagePullSecrets": { - "type": "array", - "items": { - "$ref": "v1beta3.LocalObjectReference" - }, - "description": "list of references to secrets in the same namespace available for pulling the container images" - } - } - }, - "v1beta3.Volume": { - "id": "v1beta3.Volume", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string", - "description": "volume name; must be a DNS_LABEL and unique within the pod" - }, - "hostPath": { - "$ref": "v1beta3.HostPathVolumeSource", - "description": "pre-existing host file or directory; generally for privileged system daemons or other agents tied to the host" - }, - "emptyDir": { - "$ref": "v1beta3.EmptyDirVolumeSource", - "description": "temporary directory that shares a pod's lifetime" - }, - "gcePersistentDisk": { - "$ref": "v1beta3.GCEPersistentDiskVolumeSource", - "description": "GCE disk resource attached to the host machine on demand" - }, - "awsElasticBlockStore": { - "$ref": "v1beta3.AWSElasticBlockStoreVolumeSource", - "description": "AWS disk resource attached to the host machine on demand" - }, - "gitRepo": { - "$ref": "v1beta3.GitRepoVolumeSource", - "description": "git repository at a particular revision" - }, - "secret": { - "$ref": "v1beta3.SecretVolumeSource", - "description": "secret to populate volume" - }, - "nfs": { - "$ref": "v1beta3.NFSVolumeSource", - "description": "NFS volume that will be mounted in the host machine" - }, - "iscsi": { - "$ref": "v1beta3.ISCSIVolumeSource", - "description": "iSCSI disk attached to host machine on demand" - }, - "glusterfs": { - "$ref": "v1beta3.GlusterfsVolumeSource", - "description": "Glusterfs volume that will be mounted on the host machine " - }, - "persistentVolumeClaim": { - "$ref": "v1beta3.PersistentVolumeClaimVolumeSource", - "description": "a reference to a PersistentVolumeClaim in the same namespace" - }, - "rbd": { - "$ref": "v1beta3.RBDVolumeSource", - "description": "rados block volume that will be mounted on the host machine" - } - } - }, - "v1beta3.EmptyDirVolumeSource": { - "id": "v1beta3.EmptyDirVolumeSource", - "properties": { - "medium": { - "type": "string", - "description": "type of storage used to back the volume; must be an empty string (default) or Memory" - } - } - }, - "v1beta3.GitRepoVolumeSource": { - "id": "v1beta3.GitRepoVolumeSource", - "required": [ - "repository" - ], - "properties": { - "repository": { - "type": "string", - "description": "repository URL" - }, - "revision": { - "type": "string", - "description": "commit hash for the specified revision" - } - } - }, - "v1beta3.SecretVolumeSource": { - "id": "v1beta3.SecretVolumeSource", - "required": [ - "secretName" - ], - "properties": { - "secretName": { - "type": "string", - "description": "secretName is the name of a secret in the pod's namespace" - } - } - }, - "v1beta3.PersistentVolumeClaimVolumeSource": { - "id": "v1beta3.PersistentVolumeClaimVolumeSource", - "properties": { - "claimName": { - "type": "string", - "description": "the name of the claim in the same namespace to be mounted as a volume" - }, - "readOnly": { - "type": "boolean", - "description": "mount volume as read-only when true; default false" - } - } - }, - "v1beta3.Container": { - "id": "v1beta3.Container", - "required": [ - "name", - "image" - ], - "properties": { - "name": { - "type": "string", - "description": "name of the container; must be a DNS_LABEL and unique within the pod; cannot be updated" - }, - "image": { - "type": "string", - "description": "Docker image name" - }, - "command": { - "type": "array", - "items": { - "type": "string" - }, - "description": "entrypoint array; not executed within a shell; the docker image's entrypoint is used if this is not provided; cannot be updated; variable references $(VAR_NAME) are expanded using the container's environment variables; if a variable cannot be resolved, the reference in the input string will be unchanged; the $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME) ; escaped references will never be expanded, regardless of whether the variable exists or not" - }, - "args": { - "type": "array", - "items": { - "type": "string" - }, - "description": "command array; the docker image's cmd is used if this is not provided; arguments to the entrypoint; cannot be updated; variable references $(VAR_NAME) are expanded using the container's environment variables; if a variable cannot be resolved, the reference in the input string will be unchanged; the $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME) ; escaped references will never be expanded, regardless of whether the variable exists or not" - }, - "workingDir": { - "type": "string", - "description": "container's working directory; defaults to image's default; cannot be updated" - }, - "ports": { - "type": "array", - "items": { - "$ref": "v1beta3.ContainerPort" - }, - "description": "list of ports to expose from the container; cannot be updated" - }, - "env": { - "type": "array", - "items": { - "$ref": "v1beta3.EnvVar" - }, - "description": "list of environment variables to set in the container; cannot be updated" - }, - "resources": { - "$ref": "v1beta3.ResourceRequirements", - "description": "Compute Resources required by this container; cannot be updated" - }, - "volumeMounts": { - "type": "array", - "items": { - "$ref": "v1beta3.VolumeMount" - }, - "description": "pod volumes to mount into the container's filesyste; cannot be updated" - }, - "livenessProbe": { - "$ref": "v1beta3.Probe", - "description": "periodic probe of container liveness; container will be restarted if the probe fails; cannot be updated" - }, - "readinessProbe": { - "$ref": "v1beta3.Probe", - "description": "periodic probe of container service readiness; container will be removed from service endpoints if the probe fails; cannot be updated" - }, - "lifecycle": { - "$ref": "v1beta3.Lifecycle", - "description": "actions that the management system should take in response to container lifecycle events; cannot be updated" - }, - "terminationMessagePath": { - "type": "string", - "description": "path at which the file to which the container's termination message will be written is mounted into the container's filesystem; message written is intended to be brief final status, such as an assertion failure message; defaults to /dev/termination-log; cannot be updated" - }, - "privileged": { - "type": "boolean", - "description": "whether or not the container is granted privileged status; defaults to false; cannot be updated; deprecated; See SecurityContext." - }, - "imagePullPolicy": { - "type": "string", - "description": "image pull policy; one of Always, Never, IfNotPresent; defaults to Always if :latest tag is specified, or IfNotPresent otherwise; cannot be updated" - }, - "capabilities": { - "$ref": "v1beta3.Capabilities", - "description": "capabilities for container; cannot be updated; deprecated; See SecurityContext." - }, - "securityContext": { - "$ref": "v1beta3.SecurityContext", - "description": "security options the pod should run with" - } - } - }, - "v1beta3.ContainerPort": { - "id": "v1beta3.ContainerPort", - "required": [ - "containerPort" - ], - "properties": { - "name": { - "type": "string", - "description": "name for the port that can be referred to by services; must be a IANA_SVC_NAME and unique within the pod" - }, - "hostPort": { - "type": "integer", - "format": "int32", - "description": "number of port to expose on the host; most containers do not need this" - }, - "containerPort": { - "type": "integer", - "format": "int32", - "description": "number of port to expose on the pod's IP address" - }, - "protocol": { - "type": "string", - "description": "protocol for port; must be UDP or TCP; TCP if unspecified" - }, - "hostIP": { - "type": "string", - "description": "host IP to bind the port to" - } - } - }, - "v1beta3.EnvVar": { - "id": "v1beta3.EnvVar", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string", - "description": "name of the environment variable; must be a C_IDENTIFIER" - }, - "value": { - "type": "string", - "description": "value of the environment variable; defaults to empty string; variable references $(VAR_NAME) are expanded using the previously defined environment varibles in the container and any service environment variables; if a variable cannot be resolved, the reference in the input string will be unchanged; the $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME) ; escaped references will never be expanded, regardless of whether the variable exists or not" - }, - "valueFrom": { - "$ref": "v1beta3.EnvVarSource", - "description": "source for the environment variable's value; cannot be used if value is not empty" - } - } - }, - "v1beta3.EnvVarSource": { - "id": "v1beta3.EnvVarSource", - "required": [ - "fieldRef" - ], - "properties": { - "fieldRef": { - "$ref": "v1beta3.ObjectFieldSelector", - "description": "selects a field of the pod; only name and namespace are supported" - } - } - }, - "v1beta3.ObjectFieldSelector": { - "id": "v1beta3.ObjectFieldSelector", - "required": [ - "fieldPath" - ], - "properties": { - "apiVersion": { - "type": "string", - "description": "version of the schema that fieldPath is written in terms of; defaults to v1beta3" - }, - "fieldPath": { - "type": "string", - "description": "path of the field to select in the specified API version" - } - } - }, - "v1beta3.VolumeMount": { - "id": "v1beta3.VolumeMount", - "required": [ - "name", - "mountPath" - ], - "properties": { - "name": { - "type": "string", - "description": "name of the volume to mount" - }, - "readOnly": { - "type": "boolean", - "description": "mounted read-only if true, read-write otherwise (false or unspecified)" - }, - "mountPath": { - "type": "string", - "description": "path within the container at which the volume should be mounted" - } - } - }, - "v1beta3.Probe": { - "id": "v1beta3.Probe", - "properties": { - "exec": { - "$ref": "v1beta3.ExecAction", - "description": "exec-based handler" - }, - "httpGet": { - "$ref": "v1beta3.HTTPGetAction", - "description": "HTTP-based handler" - }, - "tcpSocket": { - "$ref": "v1beta3.TCPSocketAction", - "description": "TCP-based handler; TCP hooks not yet supported" - }, - "initialDelaySeconds": { - "type": "integer", - "format": "int64", - "description": "number of seconds after the container has started before liveness probes are initiated" - }, - "timeoutSeconds": { - "type": "integer", - "format": "int64", - "description": "number of seconds after which liveness probes timeout; defaults to 1 second" - } - } - }, - "v1beta3.ExecAction": { - "id": "v1beta3.ExecAction", - "properties": { - "command": { - "type": "array", - "items": { - "type": "string" - }, - "description": "command line to execute inside the container; working directory for the command is root ('/') in the container's file system; the command is exec'd, not run inside a shell; exit status of 0 is treated as live/healthy and non-zero is unhealthy" - } - } - }, - "v1beta3.HTTPGetAction": { - "id": "v1beta3.HTTPGetAction", - "required": [ - "port" - ], - "properties": { - "path": { - "type": "string", - "description": "path to access on the HTTP server" - }, - "port": { - "type": "string", - "description": "number or name of the port to access on the container; number must be in the range 1 to 65535; name must be a IANA_SVC_NAME" - }, - "host": { - "type": "string", - "description": "hostname to connect to; defaults to pod IP" - }, - "scheme": { - "type": "string", - "description": "scheme to connect with, must be HTTP or HTTPS, defaults to HTTP" - } - } - }, - "v1beta3.TCPSocketAction": { - "id": "v1beta3.TCPSocketAction", - "required": [ - "port" - ], - "properties": { - "port": { - "type": "string", - "description": "number or name of the port to access on the container; number must be in the range 1 to 65535; name must be a IANA_SVC_NAME" - } - } - }, - "v1beta3.Lifecycle": { - "id": "v1beta3.Lifecycle", - "properties": { - "postStart": { - "$ref": "v1beta3.Handler", - "description": "called immediately after a container is started; if the handler fails, the container is terminated and restarted according to its restart policy; other management of the container blocks until the hook completes" - }, - "preStop": { - "$ref": "v1beta3.Handler", - "description": "called before a container is terminated; the container is terminated after the handler completes; other management of the container blocks until the hook completes" - } - } - }, - "v1beta3.Handler": { - "id": "v1beta3.Handler", - "properties": { - "exec": { - "$ref": "v1beta3.ExecAction", - "description": "exec-based handler" - }, - "httpGet": { - "$ref": "v1beta3.HTTPGetAction", - "description": "HTTP-based handler" - }, - "tcpSocket": { - "$ref": "v1beta3.TCPSocketAction", - "description": "TCP-based handler; TCP hooks not yet supported" - } - } - }, - "v1beta3.Capabilities": { - "id": "v1beta3.Capabilities", - "properties": { - "add": { - "type": "array", - "items": { - "$ref": "v1beta3.Capability" - }, - "description": "added capabilities" - }, - "drop": { - "type": "array", - "items": { - "$ref": "v1beta3.Capability" - }, - "description": "droped capabilities" - } - } - }, - "v1beta3.Capability": { - "id": "v1beta3.Capability", - "properties": {} - }, - "v1beta3.SecurityContext": { - "id": "v1beta3.SecurityContext", - "properties": { - "capabilities": { - "$ref": "v1beta3.Capabilities", - "description": "the linux capabilites that should be added or removed" - }, - "privileged": { - "type": "boolean", - "description": "run the container in privileged mode" - }, - "seLinuxOptions": { - "$ref": "v1beta3.SELinuxOptions", - "description": "options that control the SELinux labels applied" - }, - "runAsUser": { - "type": "integer", - "format": "int64", - "description": "the user id that runs the first process in the container" - } - } - }, - "v1beta3.SELinuxOptions": { - "id": "v1beta3.SELinuxOptions", - "properties": { - "user": { - "type": "string", - "description": "the user label to apply to the container" - }, - "role": { - "type": "string", - "description": "the role label to apply to the container" - }, - "type": { - "type": "string", - "description": "the type label to apply to the container" - }, - "level": { - "type": "string", - "description": "the level label to apply to the container" - } - } - }, - "v1beta3.PodStatus": { - "id": "v1beta3.PodStatus", - "properties": { - "phase": { - "type": "string", - "description": "current condition of the pod." - }, - "Condition": { - "type": "array", - "items": { - "$ref": "v1beta3.PodCondition" - }, - "description": "current service state of pod" - }, - "message": { - "type": "string", - "description": "human readable message indicating details about why the pod is in this condition" - }, - "reason": { - "type": "string", - "description": "(brief-CamelCase) reason indicating details about why the pod is in this condition" - }, - "hostIP": { - "type": "string", - "description": "IP address of the host to which the pod is assigned; empty if not yet scheduled" - }, - "podIP": { - "type": "string", - "description": "IP address allocated to the pod; routable at least within the cluster; empty if not yet allocated" - }, - "startTime": { - "type": "string", - "description": "RFC 3339 date and time at which the object was acknowledged by the Kubelet. This is before the Kubelet pulled the container image(s) for the pod." - }, - "containerStatuses": { - "type": "array", - "items": { - "$ref": "v1beta3.ContainerStatus" - }, - "description": "list of container statuses" - } - } - }, - "v1beta3.PodCondition": { - "id": "v1beta3.PodCondition", - "required": [ - "type", - "status" - ], - "properties": { - "type": { - "type": "string", - "description": "kind of the condition, currently only Ready" - }, - "status": { - "type": "string", - "description": "status of the condition, one of True, False, Unknown" - } - } - }, - "v1beta3.ContainerStatus": { - "id": "v1beta3.ContainerStatus", - "required": [ - "name", - "ready", - "restartCount", - "image", - "imageID" - ], - "properties": { - "name": { - "type": "string", - "description": "name of the container; must be a DNS_LABEL and unique within the pod; cannot be updated" - }, - "state": { - "$ref": "v1beta3.ContainerState", - "description": "details about the container's current condition" - }, - "lastState": { - "$ref": "v1beta3.ContainerState", - "description": "details about the container's last termination condition" - }, - "ready": { - "type": "boolean", - "description": "specifies whether the container has passed its readiness probe" - }, - "restartCount": { - "type": "integer", - "format": "int32", - "description": "the number of times the container has been restarted, currently based on the number of dead containers that have not yet been removed" - }, - "image": { - "type": "string", - "description": "image of the container" - }, - "imageID": { - "type": "string", - "description": "ID of the container's image" - }, - "containerID": { - "type": "string", - "description": "container's ID in the format 'docker://\u003ccontainer_id\u003e'" - } - } - }, - "v1beta3.ContainerState": { - "id": "v1beta3.ContainerState", - "properties": { - "waiting": { - "$ref": "v1beta3.ContainerStateWaiting", - "description": "details about a waiting container" - }, - "running": { - "$ref": "v1beta3.ContainerStateRunning", - "description": "details about a running container" - }, - "termination": { - "$ref": "v1beta3.ContainerStateTerminated", - "description": "details about a terminated container" - } - } - }, - "v1beta3.ContainerStateWaiting": { - "id": "v1beta3.ContainerStateWaiting", - "properties": { - "reason": { - "type": "string", - "description": "(brief) reason the container is not yet running, such as pulling its image" - } - } - }, - "v1beta3.ContainerStateRunning": { - "id": "v1beta3.ContainerStateRunning", - "properties": { - "startedAt": { - "type": "string", - "description": "time at which the container was last (re-)started" - } - } - }, - "v1beta3.ContainerStateTerminated": { - "id": "v1beta3.ContainerStateTerminated", - "required": [ - "exitCode" - ], - "properties": { - "exitCode": { - "type": "integer", - "format": "int32", - "description": "exit status from the last termination of the container" - }, - "signal": { - "type": "integer", - "format": "int32", - "description": "signal from the last termination of the container" - }, - "reason": { - "type": "string", - "description": "(brief) reason from the last termination of the container" - }, - "message": { - "type": "string", - "description": "message regarding the last termination of the container" - }, - "startedAt": { - "type": "string", - "description": "time at which previous execution of the container started" - }, - "finishedAt": { - "type": "string", - "description": "time at which the container last terminated" - }, - "containerID": { - "type": "string", - "description": "container's ID in the format 'docker://\u003ccontainer_id\u003e'" - } - } - }, - "v1beta3.PodTemplateList": { - "id": "v1beta3.PodTemplateList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.PodTemplate" - }, - "description": "list of pod templates" - } - } - }, - "v1beta3.PodTemplate": { - "id": "v1beta3.PodTemplate", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "template": { - "$ref": "v1beta3.PodTemplateSpec", - "description": "the template of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - } - } - }, - "v1beta3.PodTemplateSpec": { - "id": "v1beta3.PodTemplateSpec", - "properties": { - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "spec": { - "$ref": "v1beta3.PodSpec", - "description": "specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - } - } - }, - "v1beta3.ReplicationControllerList": { - "id": "v1beta3.ReplicationControllerList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.ReplicationController" - }, - "description": "list of replication controllers" - } - } - }, - "v1beta3.ReplicationController": { - "id": "v1beta3.ReplicationController", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "spec": { - "$ref": "v1beta3.ReplicationControllerSpec", - "description": "specification of the desired behavior of the replication controller; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - }, - "status": { - "$ref": "v1beta3.ReplicationControllerStatus", - "description": "most recently observed status of the replication controller; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - } - } - }, - "v1beta3.ReplicationControllerSpec": { - "id": "v1beta3.ReplicationControllerSpec", - "properties": { - "replicas": { - "type": "integer", - "format": "int32", - "description": "number of replicas desired" - }, - "selector": { - "type": "any", - "description": "label keys and values that must match in order to be controlled by this replication controller, if empty defaulted to labels on Pod template" - }, - "template": { - "$ref": "v1beta3.PodTemplateSpec", - "description": "object that describes the pod that will be created if insufficient replicas are detected; takes precendence over templateRef" - } - } - }, - "v1beta3.ReplicationControllerStatus": { - "id": "v1beta3.ReplicationControllerStatus", - "required": [ - "replicas" - ], - "properties": { - "replicas": { - "type": "integer", - "format": "int32", - "description": "most recently oberved number of replicas" - }, - "observedGeneration": { - "type": "integer", - "format": "int64", - "description": "reflects the generation of the most recently observed replication controller" - } - } - }, - "v1beta3.ResourceQuotaList": { - "id": "v1beta3.ResourceQuotaList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.ResourceQuota" - }, - "description": "items is a list of ResourceQuota objects" - } - } - }, - "v1beta3.ResourceQuota": { - "id": "v1beta3.ResourceQuota", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "spec": { - "$ref": "v1beta3.ResourceQuotaSpec", - "description": "spec defines the desired quota; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - }, - "status": { - "$ref": "v1beta3.ResourceQuotaStatus", - "description": "status defines the actual enforced quota and current usage; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - } - } - }, - "v1beta3.ResourceQuotaSpec": { - "id": "v1beta3.ResourceQuotaSpec", - "properties": { - "hard": { - "type": "any", - "description": "hard is the set of desired hard limits for each named resource" - } - } - }, - "v1beta3.ResourceQuotaStatus": { - "id": "v1beta3.ResourceQuotaStatus", - "properties": { - "hard": { - "type": "any", - "description": "hard is the set of enforced hard limits for each named resource" - }, - "used": { - "type": "any", - "description": "used is the current observed total usage of the resource in the namespace" - } - } - }, - "v1beta3.SecretList": { - "id": "v1beta3.SecretList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.Secret" - }, - "description": "items is a list of secret objects" - } - } - }, - "v1beta3.Secret": { - "id": "v1beta3.Secret", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "data": { - "type": "any", - "description": "data contains the secret data. Each key must be a valid DNS_SUBDOMAIN or leading dot followed by valid DNS_SUBDOMAIN. Each value must be a base64 encoded string as described in https://tools.ietf.org/html/rfc4648#section-4" - }, - "type": { - "type": "string", - "description": "type facilitates programmatic handling of secret data" - } - } - }, - "v1beta3.ServiceAccountList": { - "id": "v1beta3.ServiceAccountList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.ServiceAccount" - }, - "description": "list of ServiceAccounts" - } - } - }, - "v1beta3.ServiceAccount": { - "id": "v1beta3.ServiceAccount", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "secrets": { - "type": "array", - "items": { - "$ref": "v1beta3.ObjectReference" - }, - "description": "list of secrets that can be used by pods running as this service account" - }, - "imagePullSecrets": { - "type": "array", - "items": { - "$ref": "v1beta3.LocalObjectReference" - }, - "description": "list of references to secrets in the same namespace available for pulling container images" - } - } - }, - "v1beta3.ServiceList": { - "id": "v1beta3.ServiceList", - "required": [ - "items" - ], - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ListMeta", - "description": "standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "items": { - "type": "array", - "items": { - "$ref": "v1beta3.Service" - }, - "description": "list of services" - } - } - }, - "v1beta3.Service": { - "id": "v1beta3.Service", - "properties": { - "kind": { - "type": "string", - "description": "kind of object, in CamelCase; cannot be updated" - }, - "apiVersion": { - "type": "string", - "description": "version of the schema the object should have" - }, - "metadata": { - "$ref": "v1beta3.ObjectMeta", - "description": "standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata" - }, - "spec": { - "$ref": "v1beta3.ServiceSpec", - "description": "specification of the desired behavior of the service; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - }, - "status": { - "$ref": "v1beta3.ServiceStatus", - "description": "most recently observed status of the service; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status" - } - } - }, - "v1beta3.ServiceSpec": { - "id": "v1beta3.ServiceSpec", - "required": [ - "ports", - "portalIP" - ], - "properties": { - "ports": { - "type": "array", - "items": { - "$ref": "v1beta3.ServicePort" - }, - "description": "ports exposed by the service" - }, - "selector": { - "type": "any", - "description": "label keys and values that must match in order to receive traffic for this service; if empty, all pods are selected, if not specified, endpoints must be manually specified" - }, - "portalIP": { - "type": "string" - }, - "createExternalLoadBalancer": { - "type": "boolean", - "description": "set up a cloud-provider-specific load balancer on an external IP" - }, - "type": { - "type": "string", - "description": "type of this service; must be ClusterIP, NodePort, or LoadBalancer; defaults to ClusterIP" - }, - "publicIPs": { - "type": "array", - "items": { - "type": "string" - }, - "description": "deprecated. externally visible IPs (e.g. load balancers) that should be proxied to this service" - }, - "sessionAffinity": { - "type": "string", - "description": "enable client IP based session affinity; must be ClientIP or None; defaults to None" - } - } - }, - "v1beta3.ServicePort": { - "id": "v1beta3.ServicePort", - "required": [ - "port", - "nodePort" - ], - "properties": { - "name": { - "type": "string", - "description": "the name of this port; optional if only one port is defined" - }, - "protocol": { - "type": "string", - "description": "the protocol used by this port; must be UDP or TCP; TCP if unspecified" - }, - "port": { - "type": "integer", - "format": "int32", - "description": "the port number that is exposed" - }, - "targetPort": { - "type": "string", - "description": "number or name of the port to access on the pods targeted by the service; defaults to the service port; number must be in the range 1 to 65535; name must be a IANA_SVC_NAME" - }, - "nodePort": { - "type": "integer", - "format": "int32", - "description": "the port on each node on which this service is exposed" - } - } - }, - "v1beta3.ServiceStatus": { - "id": "v1beta3.ServiceStatus", - "properties": { - "loadBalancer": { - "$ref": "v1beta3.LoadBalancerStatus", - "description": "status of load-balancer" - } - } - }, - "v1beta3.LoadBalancerStatus": { - "id": "v1beta3.LoadBalancerStatus", - "properties": { - "ingress": { - "type": "array", - "items": { - "$ref": "v1beta3.LoadBalancerIngress" - }, - "description": "load-balancer ingress points" - } - } - }, - "v1beta3.LoadBalancerIngress": { - "id": "v1beta3.LoadBalancerIngress", - "properties": { - "ip": { - "type": "string", - "description": "IP address of ingress point" - }, - "hostname": { - "type": "string", - "description": "hostname of ingress point" - } - } - } - } - } \ No newline at end of file diff --git a/cmd/genconversion/conversion.go b/cmd/genconversion/conversion.go index 45a53a961c8..c25fb0d0aad 100644 --- a/cmd/genconversion/conversion.go +++ b/cmd/genconversion/conversion.go @@ -23,7 +23,6 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/api" _ "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1" - _ "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3" pkg_runtime "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" "github.com/golang/glog" @@ -32,7 +31,7 @@ import ( var ( functionDest = flag.StringP("funcDest", "f", "-", "Output for conversion functions; '-' means stdout") - version = flag.StringP("version", "v", "v1beta3", "Version for conversion.") + version = flag.StringP("version", "v", "v1", "Version for conversion.") ) func main() { diff --git a/cmd/gendeepcopy/deep_copy.go b/cmd/gendeepcopy/deep_copy.go index fa1c7da6609..59ac43bb72f 100644 --- a/cmd/gendeepcopy/deep_copy.go +++ b/cmd/gendeepcopy/deep_copy.go @@ -24,7 +24,6 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/api" _ "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1" - _ "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3" pkg_runtime "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" "github.com/golang/glog" @@ -33,7 +32,7 @@ import ( var ( functionDest = flag.StringP("func-dest", "f", "-", "Output for deep copy functions; '-' means stdout") - version = flag.StringP("version", "v", "v1beta3", "Version for deep copies.") + version = flag.StringP("version", "v", "v1", "Version for deep copies.") overwrites = flag.StringP("overwrites", "o", "", "Comma-separated overwrites for package names") ) diff --git a/cmd/integration/integration.go b/cmd/integration/integration.go index 39d694e5900..598778970cf 100644 --- a/cmd/integration/integration.go +++ b/cmd/integration/integration.go @@ -152,8 +152,6 @@ func startComponents(firstManifestURL, secondManifestURL, apiVersion string) (st glog.Fatalf("no public address for %s", host) } - // Enable v1beta3 in master only if we are starting the components for that api version. - enableV1Beta3 := apiVersion == "v1beta3" // Create a master and install handlers into mux. m := master.New(&master.Config{ EtcdHelper: helper, @@ -162,7 +160,6 @@ func startComponents(firstManifestURL, secondManifestURL, apiVersion string) (st EnableLogsSupport: false, EnableProfiling: true, APIPrefix: "/api", - EnableV1Beta3: enableV1Beta3, Authorizer: apiserver.NewAlwaysAllowAuthorizer(), AdmissionControl: admit.NewAlwaysAdmit(), ReadWritePort: portNumber, @@ -332,7 +329,7 @@ containers: desc: "static-pod-from-spec", fileContents: `{ "kind": "Pod", - "apiVersion": "v1beta3", + "apiVersion": "v1", "metadata": { "name": "static-pod-from-spec" }, @@ -611,23 +608,6 @@ func runPatchTest(c *client.Client) { RemoveLabelBody []byte RemoveAllLabelsBody []byte }{ - "v1beta3": { - api.JSONPatchType: { - []byte(`[{"op":"add","path":"/metadata/labels","value":{"foo":"bar","baz":"qux"}}]`), - []byte(`[{"op":"remove","path":"/metadata/labels/foo"}]`), - []byte(`[{"op":"remove","path":"/metadata/labels"}]`), - }, - api.MergePatchType: { - []byte(`{"metadata":{"labels":{"foo":"bar","baz":"qux"}}}`), - []byte(`{"metadata":{"labels":{"foo":null}}}`), - []byte(`{"metadata":{"labels":null}}`), - }, - api.StrategicMergePatchType: { - []byte(`{"metadata":{"labels":{"foo":"bar","baz":"qux"}}}`), - []byte(`{"metadata":{"labels":{"foo":null}}}`), - []byte(`{"metadata":{"labels":{"$patch":"replace"}}}`), - }, - }, "v1": { api.JSONPatchType: { []byte(`[{"op":"add","path":"/metadata/labels","value":{"foo":"bar","baz":"qux"}}]`), @@ -1027,7 +1007,7 @@ func ServeCachedManifestFile(contents string) (servingAddress string) { const ( testPodSpecFile = `{ "kind": "Pod", - "apiVersion": "v1beta3", + "apiVersion": "v1", "metadata": { "name": "container-vm-guestbook-pod-spec" }, diff --git a/cmd/integration/v1beta3-controller.json b/cmd/integration/v1beta3-controller.json deleted file mode 100644 index 77eb3671ea3..00000000000 --- a/cmd/integration/v1beta3-controller.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "kind": "ReplicationController", - "apiVersion": "v1beta3", - "metadata": { - "name": "nginx-controller", - "labels": {"name": "nginx"} - }, - "spec": { - "replicas": 2, - "selector": {"name": "nginx"}, - "template": { - "metadata": { - "labels": {"name": "nginx"} - }, - "spec": { - "containers": [{ - "name": "nginx", - "image": "nginx", - "ports": [{"containerPort": 80}] - }] - } - } - } -} diff --git a/cmd/kube-apiserver/app/server.go b/cmd/kube-apiserver/app/server.go index f591b70da1d..d937f416140 100644 --- a/cmd/kube-apiserver/app/server.go +++ b/cmd/kube-apiserver/app/server.go @@ -282,9 +282,6 @@ func (s *APIServer) Run(_ []string) error { } _ = disableLegacyAPIs // hush the compiler while we don't have legacy APIs to disable. - // v1beta3 is disabled by default. Users can enable it using "api/v1beta3=true" - enableV1beta3 := s.getRuntimeConfigValue("api/v1beta3", false) - // "api/v1={true|false} allows users to enable/disable v1 API. // This takes preference over api/all and api/legacy, if specified. disableV1 := disableAllAPIs @@ -384,7 +381,6 @@ func (s *APIServer) Run(_ []string) error { SupportsBasicAuth: len(s.BasicAuthFile) > 0, Authorizer: authorizer, AdmissionControl: admissionController, - EnableV1Beta3: enableV1beta3, DisableV1: disableV1, MasterServiceNamespace: s.MasterServiceNamespace, ClusterName: s.ClusterName, diff --git a/examples/examples_test.go b/examples/examples_test.go index 48b42f02dba..bdad9c9b06e 100644 --- a/examples/examples_test.go +++ b/examples/examples_test.go @@ -141,8 +141,7 @@ func walkJSONFiles(inDir string, fn func(name, path string, data []byte)) error func TestExampleObjectSchemas(t *testing.T) { cases := map[string]map[string]runtime.Object{ "../cmd/integration": { - "v1beta3-controller": &api.ReplicationController{}, - "v1-controller": &api.ReplicationController{}, + "v1-controller": &api.ReplicationController{}, }, "../examples/guestbook": { "frontend-controller": &api.ReplicationController{}, diff --git a/examples/high-availability/etcd.manifest b/examples/high-availability/etcd.manifest index e5438615e84..3fd9f319ab3 100644 --- a/examples/high-availability/etcd.manifest +++ b/examples/high-availability/etcd.manifest @@ -1,5 +1,5 @@ { -"apiVersion": "v1beta3", +"apiVersion": "v1", "kind": "Pod", "metadata": {"name":"etcd-server"}, "spec":{ diff --git a/examples/high-availability/kube-apiserver.manifest b/examples/high-availability/kube-apiserver.manifest index 23e1034b6d0..41f29dfe910 100644 --- a/examples/high-availability/kube-apiserver.manifest +++ b/examples/high-availability/kube-apiserver.manifest @@ -1,5 +1,5 @@ { -"apiVersion": "v1beta3", +"apiVersion": "v1", "kind": "Pod", "metadata": {"name":"kube-apiserver"}, "spec":{ diff --git a/examples/high-availability/kube-controller-manager.manifest b/examples/high-availability/kube-controller-manager.manifest index 10a38c1e45b..21446977aa9 100644 --- a/examples/high-availability/kube-controller-manager.manifest +++ b/examples/high-availability/kube-controller-manager.manifest @@ -1,5 +1,5 @@ { -"apiVersion": "v1beta3", +"apiVersion": "v1", "kind": "Pod", "metadata": {"name":"kube-controller-manager"}, "spec":{ diff --git a/examples/high-availability/kube-scheduler.manifest b/examples/high-availability/kube-scheduler.manifest index 686fa1b20d7..43171c01222 100644 --- a/examples/high-availability/kube-scheduler.manifest +++ b/examples/high-availability/kube-scheduler.manifest @@ -1,5 +1,5 @@ { -"apiVersion": "v1beta3", +"apiVersion": "v1", "kind": "Pod", "metadata": {"name":"kube-scheduler"}, "spec":{ @@ -36,4 +36,4 @@ "path": "/var/log/kube-scheduler.log"} } ] -}} \ No newline at end of file +}} diff --git a/examples/high-availability/podmaster.json b/examples/high-availability/podmaster.json index 73fa8b36ca8..19416b6ba60 100644 --- a/examples/high-availability/podmaster.json +++ b/examples/high-availability/podmaster.json @@ -1,5 +1,5 @@ { -"apiVersion": "v1beta3", +"apiVersion": "v1", "kind": "Pod", "metadata": {"name":"scheduler-master"}, "spec":{ diff --git a/examples/high-availability/podmaster.manifest b/examples/high-availability/podmaster.manifest index 28b29048c01..d83f7d639b0 100644 --- a/examples/high-availability/podmaster.manifest +++ b/examples/high-availability/podmaster.manifest @@ -1,5 +1,5 @@ { -"apiVersion": "v1beta3", +"apiVersion": "v1", "kind": "Pod", "metadata": {"name":"scheduler-master"}, "spec":{ diff --git a/hack/test-cmd.sh b/hack/test-cmd.sh index 88c9e030a59..c7156044efa 100755 --- a/hack/test-cmd.sh +++ b/hack/test-cmd.sh @@ -125,16 +125,14 @@ kube::util::wait_for_url "http://127.0.0.1:${KUBELET_HEALTHZ_PORT}/healthz" "kub # Start kube-apiserver kube::log::status "Starting kube-apiserver" -KUBE_API_VERSIONS="v1,v1beta3" "${KUBE_OUTPUT_HOSTBIN}/kube-apiserver" \ +KUBE_API_VERSIONS="v1" "${KUBE_OUTPUT_HOSTBIN}/kube-apiserver" \ --address="127.0.0.1" \ --public_address_override="127.0.0.1" \ --port="${API_PORT}" \ --etcd_servers="http://${ETCD_HOST}:${ETCD_PORT}" \ --public_address_override="127.0.0.1" \ --kubelet_port=${KUBELET_PORT} \ - --runtime_config=api/v1beta3 \ --runtime_config=api/v1 \ - --runtime_config=api/v1beta3 \ --cert_dir="${TMPDIR:-/tmp/}" \ --service-cluster-ip-range="10.0.0.0/24" 1>&2 & APISERVER_PID=$! @@ -237,7 +235,7 @@ runTests() { kube::test::describe_object_assert pods 'valid-pod' "Name:" "Image(s):" "Node:" "Labels:" "Status:" "Replication Controllers" ### Dump current valid-pod POD - output_pod=$(kubectl get pod valid-pod -o yaml --output-version=v1beta3 "${kube_flags[@]}") + output_pod=$(kubectl get pod valid-pod -o yaml --output-version=v1 "${kube_flags[@]}") ### Delete POD valid-pod by id # Pre-condition: valid-pod POD is running @@ -456,8 +454,6 @@ runTests() { # Pod templates # ################# - # Note: pod templates exist only in v1beta3 and above, so output will always be in that form - ### Create PODTEMPLATE # Pre-condition: no PODTEMPLATE kube::test::get_object_assert podtemplates "{{range.items}}{{.metadata.name}}:{{end}}" '' @@ -496,7 +492,7 @@ runTests() { kube::test::describe_object_assert services 'redis-master' "Name:" "Labels:" "Selector:" "IP:" "Port:" "Endpoints:" "Session Affinity:" ### Dump current redis-master service - output_service=$(kubectl get service redis-master -o json --output-version=v1beta3 "${kube_flags[@]}") + output_service=$(kubectl get service redis-master -o json --output-version=v1 "${kube_flags[@]}") ### Delete redis-master-service by id # Pre-condition: redis-master service is running @@ -776,11 +772,10 @@ __EOF__ kube_api_versions=( "" - v1beta3 v1 ) for version in "${kube_api_versions[@]}"; do - KUBE_API_VERSIONS="v1,v1beta3" runTests "${version}" + KUBE_API_VERSIONS="v1" runTests "${version}" done kube::log::status "TEST PASSED" diff --git a/hack/test-go.sh b/hack/test-go.sh index dbbf2f3f454..02c3eee2aa0 100755 --- a/hack/test-go.sh +++ b/hack/test-go.sh @@ -53,7 +53,7 @@ KUBE_RACE=${KUBE_RACE:-} # use KUBE_RACE="-race" to enable race testing # Set to the goveralls binary path to report coverage results to Coveralls.io. KUBE_GOVERALLS_BIN=${KUBE_GOVERALLS_BIN:-} # Comma separated list of API Versions that should be tested. -KUBE_TEST_API_VERSIONS=${KUBE_TEST_API_VERSIONS:-"v1,v1beta3"} +KUBE_TEST_API_VERSIONS=${KUBE_TEST_API_VERSIONS:-"v1"} # Run tests with the standard (registry) and a custom etcd prefix # (kubernetes.io/registry). KUBE_TEST_ETCD_PREFIXES=${KUBE_TEST_ETCD_PREFIXES:-"registry,kubernetes.io/registry"} @@ -218,7 +218,7 @@ for (( i=0, j=0; ; )); do apiVersion=${apiVersions[i]} etcdPrefix=${etcdPrefixes[j]} echo "Running tests for APIVersion: $apiVersion with etcdPrefix: $etcdPrefix" - KUBE_API_VERSION="${apiVersion}" KUBE_API_VERSIONS="v1,v1beta3" ETCD_PREFIX=${etcdPrefix} runTests "$@" + KUBE_API_VERSION="${apiVersion}" KUBE_API_VERSIONS="v1" ETCD_PREFIX=${etcdPrefix} runTests "$@" i=${i}+1 j=${j}+1 if [[ i -eq ${apiVersionsCount} ]] && [[ j -eq ${etcdPrefixesCount} ]]; then diff --git a/hack/test-integration.sh b/hack/test-integration.sh index a92e3519d42..d299037571e 100755 --- a/hack/test-integration.sh +++ b/hack/test-integration.sh @@ -25,7 +25,7 @@ set -o pipefail KUBE_ROOT=$(dirname "${BASH_SOURCE}")/.. source "${KUBE_ROOT}/hack/lib/init.sh" # Comma separated list of API Versions that should be tested. -KUBE_TEST_API_VERSIONS=${KUBE_TEST_API_VERSIONS:-"v1,v1beta3"} +KUBE_TEST_API_VERSIONS=${KUBE_TEST_API_VERSIONS:-"v1"} KUBE_INTEGRATION_TEST_MAX_CONCURRENCY=${KUBE_INTEGRATION_TEST_MAX_CONCURRENCY:-"-1"} LOG_LEVEL=${LOG_LEVEL:-2} @@ -43,18 +43,18 @@ runTests() { KUBE_GOFLAGS="-tags 'integration no-docker' " \ KUBE_RACE="-race" \ KUBE_TEST_API_VERSIONS="$1" \ - KUBE_API_VERSIONS="v1,v1beta3" \ + KUBE_API_VERSIONS="v1" \ "${KUBE_ROOT}/hack/test-go.sh" test/integration kube::log::status "Running integration test scenario" - KUBE_API_VERSIONS="v1,v1beta3" "${KUBE_OUTPUT_HOSTBIN}/integration" --v=${LOG_LEVEL} --api-version="$1" \ + KUBE_API_VERSIONS="v1" "${KUBE_OUTPUT_HOSTBIN}/integration" --v=${LOG_LEVEL} --api-version="$1" \ --max-concurrency="${KUBE_INTEGRATION_TEST_MAX_CONCURRENCY}" cleanup } -KUBE_API_VERSIONS="v1,v1beta3" "${KUBE_ROOT}/hack/build-go.sh" "$@" cmd/integration +KUBE_API_VERSIONS="v1" "${KUBE_ROOT}/hack/build-go.sh" "$@" cmd/integration # Run cleanup to stop etcd on interrupt or other kill signal. trap cleanup EXIT diff --git a/hack/test-update-storage-objects.sh b/hack/test-update-storage-objects.sh index ac9c49a0715..fcd58c622df 100755 --- a/hack/test-update-storage-objects.sh +++ b/hack/test-update-storage-objects.sh @@ -24,7 +24,7 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE}")/.. source "${KUBE_ROOT}/hack/lib/init.sh" # The api version in which objects are currently stored in etcd. -KUBE_OLD_API_VERSION=${KUBE_OLD_API_VERSION:-"v1beta3"} +KUBE_OLD_API_VERSION=${KUBE_OLD_API_VERSION:-"v1"} # The api version in which our etcd objects should be converted to. # The new api version KUBE_NEW_API_VERSION=${KUBE_NEW_API_VERSION:-"v1"} diff --git a/hack/update-generated-conversions.sh b/hack/update-generated-conversions.sh index f7de88bbce9..d7b9f9fd591 100755 --- a/hack/update-generated-conversions.sh +++ b/hack/update-generated-conversions.sh @@ -53,7 +53,7 @@ EOF mv $TMPFILE pkg/api/${version}/conversion_generated.go } -VERSIONS="v1beta3 v1" +VERSIONS="v1" for ver in $VERSIONS; do # Ensure that the version being processed is registered by setting # KUBE_API_VERSIONS. diff --git a/hack/update-generated-deep-copies.sh b/hack/update-generated-deep-copies.sh index 64fb775c892..e75d192e1cf 100755 --- a/hack/update-generated-deep-copies.sh +++ b/hack/update-generated-deep-copies.sh @@ -56,7 +56,7 @@ EOF } function generate_deep_copies() { - local versions="api v1beta3 v1" + local versions="api v1" # To avoid compile errors, remove the currently existing files. for ver in ${versions}; do rm -f `result_file_name ${ver}` diff --git a/hack/update-swagger-spec.sh b/hack/update-swagger-spec.sh index d37a89f506b..3ec4303d544 100755 --- a/hack/update-swagger-spec.sh +++ b/hack/update-swagger-spec.sh @@ -49,14 +49,14 @@ KUBELET_PORT=${KUBELET_PORT:-10250} # Start kube-apiserver kube::log::status "Starting kube-apiserver" -KUBE_API_VERSIONS="v1,v1beta3" "${KUBE_OUTPUT_HOSTBIN}/kube-apiserver" \ +KUBE_API_VERSIONS="v1" "${KUBE_OUTPUT_HOSTBIN}/kube-apiserver" \ --address="127.0.0.1" \ --public_address_override="127.0.0.1" \ --port="${API_PORT}" \ --etcd_servers="http://${ETCD_HOST}:${ETCD_PORT}" \ --public_address_override="127.0.0.1" \ --kubelet_port=${KUBELET_PORT} \ - --runtime_config=api/v1beta3 \ + --runtime_config=api/v1 \ --service-cluster-ip-range="10.0.0.0/24" >/dev/null 2>&1 & APISERVER_PID=$! @@ -67,7 +67,6 @@ kube::log::status "Updating " ${SWAGGER_ROOT_DIR} curl -fs ${SWAGGER_API_PATH} > ${SWAGGER_ROOT_DIR}/resourceListing.json curl -fs ${SWAGGER_API_PATH}version > ${SWAGGER_ROOT_DIR}/version.json curl -fs ${SWAGGER_API_PATH}api > ${SWAGGER_ROOT_DIR}/api.json -curl -fs ${SWAGGER_API_PATH}api/v1beta3 > ${SWAGGER_ROOT_DIR}/v1beta3.json curl -fs ${SWAGGER_API_PATH}api/v1 > ${SWAGGER_ROOT_DIR}/v1.json kube::log::status "SUCCESS" diff --git a/pkg/api/latest/latest.go b/pkg/api/latest/latest.go index 49446577b5c..37edae708af 100644 --- a/pkg/api/latest/latest.go +++ b/pkg/api/latest/latest.go @@ -24,7 +24,6 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/api/meta" "github.com/GoogleCloudPlatform/kubernetes/pkg/api/registered" "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1" - "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3" "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" "github.com/GoogleCloudPlatform/kubernetes/pkg/util" ) @@ -128,12 +127,6 @@ func init() { // string, or an error if the version is not known. func InterfacesFor(version string) (*meta.VersionInterfaces, error) { switch version { - case "v1beta3": - return &meta.VersionInterfaces{ - Codec: v1beta3.Codec, - ObjectConvertor: api.Scheme, - MetadataAccessor: accessor, - }, nil case "v1": return &meta.VersionInterfaces{ Codec: v1.Codec, diff --git a/pkg/api/meta/restmapper_test.go b/pkg/api/meta/restmapper_test.go index f0d7c9c01a5..3b4611179be 100644 --- a/pkg/api/meta/restmapper_test.go +++ b/pkg/api/meta/restmapper_test.go @@ -108,7 +108,6 @@ func TestKindToResource(t *testing.T) { {Kind: "ReplicationController", MixedCase: true, Plural: "replicationControllers", Singular: "replicationController"}, {Kind: "ReplicationController", MixedCase: true, Plural: "replicationControllers", Singular: "replicationController"}, - // API convention changed with regard to capitalization for v1beta3 {Kind: "ReplicationController", MixedCase: false, Plural: "replicationcontrollers", Singular: "replicationcontroller"}, {Kind: "ImageRepository", MixedCase: true, Plural: "imageRepositories", Singular: "imageRepository"}, diff --git a/pkg/api/registered/registered.go b/pkg/api/registered/registered.go index df1242c3ad9..9248dd831f9 100644 --- a/pkg/api/registered/registered.go +++ b/pkg/api/registered/registered.go @@ -30,8 +30,7 @@ var RegisteredVersions []string func init() { validAPIVersions := map[string]bool{ - "v1": true, - "v1beta3": true, + "v1": true, } // The default list of supported api versions, in order of most preferred to the least. diff --git a/pkg/api/testapi/testapi.go b/pkg/api/testapi/testapi.go index 5c8a0b7afb7..8d031050637 100644 --- a/pkg/api/testapi/testapi.go +++ b/pkg/api/testapi/testapi.go @@ -99,9 +99,8 @@ func ResourcePathWithPrefix(prefix, resource, namespace, name string) string { } // Returns the appropriate path for the given resource, namespace and name. -// For ex, this is of the form: -// /api/v1beta1/pods/pod0 for v1beta1 and -// /api/v1beta3/namespaces/foo/pods/pod0 for v1beta3. +// For example, this is of the form: +// /api/v1/namespaces/foo/pods/pod0 for v1. func ResourcePath(resource, namespace, name string) string { return ResourcePathWithPrefix("", resource, namespace, name) } diff --git a/pkg/api/testing/fuzzer.go b/pkg/api/testing/fuzzer.go index 3e286cd3d78..347d1bd477d 100644 --- a/pkg/api/testing/fuzzer.go +++ b/pkg/api/testing/fuzzer.go @@ -31,8 +31,8 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/types" "github.com/GoogleCloudPlatform/kubernetes/pkg/util" docker "github.com/fsouza/go-dockerclient" - "github.com/google/gofuzz" + "github.com/google/gofuzz" "speter.net/go/exp/math/dec/inf" ) diff --git a/pkg/api/types.go b/pkg/api/types.go index a15d87fdacd..3e27f585311 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -806,11 +806,10 @@ type ContainerStatus struct { Ready bool `json:"ready"` // Note that this is calculated from dead containers. But those containers are subject to // garbage collection. This value will get capped at 5 by GC. - RestartCount int `json:"restartCount"` - // TODO(dchen1107): Need to decide how to represent this in v1beta3 - Image string `json:"image"` - ImageID string `json:"imageID"` - ContainerID string `json:"containerID,omitempty"` + RestartCount int `json:"restartCount"` + Image string `json:"image"` + ImageID string `json:"imageID"` + ContainerID string `json:"containerID,omitempty"` } // PodPhase is a label for the condition of a pod at the current time. @@ -1009,7 +1008,7 @@ type ReplicationControllerSpec struct { // TemplateRef is a reference to an object that describes the pod that will be created if // insufficient replicas are detected. This reference is ignored if a Template is set. - // Must be set before converting to a v1beta3 API object + // Must be set before converting to a versioned API object //TemplateRef *ObjectReference `json:"templateRef,omitempty"` // Template is the object that describes the pod that will be created if @@ -1163,10 +1162,8 @@ type ServicePort struct { // Optional: The target port on pods selected by this service. If this // is a string, it will be looked up as a named port in the target - // Pod's container ports. If this is not specified, the first port on - // the destination pod will be used. This behavior is deprecated. As - // of v1beta3 the default value is the sames as the Port field (an - // identity map). + // Pod's container ports. If this is not specified, the default value + // is the sames as the Port field (an identity map). TargetPort util.IntOrString `json:"targetPort"` // The port on each node on which this service is exposed. diff --git a/pkg/api/v1beta3/conversion.go b/pkg/api/v1beta3/conversion.go deleted file mode 100644 index 759c9fc0c10..00000000000 --- a/pkg/api/v1beta3/conversion.go +++ /dev/null @@ -1,778 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors All rights reserved. - -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 v1beta3 - -import ( - "fmt" - "reflect" - - "github.com/GoogleCloudPlatform/kubernetes/pkg/api" - "github.com/GoogleCloudPlatform/kubernetes/pkg/conversion" -) - -func addConversionFuncs() { - // Add non-generated conversion functions - err := api.Scheme.AddConversionFuncs( - convert_v1beta3_Container_To_api_Container, - convert_api_Container_To_v1beta3_Container, - convert_v1beta3_ServiceSpec_To_api_ServiceSpec, - convert_api_ServiceSpec_To_v1beta3_ServiceSpec, - convert_v1beta3_PodSpec_To_api_PodSpec, - convert_api_PodSpec_To_v1beta3_PodSpec, - convert_v1beta3_ContainerState_To_api_ContainerState, - convert_api_ContainerState_To_v1beta3_ContainerState, - convert_api_ContainerStateTerminated_To_v1beta3_ContainerStateTerminated, - convert_v1beta3_ContainerStateTerminated_To_api_ContainerStateTerminated, - convert_v1beta3_StatusDetails_To_api_StatusDetails, - convert_api_StatusDetails_To_v1beta3_StatusDetails, - convert_v1beta3_StatusCause_To_api_StatusCause, - convert_api_StatusCause_To_v1beta3_StatusCause, - convert_api_ReplicationControllerSpec_To_v1beta3_ReplicationControllerSpec, - convert_v1beta3_ReplicationControllerSpec_To_api_ReplicationControllerSpec, - ) - if err != nil { - // If one of the conversion functions is malformed, detect it immediately. - panic(err) - } - - // Add field conversion funcs. - err = api.Scheme.AddFieldLabelConversionFunc("v1beta3", "Pod", - func(label, value string) (string, string, error) { - switch label { - case "metadata.name", - "metadata.namespace", - "status.phase": - return label, value, nil - case "spec.host": - return "spec.nodeName", value, nil - default: - return "", "", fmt.Errorf("field label not supported: %s", label) - } - }) - if err != nil { - // If one of the conversion functions is malformed, detect it immediately. - panic(err) - } - err = api.Scheme.AddFieldLabelConversionFunc("v1beta3", "Node", - func(label, value string) (string, string, error) { - switch label { - case "metadata.name": - return label, value, nil - case "spec.unschedulable": - return label, value, nil - default: - return "", "", fmt.Errorf("field label not supported: %s", label) - } - }) - if err != nil { - // If one of the conversion functions is malformed, detect it immediately. - panic(err) - } - err = api.Scheme.AddFieldLabelConversionFunc("v1beta3", "ReplicationController", - func(label, value string) (string, string, error) { - switch label { - case "metadata.name", - "status.replicas": - return label, value, nil - default: - return "", "", fmt.Errorf("field label not supported: %s", label) - } - }) - if err != nil { - // If one of the conversion functions is malformed, detect it immediately. - panic(err) - } - err = api.Scheme.AddFieldLabelConversionFunc("v1beta3", "Event", - func(label, value string) (string, string, error) { - switch label { - case "involvedObject.kind", - "involvedObject.namespace", - "involvedObject.name", - "involvedObject.uid", - "involvedObject.apiVersion", - "involvedObject.resourceVersion", - "involvedObject.fieldPath", - "reason", - "source": - return label, value, nil - default: - return "", "", fmt.Errorf("field label not supported: %s", label) - } - }) - if err != nil { - // If one of the conversion functions is malformed, detect it immediately. - panic(err) - } - err = api.Scheme.AddFieldLabelConversionFunc("v1beta3", "Namespace", - func(label, value string) (string, string, error) { - switch label { - case "status.phase": - return label, value, nil - default: - return "", "", fmt.Errorf("field label not supported: %s", label) - } - }) - if err != nil { - // If one of the conversion functions is malformed, detect it immediately. - panic(err) - } - err = api.Scheme.AddFieldLabelConversionFunc("v1beta3", "Secret", - func(label, value string) (string, string, error) { - switch label { - case "type": - return label, value, nil - default: - return "", "", fmt.Errorf("field label not supported: %s", label) - } - }) - if err != nil { - // If one of the conversion functions is malformed, detect it immediately. - panic(err) - } - err = api.Scheme.AddFieldLabelConversionFunc("v1beta3", "ServiceAccount", - func(label, value string) (string, string, error) { - switch label { - case "metadata.name": - return label, value, nil - default: - return "", "", fmt.Errorf("field label not supported: %s", label) - } - }) - if err != nil { - // If one of the conversion functions is malformed, detect it immediately. - panic(err) - } - err = api.Scheme.AddFieldLabelConversionFunc("v1beta3", "Endpoints", - func(label, value string) (string, string, error) { - switch label { - case "metadata.name": - return label, value, nil - default: - return "", "", fmt.Errorf("field label not supported: %s", label) - } - }) - if err != nil { - // If one of the conversion functions is malformed, detect it immediately. - panic(err) - } -} - -func convert_v1beta3_Container_To_api_Container(in *Container, out *api.Container, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Container))(in) - } - out.Name = in.Name - out.Image = in.Image - if in.Command != nil { - out.Command = make([]string, len(in.Command)) - for i := range in.Command { - out.Command[i] = in.Command[i] - } - } - if in.Args != nil { - out.Args = make([]string, len(in.Args)) - for i := range in.Args { - out.Args[i] = in.Args[i] - } - } - out.WorkingDir = in.WorkingDir - if in.Ports != nil { - out.Ports = make([]api.ContainerPort, len(in.Ports)) - for i := range in.Ports { - if err := convert_v1beta3_ContainerPort_To_api_ContainerPort(&in.Ports[i], &out.Ports[i], s); err != nil { - return err - } - } - } - if in.Env != nil { - out.Env = make([]api.EnvVar, len(in.Env)) - for i := range in.Env { - if err := convert_v1beta3_EnvVar_To_api_EnvVar(&in.Env[i], &out.Env[i], s); err != nil { - return err - } - } - } - if err := s.Convert(&in.Resources, &out.Resources, 0); err != nil { - return err - } - if in.VolumeMounts != nil { - out.VolumeMounts = make([]api.VolumeMount, len(in.VolumeMounts)) - for i := range in.VolumeMounts { - if err := convert_v1beta3_VolumeMount_To_api_VolumeMount(&in.VolumeMounts[i], &out.VolumeMounts[i], s); err != nil { - return err - } - } - } - if in.LivenessProbe != nil { - out.LivenessProbe = new(api.Probe) - if err := convert_v1beta3_Probe_To_api_Probe(in.LivenessProbe, out.LivenessProbe, s); err != nil { - return err - } - } else { - out.LivenessProbe = nil - } - if in.ReadinessProbe != nil { - out.ReadinessProbe = new(api.Probe) - if err := convert_v1beta3_Probe_To_api_Probe(in.ReadinessProbe, out.ReadinessProbe, s); err != nil { - return err - } - } else { - out.ReadinessProbe = nil - } - if in.Lifecycle != nil { - out.Lifecycle = new(api.Lifecycle) - if err := convert_v1beta3_Lifecycle_To_api_Lifecycle(in.Lifecycle, out.Lifecycle, s); err != nil { - return err - } - } else { - out.Lifecycle = nil - } - out.TerminationMessagePath = in.TerminationMessagePath - out.ImagePullPolicy = api.PullPolicy(in.ImagePullPolicy) - if in.SecurityContext != nil { - if in.SecurityContext.Capabilities != nil { - if !reflect.DeepEqual(in.SecurityContext.Capabilities.Add, in.Capabilities.Add) || - !reflect.DeepEqual(in.SecurityContext.Capabilities.Drop, in.Capabilities.Drop) { - return fmt.Errorf("container capability settings do not match security context settings, cannot convert") - } - } - if in.SecurityContext.Privileged != nil { - if in.Privileged != *in.SecurityContext.Privileged { - return fmt.Errorf("container privileged settings do not match security context settings, cannot convert") - } - } - } - if in.SecurityContext != nil { - out.SecurityContext = new(api.SecurityContext) - if err := convert_v1beta3_SecurityContext_To_api_SecurityContext(in.SecurityContext, out.SecurityContext, s); err != nil { - return err - } - } else { - out.SecurityContext = nil - } - return nil -} - -func convert_api_Container_To_v1beta3_Container(in *api.Container, out *Container, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Container))(in) - } - out.Name = in.Name - out.Image = in.Image - if in.Command != nil { - out.Command = make([]string, len(in.Command)) - for i := range in.Command { - out.Command[i] = in.Command[i] - } - } - if in.Args != nil { - out.Args = make([]string, len(in.Args)) - for i := range in.Args { - out.Args[i] = in.Args[i] - } - } - out.WorkingDir = in.WorkingDir - if in.Ports != nil { - out.Ports = make([]ContainerPort, len(in.Ports)) - for i := range in.Ports { - if err := convert_api_ContainerPort_To_v1beta3_ContainerPort(&in.Ports[i], &out.Ports[i], s); err != nil { - return err - } - } - } - if in.Env != nil { - out.Env = make([]EnvVar, len(in.Env)) - for i := range in.Env { - if err := convert_api_EnvVar_To_v1beta3_EnvVar(&in.Env[i], &out.Env[i], s); err != nil { - return err - } - } - } - if err := s.Convert(&in.Resources, &out.Resources, 0); err != nil { - return err - } - if in.VolumeMounts != nil { - out.VolumeMounts = make([]VolumeMount, len(in.VolumeMounts)) - for i := range in.VolumeMounts { - if err := convert_api_VolumeMount_To_v1beta3_VolumeMount(&in.VolumeMounts[i], &out.VolumeMounts[i], s); err != nil { - return err - } - } - } - if in.LivenessProbe != nil { - out.LivenessProbe = new(Probe) - if err := convert_api_Probe_To_v1beta3_Probe(in.LivenessProbe, out.LivenessProbe, s); err != nil { - return err - } - } else { - out.LivenessProbe = nil - } - if in.ReadinessProbe != nil { - out.ReadinessProbe = new(Probe) - if err := convert_api_Probe_To_v1beta3_Probe(in.ReadinessProbe, out.ReadinessProbe, s); err != nil { - return err - } - } else { - out.ReadinessProbe = nil - } - if in.Lifecycle != nil { - out.Lifecycle = new(Lifecycle) - if err := convert_api_Lifecycle_To_v1beta3_Lifecycle(in.Lifecycle, out.Lifecycle, s); err != nil { - return err - } - } else { - out.Lifecycle = nil - } - out.TerminationMessagePath = in.TerminationMessagePath - out.ImagePullPolicy = PullPolicy(in.ImagePullPolicy) - if in.SecurityContext != nil { - out.SecurityContext = new(SecurityContext) - if err := convert_api_SecurityContext_To_v1beta3_SecurityContext(in.SecurityContext, out.SecurityContext, s); err != nil { - return err - } - } else { - out.SecurityContext = nil - } - // now that we've converted set the container field from security context - if out.SecurityContext != nil && out.SecurityContext.Privileged != nil { - out.Privileged = *out.SecurityContext.Privileged - } - // now that we've converted set the container field from security context - if out.SecurityContext != nil && out.SecurityContext.Capabilities != nil { - out.Capabilities = *out.SecurityContext.Capabilities - } - return nil -} - -func convert_v1beta3_ServiceSpec_To_api_ServiceSpec(in *ServiceSpec, out *api.ServiceSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ServiceSpec))(in) - } - if in.Ports != nil { - out.Ports = make([]api.ServicePort, len(in.Ports)) - for i := range in.Ports { - if err := convert_v1beta3_ServicePort_To_api_ServicePort(&in.Ports[i], &out.Ports[i], s); err != nil { - return err - } - } - } else { - out.Ports = nil - } - if in.Selector != nil { - out.Selector = make(map[string]string) - for key, val := range in.Selector { - out.Selector[key] = val - } - } else { - out.Selector = nil - } - out.ClusterIP = in.PortalIP - - typeIn := in.Type - if typeIn == "" { - if in.CreateExternalLoadBalancer { - typeIn = ServiceTypeLoadBalancer - } else { - typeIn = ServiceTypeClusterIP - } - } - if err := s.Convert(&typeIn, &out.Type, 0); err != nil { - return err - } - - if in.PublicIPs != nil { - out.DeprecatedPublicIPs = make([]string, len(in.PublicIPs)) - for i := range in.PublicIPs { - out.DeprecatedPublicIPs[i] = in.PublicIPs[i] - } - } else { - out.DeprecatedPublicIPs = nil - } - out.SessionAffinity = api.ServiceAffinity(in.SessionAffinity) - return nil -} - -func convert_api_ServiceSpec_To_v1beta3_ServiceSpec(in *api.ServiceSpec, out *ServiceSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ServiceSpec))(in) - } - if in.Ports != nil { - out.Ports = make([]ServicePort, len(in.Ports)) - for i := range in.Ports { - if err := convert_api_ServicePort_To_v1beta3_ServicePort(&in.Ports[i], &out.Ports[i], s); err != nil { - return err - } - } - } else { - out.Ports = nil - } - if in.Selector != nil { - out.Selector = make(map[string]string) - for key, val := range in.Selector { - out.Selector[key] = val - } - } else { - out.Selector = nil - } - out.PortalIP = in.ClusterIP - - if err := s.Convert(&in.Type, &out.Type, 0); err != nil { - return err - } - out.CreateExternalLoadBalancer = in.Type == api.ServiceTypeLoadBalancer - - if in.DeprecatedPublicIPs != nil { - out.PublicIPs = make([]string, len(in.DeprecatedPublicIPs)) - for i := range in.DeprecatedPublicIPs { - out.PublicIPs[i] = in.DeprecatedPublicIPs[i] - } - } else { - out.PublicIPs = nil - } - out.SessionAffinity = ServiceAffinity(in.SessionAffinity) - return nil -} - -func convert_v1beta3_PodSpec_To_api_PodSpec(in *PodSpec, out *api.PodSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PodSpec))(in) - } - if in.Volumes != nil { - out.Volumes = make([]api.Volume, len(in.Volumes)) - for i := range in.Volumes { - if err := convert_v1beta3_Volume_To_api_Volume(&in.Volumes[i], &out.Volumes[i], s); err != nil { - return err - } - } - } else { - out.Volumes = nil - } - if in.Containers != nil { - out.Containers = make([]api.Container, len(in.Containers)) - for i := range in.Containers { - if err := convert_v1beta3_Container_To_api_Container(&in.Containers[i], &out.Containers[i], s); err != nil { - return err - } - } - } else { - out.Containers = nil - } - out.RestartPolicy = api.RestartPolicy(in.RestartPolicy) - if in.TerminationGracePeriodSeconds != nil { - out.TerminationGracePeriodSeconds = new(int64) - *out.TerminationGracePeriodSeconds = *in.TerminationGracePeriodSeconds - } else { - out.TerminationGracePeriodSeconds = nil - } - if in.ActiveDeadlineSeconds != nil { - out.ActiveDeadlineSeconds = new(int64) - *out.ActiveDeadlineSeconds = *in.ActiveDeadlineSeconds - } else { - out.ActiveDeadlineSeconds = nil - } - out.DNSPolicy = api.DNSPolicy(in.DNSPolicy) - if in.NodeSelector != nil { - out.NodeSelector = make(map[string]string) - for key, val := range in.NodeSelector { - out.NodeSelector[key] = val - } - } else { - out.NodeSelector = nil - } - out.ServiceAccountName = in.ServiceAccount - out.NodeName = in.Host - out.HostNetwork = in.HostNetwork - if in.ImagePullSecrets != nil { - out.ImagePullSecrets = make([]api.LocalObjectReference, len(in.ImagePullSecrets)) - for i := range in.ImagePullSecrets { - if err := convert_v1beta3_LocalObjectReference_To_api_LocalObjectReference(&in.ImagePullSecrets[i], &out.ImagePullSecrets[i], s); err != nil { - return err - } - } - } else { - out.ImagePullSecrets = nil - } - return nil -} - -func convert_api_PodSpec_To_v1beta3_PodSpec(in *api.PodSpec, out *PodSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PodSpec))(in) - } - if in.Volumes != nil { - out.Volumes = make([]Volume, len(in.Volumes)) - for i := range in.Volumes { - if err := convert_api_Volume_To_v1beta3_Volume(&in.Volumes[i], &out.Volumes[i], s); err != nil { - return err - } - } - } else { - out.Volumes = nil - } - if in.Containers != nil { - out.Containers = make([]Container, len(in.Containers)) - for i := range in.Containers { - if err := convert_api_Container_To_v1beta3_Container(&in.Containers[i], &out.Containers[i], s); err != nil { - return err - } - } - } else { - out.Containers = nil - } - out.RestartPolicy = RestartPolicy(in.RestartPolicy) - if in.TerminationGracePeriodSeconds != nil { - out.TerminationGracePeriodSeconds = new(int64) - *out.TerminationGracePeriodSeconds = *in.TerminationGracePeriodSeconds - } else { - out.TerminationGracePeriodSeconds = nil - } - if in.ActiveDeadlineSeconds != nil { - out.ActiveDeadlineSeconds = new(int64) - *out.ActiveDeadlineSeconds = *in.ActiveDeadlineSeconds - } else { - out.ActiveDeadlineSeconds = nil - } - out.DNSPolicy = DNSPolicy(in.DNSPolicy) - if in.NodeSelector != nil { - out.NodeSelector = make(map[string]string) - for key, val := range in.NodeSelector { - out.NodeSelector[key] = val - } - } else { - out.NodeSelector = nil - } - out.ServiceAccount = in.ServiceAccountName - out.Host = in.NodeName - out.HostNetwork = in.HostNetwork - if in.ImagePullSecrets != nil { - out.ImagePullSecrets = make([]LocalObjectReference, len(in.ImagePullSecrets)) - for i := range in.ImagePullSecrets { - if err := convert_api_LocalObjectReference_To_v1beta3_LocalObjectReference(&in.ImagePullSecrets[i], &out.ImagePullSecrets[i], s); err != nil { - return err - } - } - } else { - out.ImagePullSecrets = nil - } - return nil -} - -func convert_api_ContainerState_To_v1beta3_ContainerState(in *api.ContainerState, out *ContainerState, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ContainerState))(in) - } - if in.Waiting != nil { - out.Waiting = new(ContainerStateWaiting) - if err := convert_api_ContainerStateWaiting_To_v1beta3_ContainerStateWaiting(in.Waiting, out.Waiting, s); err != nil { - return err - } - } else { - out.Waiting = nil - } - if in.Running != nil { - out.Running = new(ContainerStateRunning) - if err := convert_api_ContainerStateRunning_To_v1beta3_ContainerStateRunning(in.Running, out.Running, s); err != nil { - return err - } - } else { - out.Running = nil - } - if in.Terminated != nil { - out.Termination = new(ContainerStateTerminated) - if err := convert_api_ContainerStateTerminated_To_v1beta3_ContainerStateTerminated(in.Terminated, out.Termination, s); err != nil { - return err - } - } else { - out.Termination = nil - } - return nil -} - -func convert_v1beta3_ContainerState_To_api_ContainerState(in *ContainerState, out *api.ContainerState, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ContainerState))(in) - } - if in.Waiting != nil { - out.Waiting = new(api.ContainerStateWaiting) - if err := convert_v1beta3_ContainerStateWaiting_To_api_ContainerStateWaiting(in.Waiting, out.Waiting, s); err != nil { - return err - } - } else { - out.Waiting = nil - } - if in.Running != nil { - out.Running = new(api.ContainerStateRunning) - if err := convert_v1beta3_ContainerStateRunning_To_api_ContainerStateRunning(in.Running, out.Running, s); err != nil { - return err - } - } else { - out.Running = nil - } - if in.Termination != nil { - out.Terminated = new(api.ContainerStateTerminated) - if err := convert_v1beta3_ContainerStateTerminated_To_api_ContainerStateTerminated(in.Termination, out.Terminated, s); err != nil { - return err - } - } else { - out.Terminated = nil - } - return nil -} - -func convert_api_ContainerStateTerminated_To_v1beta3_ContainerStateTerminated(in *api.ContainerStateTerminated, out *ContainerStateTerminated, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ContainerStateTerminated))(in) - } - out.ExitCode = in.ExitCode - out.Signal = in.Signal - out.Reason = in.Reason - out.Message = in.Message - if err := s.Convert(&in.StartedAt, &out.StartedAt, 0); err != nil { - return err - } - if err := s.Convert(&in.FinishedAt, &out.FinishedAt, 0); err != nil { - return err - } - out.ContainerID = in.ContainerID - return nil -} - -func convert_v1beta3_ContainerStateTerminated_To_api_ContainerStateTerminated(in *ContainerStateTerminated, out *api.ContainerStateTerminated, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ContainerStateTerminated))(in) - } - out.ExitCode = in.ExitCode - out.Signal = in.Signal - out.Reason = in.Reason - out.Message = in.Message - if err := s.Convert(&in.StartedAt, &out.StartedAt, 0); err != nil { - return err - } - if err := s.Convert(&in.FinishedAt, &out.FinishedAt, 0); err != nil { - return err - } - out.ContainerID = in.ContainerID - return nil -} - -func convert_v1beta3_StatusDetails_To_api_StatusDetails(in *StatusDetails, out *api.StatusDetails, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*StatusDetails))(in) - } - out.Name = in.ID - out.Kind = in.Kind - if in.Causes != nil { - out.Causes = make([]api.StatusCause, len(in.Causes)) - for i := range in.Causes { - if err := convert_v1beta3_StatusCause_To_api_StatusCause(&in.Causes[i], &out.Causes[i], s); err != nil { - return err - } - } - } else { - out.Causes = nil - } - out.RetryAfterSeconds = in.RetryAfterSeconds - return nil -} - -func convert_api_StatusDetails_To_v1beta3_StatusDetails(in *api.StatusDetails, out *StatusDetails, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.StatusDetails))(in) - } - out.ID = in.Name - out.Kind = in.Kind - if in.Causes != nil { - out.Causes = make([]StatusCause, len(in.Causes)) - for i := range in.Causes { - if err := convert_api_StatusCause_To_v1beta3_StatusCause(&in.Causes[i], &out.Causes[i], s); err != nil { - return err - } - } - } else { - out.Causes = nil - } - out.RetryAfterSeconds = in.RetryAfterSeconds - return nil -} - -func convert_v1beta3_StatusCause_To_api_StatusCause(in *StatusCause, out *api.StatusCause, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*StatusCause))(in) - } - out.Type = api.CauseType(in.Type) - out.Message = in.Message - out.Field = in.Field - return nil -} - -func convert_api_StatusCause_To_v1beta3_StatusCause(in *api.StatusCause, out *StatusCause, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.StatusCause))(in) - } - out.Type = CauseType(in.Type) - out.Message = in.Message - out.Field = in.Field - return nil -} - -func convert_api_ReplicationControllerSpec_To_v1beta3_ReplicationControllerSpec(in *api.ReplicationControllerSpec, out *ReplicationControllerSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ReplicationControllerSpec))(in) - } - out.Replicas = &in.Replicas - if in.Selector != nil { - out.Selector = make(map[string]string) - for key, val := range in.Selector { - out.Selector[key] = val - } - } else { - out.Selector = nil - } - if in.Template != nil { - out.Template = new(PodTemplateSpec) - if err := convert_api_PodTemplateSpec_To_v1beta3_PodTemplateSpec(in.Template, out.Template, s); err != nil { - return err - } - } else { - out.Template = nil - } - return nil -} - -func convert_v1beta3_ReplicationControllerSpec_To_api_ReplicationControllerSpec(in *ReplicationControllerSpec, out *api.ReplicationControllerSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ReplicationControllerSpec))(in) - } - out.Replicas = *in.Replicas - if in.Selector != nil { - out.Selector = make(map[string]string) - for key, val := range in.Selector { - out.Selector[key] = val - } - } else { - out.Selector = nil - } - if in.Template != nil { - out.Template = new(api.PodTemplateSpec) - if err := convert_v1beta3_PodTemplateSpec_To_api_PodTemplateSpec(in.Template, out.Template, s); err != nil { - return err - } - } else { - out.Template = nil - } - return nil -} diff --git a/pkg/api/v1beta3/conversion_generated.go b/pkg/api/v1beta3/conversion_generated.go deleted file mode 100644 index 1a94a0d3576..00000000000 --- a/pkg/api/v1beta3/conversion_generated.go +++ /dev/null @@ -1,4333 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors All rights reserved. - -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 v1beta3 - -import ( - "reflect" - - "github.com/GoogleCloudPlatform/kubernetes/pkg/api" - "github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource" - "github.com/GoogleCloudPlatform/kubernetes/pkg/conversion" -) - -// AUTO-GENERATED FUNCTIONS START HERE -func convert_api_AWSElasticBlockStoreVolumeSource_To_v1beta3_AWSElasticBlockStoreVolumeSource(in *api.AWSElasticBlockStoreVolumeSource, out *AWSElasticBlockStoreVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.AWSElasticBlockStoreVolumeSource))(in) - } - out.VolumeID = in.VolumeID - out.FSType = in.FSType - out.Partition = in.Partition - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_api_Binding_To_v1beta3_Binding(in *api.Binding, out *Binding, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Binding))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_ObjectReference_To_v1beta3_ObjectReference(&in.Target, &out.Target, s); err != nil { - return err - } - return nil -} - -func convert_api_Capabilities_To_v1beta3_Capabilities(in *api.Capabilities, out *Capabilities, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Capabilities))(in) - } - if in.Add != nil { - out.Add = make([]Capability, len(in.Add)) - for i := range in.Add { - out.Add[i] = Capability(in.Add[i]) - } - } else { - out.Add = nil - } - if in.Drop != nil { - out.Drop = make([]Capability, len(in.Drop)) - for i := range in.Drop { - out.Drop[i] = Capability(in.Drop[i]) - } - } else { - out.Drop = nil - } - return nil -} - -func convert_api_ComponentCondition_To_v1beta3_ComponentCondition(in *api.ComponentCondition, out *ComponentCondition, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ComponentCondition))(in) - } - out.Type = ComponentConditionType(in.Type) - out.Status = ConditionStatus(in.Status) - out.Message = in.Message - out.Error = in.Error - return nil -} - -func convert_api_ComponentStatus_To_v1beta3_ComponentStatus(in *api.ComponentStatus, out *ComponentStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ComponentStatus))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if in.Conditions != nil { - out.Conditions = make([]ComponentCondition, len(in.Conditions)) - for i := range in.Conditions { - if err := convert_api_ComponentCondition_To_v1beta3_ComponentCondition(&in.Conditions[i], &out.Conditions[i], s); err != nil { - return err - } - } - } else { - out.Conditions = nil - } - return nil -} - -func convert_api_ComponentStatusList_To_v1beta3_ComponentStatusList(in *api.ComponentStatusList, out *ComponentStatusList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ComponentStatusList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]ComponentStatus, len(in.Items)) - for i := range in.Items { - if err := convert_api_ComponentStatus_To_v1beta3_ComponentStatus(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_ContainerPort_To_v1beta3_ContainerPort(in *api.ContainerPort, out *ContainerPort, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ContainerPort))(in) - } - out.Name = in.Name - out.HostPort = in.HostPort - out.ContainerPort = in.ContainerPort - out.Protocol = Protocol(in.Protocol) - out.HostIP = in.HostIP - return nil -} - -func convert_api_ContainerStateRunning_To_v1beta3_ContainerStateRunning(in *api.ContainerStateRunning, out *ContainerStateRunning, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ContainerStateRunning))(in) - } - if err := s.Convert(&in.StartedAt, &out.StartedAt, 0); err != nil { - return err - } - return nil -} - -func convert_api_ContainerStateWaiting_To_v1beta3_ContainerStateWaiting(in *api.ContainerStateWaiting, out *ContainerStateWaiting, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ContainerStateWaiting))(in) - } - out.Reason = in.Reason - return nil -} - -func convert_api_ContainerStatus_To_v1beta3_ContainerStatus(in *api.ContainerStatus, out *ContainerStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ContainerStatus))(in) - } - out.Name = in.Name - if err := convert_api_ContainerState_To_v1beta3_ContainerState(&in.State, &out.State, s); err != nil { - return err - } - if err := convert_api_ContainerState_To_v1beta3_ContainerState(&in.LastTerminationState, &out.LastTerminationState, s); err != nil { - return err - } - out.Ready = in.Ready - out.RestartCount = in.RestartCount - out.Image = in.Image - out.ImageID = in.ImageID - out.ContainerID = in.ContainerID - return nil -} - -func convert_api_DeleteOptions_To_v1beta3_DeleteOptions(in *api.DeleteOptions, out *DeleteOptions, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.DeleteOptions))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if in.GracePeriodSeconds != nil { - out.GracePeriodSeconds = new(int64) - *out.GracePeriodSeconds = *in.GracePeriodSeconds - } else { - out.GracePeriodSeconds = nil - } - return nil -} - -func convert_api_EmptyDirVolumeSource_To_v1beta3_EmptyDirVolumeSource(in *api.EmptyDirVolumeSource, out *EmptyDirVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.EmptyDirVolumeSource))(in) - } - out.Medium = StorageMedium(in.Medium) - return nil -} - -func convert_api_EndpointAddress_To_v1beta3_EndpointAddress(in *api.EndpointAddress, out *EndpointAddress, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.EndpointAddress))(in) - } - out.IP = in.IP - if in.TargetRef != nil { - out.TargetRef = new(ObjectReference) - if err := convert_api_ObjectReference_To_v1beta3_ObjectReference(in.TargetRef, out.TargetRef, s); err != nil { - return err - } - } else { - out.TargetRef = nil - } - return nil -} - -func convert_api_EndpointPort_To_v1beta3_EndpointPort(in *api.EndpointPort, out *EndpointPort, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.EndpointPort))(in) - } - out.Name = in.Name - out.Port = in.Port - out.Protocol = Protocol(in.Protocol) - return nil -} - -func convert_api_EndpointSubset_To_v1beta3_EndpointSubset(in *api.EndpointSubset, out *EndpointSubset, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.EndpointSubset))(in) - } - if in.Addresses != nil { - out.Addresses = make([]EndpointAddress, len(in.Addresses)) - for i := range in.Addresses { - if err := convert_api_EndpointAddress_To_v1beta3_EndpointAddress(&in.Addresses[i], &out.Addresses[i], s); err != nil { - return err - } - } - } else { - out.Addresses = nil - } - if in.Ports != nil { - out.Ports = make([]EndpointPort, len(in.Ports)) - for i := range in.Ports { - if err := convert_api_EndpointPort_To_v1beta3_EndpointPort(&in.Ports[i], &out.Ports[i], s); err != nil { - return err - } - } - } else { - out.Ports = nil - } - return nil -} - -func convert_api_Endpoints_To_v1beta3_Endpoints(in *api.Endpoints, out *Endpoints, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Endpoints))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if in.Subsets != nil { - out.Subsets = make([]EndpointSubset, len(in.Subsets)) - for i := range in.Subsets { - if err := convert_api_EndpointSubset_To_v1beta3_EndpointSubset(&in.Subsets[i], &out.Subsets[i], s); err != nil { - return err - } - } - } else { - out.Subsets = nil - } - return nil -} - -func convert_api_EndpointsList_To_v1beta3_EndpointsList(in *api.EndpointsList, out *EndpointsList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.EndpointsList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Endpoints, len(in.Items)) - for i := range in.Items { - if err := convert_api_Endpoints_To_v1beta3_Endpoints(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_EnvVar_To_v1beta3_EnvVar(in *api.EnvVar, out *EnvVar, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.EnvVar))(in) - } - out.Name = in.Name - out.Value = in.Value - if in.ValueFrom != nil { - out.ValueFrom = new(EnvVarSource) - if err := convert_api_EnvVarSource_To_v1beta3_EnvVarSource(in.ValueFrom, out.ValueFrom, s); err != nil { - return err - } - } else { - out.ValueFrom = nil - } - return nil -} - -func convert_api_EnvVarSource_To_v1beta3_EnvVarSource(in *api.EnvVarSource, out *EnvVarSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.EnvVarSource))(in) - } - if in.FieldRef != nil { - out.FieldRef = new(ObjectFieldSelector) - if err := convert_api_ObjectFieldSelector_To_v1beta3_ObjectFieldSelector(in.FieldRef, out.FieldRef, s); err != nil { - return err - } - } else { - out.FieldRef = nil - } - return nil -} - -func convert_api_Event_To_v1beta3_Event(in *api.Event, out *Event, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Event))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_ObjectReference_To_v1beta3_ObjectReference(&in.InvolvedObject, &out.InvolvedObject, s); err != nil { - return err - } - out.Reason = in.Reason - out.Message = in.Message - if err := convert_api_EventSource_To_v1beta3_EventSource(&in.Source, &out.Source, s); err != nil { - return err - } - if err := s.Convert(&in.FirstTimestamp, &out.FirstTimestamp, 0); err != nil { - return err - } - if err := s.Convert(&in.LastTimestamp, &out.LastTimestamp, 0); err != nil { - return err - } - out.Count = in.Count - return nil -} - -func convert_api_EventList_To_v1beta3_EventList(in *api.EventList, out *EventList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.EventList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Event, len(in.Items)) - for i := range in.Items { - if err := convert_api_Event_To_v1beta3_Event(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_EventSource_To_v1beta3_EventSource(in *api.EventSource, out *EventSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.EventSource))(in) - } - out.Component = in.Component - out.Host = in.Host - return nil -} - -func convert_api_ExecAction_To_v1beta3_ExecAction(in *api.ExecAction, out *ExecAction, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ExecAction))(in) - } - if in.Command != nil { - out.Command = make([]string, len(in.Command)) - for i := range in.Command { - out.Command[i] = in.Command[i] - } - } else { - out.Command = nil - } - return nil -} - -func convert_api_GCEPersistentDiskVolumeSource_To_v1beta3_GCEPersistentDiskVolumeSource(in *api.GCEPersistentDiskVolumeSource, out *GCEPersistentDiskVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.GCEPersistentDiskVolumeSource))(in) - } - out.PDName = in.PDName - out.FSType = in.FSType - out.Partition = in.Partition - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_api_GitRepoVolumeSource_To_v1beta3_GitRepoVolumeSource(in *api.GitRepoVolumeSource, out *GitRepoVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.GitRepoVolumeSource))(in) - } - out.Repository = in.Repository - out.Revision = in.Revision - return nil -} - -func convert_api_GlusterfsVolumeSource_To_v1beta3_GlusterfsVolumeSource(in *api.GlusterfsVolumeSource, out *GlusterfsVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.GlusterfsVolumeSource))(in) - } - out.EndpointsName = in.EndpointsName - out.Path = in.Path - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_api_HTTPGetAction_To_v1beta3_HTTPGetAction(in *api.HTTPGetAction, out *HTTPGetAction, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.HTTPGetAction))(in) - } - out.Path = in.Path - if err := s.Convert(&in.Port, &out.Port, 0); err != nil { - return err - } - out.Host = in.Host - out.Scheme = URIScheme(in.Scheme) - return nil -} - -func convert_api_Handler_To_v1beta3_Handler(in *api.Handler, out *Handler, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Handler))(in) - } - if in.Exec != nil { - out.Exec = new(ExecAction) - if err := convert_api_ExecAction_To_v1beta3_ExecAction(in.Exec, out.Exec, s); err != nil { - return err - } - } else { - out.Exec = nil - } - if in.HTTPGet != nil { - out.HTTPGet = new(HTTPGetAction) - if err := convert_api_HTTPGetAction_To_v1beta3_HTTPGetAction(in.HTTPGet, out.HTTPGet, s); err != nil { - return err - } - } else { - out.HTTPGet = nil - } - if in.TCPSocket != nil { - out.TCPSocket = new(TCPSocketAction) - if err := convert_api_TCPSocketAction_To_v1beta3_TCPSocketAction(in.TCPSocket, out.TCPSocket, s); err != nil { - return err - } - } else { - out.TCPSocket = nil - } - return nil -} - -func convert_api_HostPathVolumeSource_To_v1beta3_HostPathVolumeSource(in *api.HostPathVolumeSource, out *HostPathVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.HostPathVolumeSource))(in) - } - out.Path = in.Path - return nil -} - -func convert_api_ISCSIVolumeSource_To_v1beta3_ISCSIVolumeSource(in *api.ISCSIVolumeSource, out *ISCSIVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ISCSIVolumeSource))(in) - } - out.TargetPortal = in.TargetPortal - out.IQN = in.IQN - out.Lun = in.Lun - out.FSType = in.FSType - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_api_Lifecycle_To_v1beta3_Lifecycle(in *api.Lifecycle, out *Lifecycle, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Lifecycle))(in) - } - if in.PostStart != nil { - out.PostStart = new(Handler) - if err := convert_api_Handler_To_v1beta3_Handler(in.PostStart, out.PostStart, s); err != nil { - return err - } - } else { - out.PostStart = nil - } - if in.PreStop != nil { - out.PreStop = new(Handler) - if err := convert_api_Handler_To_v1beta3_Handler(in.PreStop, out.PreStop, s); err != nil { - return err - } - } else { - out.PreStop = nil - } - return nil -} - -func convert_api_LimitRange_To_v1beta3_LimitRange(in *api.LimitRange, out *LimitRange, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.LimitRange))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_LimitRangeSpec_To_v1beta3_LimitRangeSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - return nil -} - -func convert_api_LimitRangeItem_To_v1beta3_LimitRangeItem(in *api.LimitRangeItem, out *LimitRangeItem, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.LimitRangeItem))(in) - } - out.Type = LimitType(in.Type) - if in.Max != nil { - out.Max = make(map[ResourceName]resource.Quantity) - for key, val := range in.Max { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Max[ResourceName(key)] = newVal - } - } else { - out.Max = nil - } - if in.Min != nil { - out.Min = make(map[ResourceName]resource.Quantity) - for key, val := range in.Min { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Min[ResourceName(key)] = newVal - } - } else { - out.Min = nil - } - if in.Default != nil { - out.Default = make(map[ResourceName]resource.Quantity) - for key, val := range in.Default { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Default[ResourceName(key)] = newVal - } - } else { - out.Default = nil - } - return nil -} - -func convert_api_LimitRangeList_To_v1beta3_LimitRangeList(in *api.LimitRangeList, out *LimitRangeList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.LimitRangeList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]LimitRange, len(in.Items)) - for i := range in.Items { - if err := convert_api_LimitRange_To_v1beta3_LimitRange(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_LimitRangeSpec_To_v1beta3_LimitRangeSpec(in *api.LimitRangeSpec, out *LimitRangeSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.LimitRangeSpec))(in) - } - if in.Limits != nil { - out.Limits = make([]LimitRangeItem, len(in.Limits)) - for i := range in.Limits { - if err := convert_api_LimitRangeItem_To_v1beta3_LimitRangeItem(&in.Limits[i], &out.Limits[i], s); err != nil { - return err - } - } - } else { - out.Limits = nil - } - return nil -} - -func convert_api_List_To_v1beta3_List(in *api.List, out *List, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.List))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if err := s.Convert(&in.Items, &out.Items, 0); err != nil { - return err - } - return nil -} - -func convert_api_ListMeta_To_v1beta3_ListMeta(in *api.ListMeta, out *ListMeta, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ListMeta))(in) - } - out.SelfLink = in.SelfLink - out.ResourceVersion = in.ResourceVersion - return nil -} - -func convert_api_ListOptions_To_v1beta3_ListOptions(in *api.ListOptions, out *ListOptions, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ListOptions))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := s.Convert(&in.LabelSelector, &out.LabelSelector, 0); err != nil { - return err - } - if err := s.Convert(&in.FieldSelector, &out.FieldSelector, 0); err != nil { - return err - } - out.Watch = in.Watch - out.ResourceVersion = in.ResourceVersion - return nil -} - -func convert_api_LoadBalancerIngress_To_v1beta3_LoadBalancerIngress(in *api.LoadBalancerIngress, out *LoadBalancerIngress, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.LoadBalancerIngress))(in) - } - out.IP = in.IP - out.Hostname = in.Hostname - return nil -} - -func convert_api_LoadBalancerStatus_To_v1beta3_LoadBalancerStatus(in *api.LoadBalancerStatus, out *LoadBalancerStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.LoadBalancerStatus))(in) - } - if in.Ingress != nil { - out.Ingress = make([]LoadBalancerIngress, len(in.Ingress)) - for i := range in.Ingress { - if err := convert_api_LoadBalancerIngress_To_v1beta3_LoadBalancerIngress(&in.Ingress[i], &out.Ingress[i], s); err != nil { - return err - } - } - } else { - out.Ingress = nil - } - return nil -} - -func convert_api_LocalObjectReference_To_v1beta3_LocalObjectReference(in *api.LocalObjectReference, out *LocalObjectReference, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.LocalObjectReference))(in) - } - out.Name = in.Name - return nil -} - -func convert_api_NFSVolumeSource_To_v1beta3_NFSVolumeSource(in *api.NFSVolumeSource, out *NFSVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.NFSVolumeSource))(in) - } - out.Server = in.Server - out.Path = in.Path - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_api_Namespace_To_v1beta3_Namespace(in *api.Namespace, out *Namespace, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Namespace))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_NamespaceSpec_To_v1beta3_NamespaceSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_api_NamespaceStatus_To_v1beta3_NamespaceStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_api_NamespaceList_To_v1beta3_NamespaceList(in *api.NamespaceList, out *NamespaceList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.NamespaceList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Namespace, len(in.Items)) - for i := range in.Items { - if err := convert_api_Namespace_To_v1beta3_Namespace(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_NamespaceSpec_To_v1beta3_NamespaceSpec(in *api.NamespaceSpec, out *NamespaceSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.NamespaceSpec))(in) - } - if in.Finalizers != nil { - out.Finalizers = make([]FinalizerName, len(in.Finalizers)) - for i := range in.Finalizers { - out.Finalizers[i] = FinalizerName(in.Finalizers[i]) - } - } else { - out.Finalizers = nil - } - return nil -} - -func convert_api_NamespaceStatus_To_v1beta3_NamespaceStatus(in *api.NamespaceStatus, out *NamespaceStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.NamespaceStatus))(in) - } - out.Phase = NamespacePhase(in.Phase) - return nil -} - -func convert_api_Node_To_v1beta3_Node(in *api.Node, out *Node, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Node))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_NodeSpec_To_v1beta3_NodeSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_api_NodeStatus_To_v1beta3_NodeStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_api_NodeAddress_To_v1beta3_NodeAddress(in *api.NodeAddress, out *NodeAddress, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.NodeAddress))(in) - } - out.Type = NodeAddressType(in.Type) - out.Address = in.Address - return nil -} - -func convert_api_NodeCondition_To_v1beta3_NodeCondition(in *api.NodeCondition, out *NodeCondition, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.NodeCondition))(in) - } - out.Type = NodeConditionType(in.Type) - out.Status = ConditionStatus(in.Status) - if err := s.Convert(&in.LastHeartbeatTime, &out.LastHeartbeatTime, 0); err != nil { - return err - } - if err := s.Convert(&in.LastTransitionTime, &out.LastTransitionTime, 0); err != nil { - return err - } - out.Reason = in.Reason - out.Message = in.Message - return nil -} - -func convert_api_NodeList_To_v1beta3_NodeList(in *api.NodeList, out *NodeList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.NodeList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Node, len(in.Items)) - for i := range in.Items { - if err := convert_api_Node_To_v1beta3_Node(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_NodeSpec_To_v1beta3_NodeSpec(in *api.NodeSpec, out *NodeSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.NodeSpec))(in) - } - out.PodCIDR = in.PodCIDR - out.ExternalID = in.ExternalID - out.ProviderID = in.ProviderID - out.Unschedulable = in.Unschedulable - return nil -} - -func convert_api_NodeStatus_To_v1beta3_NodeStatus(in *api.NodeStatus, out *NodeStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.NodeStatus))(in) - } - if in.Capacity != nil { - out.Capacity = make(map[ResourceName]resource.Quantity) - for key, val := range in.Capacity { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Capacity[ResourceName(key)] = newVal - } - } else { - out.Capacity = nil - } - out.Phase = NodePhase(in.Phase) - if in.Conditions != nil { - out.Conditions = make([]NodeCondition, len(in.Conditions)) - for i := range in.Conditions { - if err := convert_api_NodeCondition_To_v1beta3_NodeCondition(&in.Conditions[i], &out.Conditions[i], s); err != nil { - return err - } - } - } else { - out.Conditions = nil - } - if in.Addresses != nil { - out.Addresses = make([]NodeAddress, len(in.Addresses)) - for i := range in.Addresses { - if err := convert_api_NodeAddress_To_v1beta3_NodeAddress(&in.Addresses[i], &out.Addresses[i], s); err != nil { - return err - } - } - } else { - out.Addresses = nil - } - if err := convert_api_NodeSystemInfo_To_v1beta3_NodeSystemInfo(&in.NodeInfo, &out.NodeInfo, s); err != nil { - return err - } - return nil -} - -func convert_api_NodeSystemInfo_To_v1beta3_NodeSystemInfo(in *api.NodeSystemInfo, out *NodeSystemInfo, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.NodeSystemInfo))(in) - } - out.MachineID = in.MachineID - out.SystemUUID = in.SystemUUID - out.BootID = in.BootID - out.KernelVersion = in.KernelVersion - out.OsImage = in.OsImage - out.ContainerRuntimeVersion = in.ContainerRuntimeVersion - out.KubeletVersion = in.KubeletVersion - out.KubeProxyVersion = in.KubeProxyVersion - return nil -} - -func convert_api_ObjectFieldSelector_To_v1beta3_ObjectFieldSelector(in *api.ObjectFieldSelector, out *ObjectFieldSelector, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ObjectFieldSelector))(in) - } - out.APIVersion = in.APIVersion - out.FieldPath = in.FieldPath - return nil -} - -func convert_api_ObjectMeta_To_v1beta3_ObjectMeta(in *api.ObjectMeta, out *ObjectMeta, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ObjectMeta))(in) - } - out.Name = in.Name - out.GenerateName = in.GenerateName - out.Namespace = in.Namespace - out.SelfLink = in.SelfLink - out.UID = in.UID - out.ResourceVersion = in.ResourceVersion - out.Generation = in.Generation - if err := s.Convert(&in.CreationTimestamp, &out.CreationTimestamp, 0); err != nil { - return err - } - if in.DeletionTimestamp != nil { - if err := s.Convert(&in.DeletionTimestamp, &out.DeletionTimestamp, 0); err != nil { - return err - } - } else { - out.DeletionTimestamp = nil - } - if in.Labels != nil { - out.Labels = make(map[string]string) - for key, val := range in.Labels { - out.Labels[key] = val - } - } else { - out.Labels = nil - } - if in.Annotations != nil { - out.Annotations = make(map[string]string) - for key, val := range in.Annotations { - out.Annotations[key] = val - } - } else { - out.Annotations = nil - } - return nil -} - -func convert_api_ObjectReference_To_v1beta3_ObjectReference(in *api.ObjectReference, out *ObjectReference, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ObjectReference))(in) - } - out.Kind = in.Kind - out.Namespace = in.Namespace - out.Name = in.Name - out.UID = in.UID - out.APIVersion = in.APIVersion - out.ResourceVersion = in.ResourceVersion - out.FieldPath = in.FieldPath - return nil -} - -func convert_api_PersistentVolume_To_v1beta3_PersistentVolume(in *api.PersistentVolume, out *PersistentVolume, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PersistentVolume))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_PersistentVolumeSpec_To_v1beta3_PersistentVolumeSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_api_PersistentVolumeStatus_To_v1beta3_PersistentVolumeStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_api_PersistentVolumeClaim_To_v1beta3_PersistentVolumeClaim(in *api.PersistentVolumeClaim, out *PersistentVolumeClaim, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PersistentVolumeClaim))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_PersistentVolumeClaimSpec_To_v1beta3_PersistentVolumeClaimSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_api_PersistentVolumeClaimStatus_To_v1beta3_PersistentVolumeClaimStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_api_PersistentVolumeClaimList_To_v1beta3_PersistentVolumeClaimList(in *api.PersistentVolumeClaimList, out *PersistentVolumeClaimList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PersistentVolumeClaimList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]PersistentVolumeClaim, len(in.Items)) - for i := range in.Items { - if err := convert_api_PersistentVolumeClaim_To_v1beta3_PersistentVolumeClaim(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_PersistentVolumeClaimSpec_To_v1beta3_PersistentVolumeClaimSpec(in *api.PersistentVolumeClaimSpec, out *PersistentVolumeClaimSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PersistentVolumeClaimSpec))(in) - } - if in.AccessModes != nil { - out.AccessModes = make([]PersistentVolumeAccessMode, len(in.AccessModes)) - for i := range in.AccessModes { - out.AccessModes[i] = PersistentVolumeAccessMode(in.AccessModes[i]) - } - } else { - out.AccessModes = nil - } - if err := convert_api_ResourceRequirements_To_v1beta3_ResourceRequirements(&in.Resources, &out.Resources, s); err != nil { - return err - } - out.VolumeName = in.VolumeName - return nil -} - -func convert_api_PersistentVolumeClaimStatus_To_v1beta3_PersistentVolumeClaimStatus(in *api.PersistentVolumeClaimStatus, out *PersistentVolumeClaimStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PersistentVolumeClaimStatus))(in) - } - out.Phase = PersistentVolumeClaimPhase(in.Phase) - if in.AccessModes != nil { - out.AccessModes = make([]PersistentVolumeAccessMode, len(in.AccessModes)) - for i := range in.AccessModes { - out.AccessModes[i] = PersistentVolumeAccessMode(in.AccessModes[i]) - } - } else { - out.AccessModes = nil - } - if in.Capacity != nil { - out.Capacity = make(map[ResourceName]resource.Quantity) - for key, val := range in.Capacity { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Capacity[ResourceName(key)] = newVal - } - } else { - out.Capacity = nil - } - return nil -} - -func convert_api_PersistentVolumeClaimVolumeSource_To_v1beta3_PersistentVolumeClaimVolumeSource(in *api.PersistentVolumeClaimVolumeSource, out *PersistentVolumeClaimVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PersistentVolumeClaimVolumeSource))(in) - } - out.ClaimName = in.ClaimName - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_api_PersistentVolumeList_To_v1beta3_PersistentVolumeList(in *api.PersistentVolumeList, out *PersistentVolumeList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PersistentVolumeList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]PersistentVolume, len(in.Items)) - for i := range in.Items { - if err := convert_api_PersistentVolume_To_v1beta3_PersistentVolume(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_PersistentVolumeSource_To_v1beta3_PersistentVolumeSource(in *api.PersistentVolumeSource, out *PersistentVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PersistentVolumeSource))(in) - } - if in.GCEPersistentDisk != nil { - out.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource) - if err := convert_api_GCEPersistentDiskVolumeSource_To_v1beta3_GCEPersistentDiskVolumeSource(in.GCEPersistentDisk, out.GCEPersistentDisk, s); err != nil { - return err - } - } else { - out.GCEPersistentDisk = nil - } - if in.AWSElasticBlockStore != nil { - out.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource) - if err := convert_api_AWSElasticBlockStoreVolumeSource_To_v1beta3_AWSElasticBlockStoreVolumeSource(in.AWSElasticBlockStore, out.AWSElasticBlockStore, s); err != nil { - return err - } - } else { - out.AWSElasticBlockStore = nil - } - if in.HostPath != nil { - out.HostPath = new(HostPathVolumeSource) - if err := convert_api_HostPathVolumeSource_To_v1beta3_HostPathVolumeSource(in.HostPath, out.HostPath, s); err != nil { - return err - } - } else { - out.HostPath = nil - } - if in.Glusterfs != nil { - out.Glusterfs = new(GlusterfsVolumeSource) - if err := convert_api_GlusterfsVolumeSource_To_v1beta3_GlusterfsVolumeSource(in.Glusterfs, out.Glusterfs, s); err != nil { - return err - } - } else { - out.Glusterfs = nil - } - if in.NFS != nil { - out.NFS = new(NFSVolumeSource) - if err := convert_api_NFSVolumeSource_To_v1beta3_NFSVolumeSource(in.NFS, out.NFS, s); err != nil { - return err - } - } else { - out.NFS = nil - } - if in.RBD != nil { - out.RBD = new(RBDVolumeSource) - if err := convert_api_RBDVolumeSource_To_v1beta3_RBDVolumeSource(in.RBD, out.RBD, s); err != nil { - return err - } - } else { - out.RBD = nil - } - if in.ISCSI != nil { - out.ISCSI = new(ISCSIVolumeSource) - if err := convert_api_ISCSIVolumeSource_To_v1beta3_ISCSIVolumeSource(in.ISCSI, out.ISCSI, s); err != nil { - return err - } - } else { - out.ISCSI = nil - } - return nil -} - -func convert_api_PersistentVolumeSpec_To_v1beta3_PersistentVolumeSpec(in *api.PersistentVolumeSpec, out *PersistentVolumeSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PersistentVolumeSpec))(in) - } - if in.Capacity != nil { - out.Capacity = make(map[ResourceName]resource.Quantity) - for key, val := range in.Capacity { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Capacity[ResourceName(key)] = newVal - } - } else { - out.Capacity = nil - } - if err := convert_api_PersistentVolumeSource_To_v1beta3_PersistentVolumeSource(&in.PersistentVolumeSource, &out.PersistentVolumeSource, s); err != nil { - return err - } - if in.AccessModes != nil { - out.AccessModes = make([]PersistentVolumeAccessMode, len(in.AccessModes)) - for i := range in.AccessModes { - out.AccessModes[i] = PersistentVolumeAccessMode(in.AccessModes[i]) - } - } else { - out.AccessModes = nil - } - if in.ClaimRef != nil { - out.ClaimRef = new(ObjectReference) - if err := convert_api_ObjectReference_To_v1beta3_ObjectReference(in.ClaimRef, out.ClaimRef, s); err != nil { - return err - } - } else { - out.ClaimRef = nil - } - out.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimPolicy(in.PersistentVolumeReclaimPolicy) - return nil -} - -func convert_api_PersistentVolumeStatus_To_v1beta3_PersistentVolumeStatus(in *api.PersistentVolumeStatus, out *PersistentVolumeStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PersistentVolumeStatus))(in) - } - out.Phase = PersistentVolumePhase(in.Phase) - out.Message = in.Message - out.Reason = in.Reason - return nil -} - -func convert_api_Pod_To_v1beta3_Pod(in *api.Pod, out *Pod, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Pod))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_PodSpec_To_v1beta3_PodSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_api_PodStatus_To_v1beta3_PodStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_api_PodCondition_To_v1beta3_PodCondition(in *api.PodCondition, out *PodCondition, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PodCondition))(in) - } - out.Type = PodConditionType(in.Type) - out.Status = ConditionStatus(in.Status) - return nil -} - -func convert_api_PodExecOptions_To_v1beta3_PodExecOptions(in *api.PodExecOptions, out *PodExecOptions, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PodExecOptions))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - out.Stdin = in.Stdin - out.Stdout = in.Stdout - out.Stderr = in.Stderr - out.TTY = in.TTY - out.Container = in.Container - if in.Command != nil { - out.Command = make([]string, len(in.Command)) - for i := range in.Command { - out.Command[i] = in.Command[i] - } - } else { - out.Command = nil - } - return nil -} - -func convert_api_PodList_To_v1beta3_PodList(in *api.PodList, out *PodList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PodList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Pod, len(in.Items)) - for i := range in.Items { - if err := convert_api_Pod_To_v1beta3_Pod(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_PodLogOptions_To_v1beta3_PodLogOptions(in *api.PodLogOptions, out *PodLogOptions, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PodLogOptions))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - out.Container = in.Container - out.Follow = in.Follow - out.Previous = in.Previous - return nil -} - -func convert_api_PodProxyOptions_To_v1beta3_PodProxyOptions(in *api.PodProxyOptions, out *PodProxyOptions, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PodProxyOptions))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - out.Path = in.Path - return nil -} - -func convert_api_PodStatus_To_v1beta3_PodStatus(in *api.PodStatus, out *PodStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PodStatus))(in) - } - out.Phase = PodPhase(in.Phase) - if in.Conditions != nil { - out.Conditions = make([]PodCondition, len(in.Conditions)) - for i := range in.Conditions { - if err := convert_api_PodCondition_To_v1beta3_PodCondition(&in.Conditions[i], &out.Conditions[i], s); err != nil { - return err - } - } - } else { - out.Conditions = nil - } - out.Message = in.Message - out.Reason = in.Reason - out.HostIP = in.HostIP - out.PodIP = in.PodIP - if in.StartTime != nil { - if err := s.Convert(&in.StartTime, &out.StartTime, 0); err != nil { - return err - } - } else { - out.StartTime = nil - } - if in.ContainerStatuses != nil { - out.ContainerStatuses = make([]ContainerStatus, len(in.ContainerStatuses)) - for i := range in.ContainerStatuses { - if err := convert_api_ContainerStatus_To_v1beta3_ContainerStatus(&in.ContainerStatuses[i], &out.ContainerStatuses[i], s); err != nil { - return err - } - } - } else { - out.ContainerStatuses = nil - } - return nil -} - -func convert_api_PodStatusResult_To_v1beta3_PodStatusResult(in *api.PodStatusResult, out *PodStatusResult, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PodStatusResult))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_PodStatus_To_v1beta3_PodStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_api_PodTemplate_To_v1beta3_PodTemplate(in *api.PodTemplate, out *PodTemplate, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PodTemplate))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_PodTemplateSpec_To_v1beta3_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { - return err - } - return nil -} - -func convert_api_PodTemplateList_To_v1beta3_PodTemplateList(in *api.PodTemplateList, out *PodTemplateList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PodTemplateList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]PodTemplate, len(in.Items)) - for i := range in.Items { - if err := convert_api_PodTemplate_To_v1beta3_PodTemplate(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_PodTemplateSpec_To_v1beta3_PodTemplateSpec(in *api.PodTemplateSpec, out *PodTemplateSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.PodTemplateSpec))(in) - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_PodSpec_To_v1beta3_PodSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - return nil -} - -func convert_api_Probe_To_v1beta3_Probe(in *api.Probe, out *Probe, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Probe))(in) - } - if err := convert_api_Handler_To_v1beta3_Handler(&in.Handler, &out.Handler, s); err != nil { - return err - } - out.InitialDelaySeconds = in.InitialDelaySeconds - out.TimeoutSeconds = in.TimeoutSeconds - return nil -} - -func convert_api_RBDVolumeSource_To_v1beta3_RBDVolumeSource(in *api.RBDVolumeSource, out *RBDVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.RBDVolumeSource))(in) - } - if in.CephMonitors != nil { - out.CephMonitors = make([]string, len(in.CephMonitors)) - for i := range in.CephMonitors { - out.CephMonitors[i] = in.CephMonitors[i] - } - } else { - out.CephMonitors = nil - } - out.RBDImage = in.RBDImage - out.FSType = in.FSType - out.RBDPool = in.RBDPool - out.RadosUser = in.RadosUser - out.Keyring = in.Keyring - if in.SecretRef != nil { - out.SecretRef = new(LocalObjectReference) - if err := convert_api_LocalObjectReference_To_v1beta3_LocalObjectReference(in.SecretRef, out.SecretRef, s); err != nil { - return err - } - } else { - out.SecretRef = nil - } - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_api_RangeAllocation_To_v1beta3_RangeAllocation(in *api.RangeAllocation, out *RangeAllocation, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.RangeAllocation))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - out.Range = in.Range - if err := s.Convert(&in.Data, &out.Data, 0); err != nil { - return err - } - return nil -} - -func convert_api_ReplicationController_To_v1beta3_ReplicationController(in *api.ReplicationController, out *ReplicationController, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ReplicationController))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_ReplicationControllerSpec_To_v1beta3_ReplicationControllerSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_api_ReplicationControllerStatus_To_v1beta3_ReplicationControllerStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_api_ReplicationControllerList_To_v1beta3_ReplicationControllerList(in *api.ReplicationControllerList, out *ReplicationControllerList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ReplicationControllerList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]ReplicationController, len(in.Items)) - for i := range in.Items { - if err := convert_api_ReplicationController_To_v1beta3_ReplicationController(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_ReplicationControllerStatus_To_v1beta3_ReplicationControllerStatus(in *api.ReplicationControllerStatus, out *ReplicationControllerStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ReplicationControllerStatus))(in) - } - out.Replicas = in.Replicas - out.ObservedGeneration = in.ObservedGeneration - return nil -} - -func convert_api_ResourceQuota_To_v1beta3_ResourceQuota(in *api.ResourceQuota, out *ResourceQuota, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ResourceQuota))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_ResourceQuotaSpec_To_v1beta3_ResourceQuotaSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_api_ResourceQuotaStatus_To_v1beta3_ResourceQuotaStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_api_ResourceQuotaList_To_v1beta3_ResourceQuotaList(in *api.ResourceQuotaList, out *ResourceQuotaList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ResourceQuotaList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]ResourceQuota, len(in.Items)) - for i := range in.Items { - if err := convert_api_ResourceQuota_To_v1beta3_ResourceQuota(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_ResourceQuotaSpec_To_v1beta3_ResourceQuotaSpec(in *api.ResourceQuotaSpec, out *ResourceQuotaSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ResourceQuotaSpec))(in) - } - if in.Hard != nil { - out.Hard = make(map[ResourceName]resource.Quantity) - for key, val := range in.Hard { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Hard[ResourceName(key)] = newVal - } - } else { - out.Hard = nil - } - return nil -} - -func convert_api_ResourceQuotaStatus_To_v1beta3_ResourceQuotaStatus(in *api.ResourceQuotaStatus, out *ResourceQuotaStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ResourceQuotaStatus))(in) - } - if in.Hard != nil { - out.Hard = make(map[ResourceName]resource.Quantity) - for key, val := range in.Hard { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Hard[ResourceName(key)] = newVal - } - } else { - out.Hard = nil - } - if in.Used != nil { - out.Used = make(map[ResourceName]resource.Quantity) - for key, val := range in.Used { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Used[ResourceName(key)] = newVal - } - } else { - out.Used = nil - } - return nil -} - -func convert_api_ResourceRequirements_To_v1beta3_ResourceRequirements(in *api.ResourceRequirements, out *ResourceRequirements, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ResourceRequirements))(in) - } - if in.Limits != nil { - out.Limits = make(map[ResourceName]resource.Quantity) - for key, val := range in.Limits { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Limits[ResourceName(key)] = newVal - } - } else { - out.Limits = nil - } - if in.Requests != nil { - out.Requests = make(map[ResourceName]resource.Quantity) - for key, val := range in.Requests { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Requests[ResourceName(key)] = newVal - } - } else { - out.Requests = nil - } - return nil -} - -func convert_api_SELinuxOptions_To_v1beta3_SELinuxOptions(in *api.SELinuxOptions, out *SELinuxOptions, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.SELinuxOptions))(in) - } - out.User = in.User - out.Role = in.Role - out.Type = in.Type - out.Level = in.Level - return nil -} - -func convert_api_Secret_To_v1beta3_Secret(in *api.Secret, out *Secret, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Secret))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if in.Data != nil { - out.Data = make(map[string][]uint8) - for key, val := range in.Data { - newVal := []uint8{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Data[key] = newVal - } - } else { - out.Data = nil - } - out.Type = SecretType(in.Type) - return nil -} - -func convert_api_SecretList_To_v1beta3_SecretList(in *api.SecretList, out *SecretList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.SecretList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Secret, len(in.Items)) - for i := range in.Items { - if err := convert_api_Secret_To_v1beta3_Secret(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_SecretVolumeSource_To_v1beta3_SecretVolumeSource(in *api.SecretVolumeSource, out *SecretVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.SecretVolumeSource))(in) - } - out.SecretName = in.SecretName - return nil -} - -func convert_api_SecurityContext_To_v1beta3_SecurityContext(in *api.SecurityContext, out *SecurityContext, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.SecurityContext))(in) - } - if in.Capabilities != nil { - out.Capabilities = new(Capabilities) - if err := convert_api_Capabilities_To_v1beta3_Capabilities(in.Capabilities, out.Capabilities, s); err != nil { - return err - } - } else { - out.Capabilities = nil - } - if in.Privileged != nil { - out.Privileged = new(bool) - *out.Privileged = *in.Privileged - } else { - out.Privileged = nil - } - if in.SELinuxOptions != nil { - out.SELinuxOptions = new(SELinuxOptions) - if err := convert_api_SELinuxOptions_To_v1beta3_SELinuxOptions(in.SELinuxOptions, out.SELinuxOptions, s); err != nil { - return err - } - } else { - out.SELinuxOptions = nil - } - if in.RunAsUser != nil { - out.RunAsUser = new(int64) - *out.RunAsUser = *in.RunAsUser - } else { - out.RunAsUser = nil - } - return nil -} - -func convert_api_SerializedReference_To_v1beta3_SerializedReference(in *api.SerializedReference, out *SerializedReference, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.SerializedReference))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectReference_To_v1beta3_ObjectReference(&in.Reference, &out.Reference, s); err != nil { - return err - } - return nil -} - -func convert_api_Service_To_v1beta3_Service(in *api.Service, out *Service, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Service))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_api_ServiceSpec_To_v1beta3_ServiceSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_api_ServiceStatus_To_v1beta3_ServiceStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_api_ServiceAccount_To_v1beta3_ServiceAccount(in *api.ServiceAccount, out *ServiceAccount, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ServiceAccount))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ObjectMeta_To_v1beta3_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if in.Secrets != nil { - out.Secrets = make([]ObjectReference, len(in.Secrets)) - for i := range in.Secrets { - if err := convert_api_ObjectReference_To_v1beta3_ObjectReference(&in.Secrets[i], &out.Secrets[i], s); err != nil { - return err - } - } - } else { - out.Secrets = nil - } - if in.ImagePullSecrets != nil { - out.ImagePullSecrets = make([]LocalObjectReference, len(in.ImagePullSecrets)) - for i := range in.ImagePullSecrets { - if err := convert_api_LocalObjectReference_To_v1beta3_LocalObjectReference(&in.ImagePullSecrets[i], &out.ImagePullSecrets[i], s); err != nil { - return err - } - } - } else { - out.ImagePullSecrets = nil - } - return nil -} - -func convert_api_ServiceAccountList_To_v1beta3_ServiceAccountList(in *api.ServiceAccountList, out *ServiceAccountList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ServiceAccountList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]ServiceAccount, len(in.Items)) - for i := range in.Items { - if err := convert_api_ServiceAccount_To_v1beta3_ServiceAccount(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_ServiceList_To_v1beta3_ServiceList(in *api.ServiceList, out *ServiceList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ServiceList))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Service, len(in.Items)) - for i := range in.Items { - if err := convert_api_Service_To_v1beta3_Service(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_api_ServicePort_To_v1beta3_ServicePort(in *api.ServicePort, out *ServicePort, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ServicePort))(in) - } - out.Name = in.Name - out.Protocol = Protocol(in.Protocol) - out.Port = in.Port - if err := s.Convert(&in.TargetPort, &out.TargetPort, 0); err != nil { - return err - } - out.NodePort = in.NodePort - return nil -} - -func convert_api_ServiceStatus_To_v1beta3_ServiceStatus(in *api.ServiceStatus, out *ServiceStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.ServiceStatus))(in) - } - if err := convert_api_LoadBalancerStatus_To_v1beta3_LoadBalancerStatus(&in.LoadBalancer, &out.LoadBalancer, s); err != nil { - return err - } - return nil -} - -func convert_api_Status_To_v1beta3_Status(in *api.Status, out *Status, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Status))(in) - } - if err := convert_api_TypeMeta_To_v1beta3_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_api_ListMeta_To_v1beta3_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - out.Status = in.Status - out.Message = in.Message - out.Reason = StatusReason(in.Reason) - if in.Details != nil { - out.Details = new(StatusDetails) - if err := convert_api_StatusDetails_To_v1beta3_StatusDetails(in.Details, out.Details, s); err != nil { - return err - } - } else { - out.Details = nil - } - out.Code = in.Code - return nil -} - -func convert_api_TCPSocketAction_To_v1beta3_TCPSocketAction(in *api.TCPSocketAction, out *TCPSocketAction, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.TCPSocketAction))(in) - } - if err := s.Convert(&in.Port, &out.Port, 0); err != nil { - return err - } - return nil -} - -func convert_api_TypeMeta_To_v1beta3_TypeMeta(in *api.TypeMeta, out *TypeMeta, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.TypeMeta))(in) - } - out.Kind = in.Kind - out.APIVersion = in.APIVersion - return nil -} - -func convert_api_Volume_To_v1beta3_Volume(in *api.Volume, out *Volume, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.Volume))(in) - } - out.Name = in.Name - if err := convert_api_VolumeSource_To_v1beta3_VolumeSource(&in.VolumeSource, &out.VolumeSource, s); err != nil { - return err - } - return nil -} - -func convert_api_VolumeMount_To_v1beta3_VolumeMount(in *api.VolumeMount, out *VolumeMount, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.VolumeMount))(in) - } - out.Name = in.Name - out.ReadOnly = in.ReadOnly - out.MountPath = in.MountPath - return nil -} - -func convert_api_VolumeSource_To_v1beta3_VolumeSource(in *api.VolumeSource, out *VolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*api.VolumeSource))(in) - } - if in.HostPath != nil { - out.HostPath = new(HostPathVolumeSource) - if err := convert_api_HostPathVolumeSource_To_v1beta3_HostPathVolumeSource(in.HostPath, out.HostPath, s); err != nil { - return err - } - } else { - out.HostPath = nil - } - if in.EmptyDir != nil { - out.EmptyDir = new(EmptyDirVolumeSource) - if err := convert_api_EmptyDirVolumeSource_To_v1beta3_EmptyDirVolumeSource(in.EmptyDir, out.EmptyDir, s); err != nil { - return err - } - } else { - out.EmptyDir = nil - } - if in.GCEPersistentDisk != nil { - out.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource) - if err := convert_api_GCEPersistentDiskVolumeSource_To_v1beta3_GCEPersistentDiskVolumeSource(in.GCEPersistentDisk, out.GCEPersistentDisk, s); err != nil { - return err - } - } else { - out.GCEPersistentDisk = nil - } - if in.AWSElasticBlockStore != nil { - out.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource) - if err := convert_api_AWSElasticBlockStoreVolumeSource_To_v1beta3_AWSElasticBlockStoreVolumeSource(in.AWSElasticBlockStore, out.AWSElasticBlockStore, s); err != nil { - return err - } - } else { - out.AWSElasticBlockStore = nil - } - if in.GitRepo != nil { - out.GitRepo = new(GitRepoVolumeSource) - if err := convert_api_GitRepoVolumeSource_To_v1beta3_GitRepoVolumeSource(in.GitRepo, out.GitRepo, s); err != nil { - return err - } - } else { - out.GitRepo = nil - } - if in.Secret != nil { - out.Secret = new(SecretVolumeSource) - if err := convert_api_SecretVolumeSource_To_v1beta3_SecretVolumeSource(in.Secret, out.Secret, s); err != nil { - return err - } - } else { - out.Secret = nil - } - if in.NFS != nil { - out.NFS = new(NFSVolumeSource) - if err := convert_api_NFSVolumeSource_To_v1beta3_NFSVolumeSource(in.NFS, out.NFS, s); err != nil { - return err - } - } else { - out.NFS = nil - } - if in.ISCSI != nil { - out.ISCSI = new(ISCSIVolumeSource) - if err := convert_api_ISCSIVolumeSource_To_v1beta3_ISCSIVolumeSource(in.ISCSI, out.ISCSI, s); err != nil { - return err - } - } else { - out.ISCSI = nil - } - if in.Glusterfs != nil { - out.Glusterfs = new(GlusterfsVolumeSource) - if err := convert_api_GlusterfsVolumeSource_To_v1beta3_GlusterfsVolumeSource(in.Glusterfs, out.Glusterfs, s); err != nil { - return err - } - } else { - out.Glusterfs = nil - } - if in.PersistentVolumeClaim != nil { - out.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource) - if err := convert_api_PersistentVolumeClaimVolumeSource_To_v1beta3_PersistentVolumeClaimVolumeSource(in.PersistentVolumeClaim, out.PersistentVolumeClaim, s); err != nil { - return err - } - } else { - out.PersistentVolumeClaim = nil - } - if in.RBD != nil { - out.RBD = new(RBDVolumeSource) - if err := convert_api_RBDVolumeSource_To_v1beta3_RBDVolumeSource(in.RBD, out.RBD, s); err != nil { - return err - } - } else { - out.RBD = nil - } - return nil -} - -func convert_v1beta3_AWSElasticBlockStoreVolumeSource_To_api_AWSElasticBlockStoreVolumeSource(in *AWSElasticBlockStoreVolumeSource, out *api.AWSElasticBlockStoreVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*AWSElasticBlockStoreVolumeSource))(in) - } - out.VolumeID = in.VolumeID - out.FSType = in.FSType - out.Partition = in.Partition - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_v1beta3_Binding_To_api_Binding(in *Binding, out *api.Binding, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Binding))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectReference_To_api_ObjectReference(&in.Target, &out.Target, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_Capabilities_To_api_Capabilities(in *Capabilities, out *api.Capabilities, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Capabilities))(in) - } - if in.Add != nil { - out.Add = make([]api.Capability, len(in.Add)) - for i := range in.Add { - out.Add[i] = api.Capability(in.Add[i]) - } - } else { - out.Add = nil - } - if in.Drop != nil { - out.Drop = make([]api.Capability, len(in.Drop)) - for i := range in.Drop { - out.Drop[i] = api.Capability(in.Drop[i]) - } - } else { - out.Drop = nil - } - return nil -} - -func convert_v1beta3_ComponentCondition_To_api_ComponentCondition(in *ComponentCondition, out *api.ComponentCondition, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ComponentCondition))(in) - } - out.Type = api.ComponentConditionType(in.Type) - out.Status = api.ConditionStatus(in.Status) - out.Message = in.Message - out.Error = in.Error - return nil -} - -func convert_v1beta3_ComponentStatus_To_api_ComponentStatus(in *ComponentStatus, out *api.ComponentStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ComponentStatus))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if in.Conditions != nil { - out.Conditions = make([]api.ComponentCondition, len(in.Conditions)) - for i := range in.Conditions { - if err := convert_v1beta3_ComponentCondition_To_api_ComponentCondition(&in.Conditions[i], &out.Conditions[i], s); err != nil { - return err - } - } - } else { - out.Conditions = nil - } - return nil -} - -func convert_v1beta3_ComponentStatusList_To_api_ComponentStatusList(in *ComponentStatusList, out *api.ComponentStatusList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ComponentStatusList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.ComponentStatus, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_ComponentStatus_To_api_ComponentStatus(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_ContainerPort_To_api_ContainerPort(in *ContainerPort, out *api.ContainerPort, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ContainerPort))(in) - } - out.Name = in.Name - out.HostPort = in.HostPort - out.ContainerPort = in.ContainerPort - out.Protocol = api.Protocol(in.Protocol) - out.HostIP = in.HostIP - return nil -} - -func convert_v1beta3_ContainerStateRunning_To_api_ContainerStateRunning(in *ContainerStateRunning, out *api.ContainerStateRunning, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ContainerStateRunning))(in) - } - if err := s.Convert(&in.StartedAt, &out.StartedAt, 0); err != nil { - return err - } - return nil -} - -func convert_v1beta3_ContainerStateWaiting_To_api_ContainerStateWaiting(in *ContainerStateWaiting, out *api.ContainerStateWaiting, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ContainerStateWaiting))(in) - } - out.Reason = in.Reason - return nil -} - -func convert_v1beta3_ContainerStatus_To_api_ContainerStatus(in *ContainerStatus, out *api.ContainerStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ContainerStatus))(in) - } - out.Name = in.Name - if err := convert_v1beta3_ContainerState_To_api_ContainerState(&in.State, &out.State, s); err != nil { - return err - } - if err := convert_v1beta3_ContainerState_To_api_ContainerState(&in.LastTerminationState, &out.LastTerminationState, s); err != nil { - return err - } - out.Ready = in.Ready - out.RestartCount = in.RestartCount - out.Image = in.Image - out.ImageID = in.ImageID - out.ContainerID = in.ContainerID - return nil -} - -func convert_v1beta3_DeleteOptions_To_api_DeleteOptions(in *DeleteOptions, out *api.DeleteOptions, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*DeleteOptions))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if in.GracePeriodSeconds != nil { - out.GracePeriodSeconds = new(int64) - *out.GracePeriodSeconds = *in.GracePeriodSeconds - } else { - out.GracePeriodSeconds = nil - } - return nil -} - -func convert_v1beta3_EmptyDirVolumeSource_To_api_EmptyDirVolumeSource(in *EmptyDirVolumeSource, out *api.EmptyDirVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*EmptyDirVolumeSource))(in) - } - out.Medium = api.StorageMedium(in.Medium) - return nil -} - -func convert_v1beta3_EndpointAddress_To_api_EndpointAddress(in *EndpointAddress, out *api.EndpointAddress, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*EndpointAddress))(in) - } - out.IP = in.IP - if in.TargetRef != nil { - out.TargetRef = new(api.ObjectReference) - if err := convert_v1beta3_ObjectReference_To_api_ObjectReference(in.TargetRef, out.TargetRef, s); err != nil { - return err - } - } else { - out.TargetRef = nil - } - return nil -} - -func convert_v1beta3_EndpointPort_To_api_EndpointPort(in *EndpointPort, out *api.EndpointPort, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*EndpointPort))(in) - } - out.Name = in.Name - out.Port = in.Port - out.Protocol = api.Protocol(in.Protocol) - return nil -} - -func convert_v1beta3_EndpointSubset_To_api_EndpointSubset(in *EndpointSubset, out *api.EndpointSubset, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*EndpointSubset))(in) - } - if in.Addresses != nil { - out.Addresses = make([]api.EndpointAddress, len(in.Addresses)) - for i := range in.Addresses { - if err := convert_v1beta3_EndpointAddress_To_api_EndpointAddress(&in.Addresses[i], &out.Addresses[i], s); err != nil { - return err - } - } - } else { - out.Addresses = nil - } - if in.Ports != nil { - out.Ports = make([]api.EndpointPort, len(in.Ports)) - for i := range in.Ports { - if err := convert_v1beta3_EndpointPort_To_api_EndpointPort(&in.Ports[i], &out.Ports[i], s); err != nil { - return err - } - } - } else { - out.Ports = nil - } - return nil -} - -func convert_v1beta3_Endpoints_To_api_Endpoints(in *Endpoints, out *api.Endpoints, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Endpoints))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if in.Subsets != nil { - out.Subsets = make([]api.EndpointSubset, len(in.Subsets)) - for i := range in.Subsets { - if err := convert_v1beta3_EndpointSubset_To_api_EndpointSubset(&in.Subsets[i], &out.Subsets[i], s); err != nil { - return err - } - } - } else { - out.Subsets = nil - } - return nil -} - -func convert_v1beta3_EndpointsList_To_api_EndpointsList(in *EndpointsList, out *api.EndpointsList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*EndpointsList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.Endpoints, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_Endpoints_To_api_Endpoints(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_EnvVar_To_api_EnvVar(in *EnvVar, out *api.EnvVar, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*EnvVar))(in) - } - out.Name = in.Name - out.Value = in.Value - if in.ValueFrom != nil { - out.ValueFrom = new(api.EnvVarSource) - if err := convert_v1beta3_EnvVarSource_To_api_EnvVarSource(in.ValueFrom, out.ValueFrom, s); err != nil { - return err - } - } else { - out.ValueFrom = nil - } - return nil -} - -func convert_v1beta3_EnvVarSource_To_api_EnvVarSource(in *EnvVarSource, out *api.EnvVarSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*EnvVarSource))(in) - } - if in.FieldRef != nil { - out.FieldRef = new(api.ObjectFieldSelector) - if err := convert_v1beta3_ObjectFieldSelector_To_api_ObjectFieldSelector(in.FieldRef, out.FieldRef, s); err != nil { - return err - } - } else { - out.FieldRef = nil - } - return nil -} - -func convert_v1beta3_Event_To_api_Event(in *Event, out *api.Event, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Event))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectReference_To_api_ObjectReference(&in.InvolvedObject, &out.InvolvedObject, s); err != nil { - return err - } - out.Reason = in.Reason - out.Message = in.Message - if err := convert_v1beta3_EventSource_To_api_EventSource(&in.Source, &out.Source, s); err != nil { - return err - } - if err := s.Convert(&in.FirstTimestamp, &out.FirstTimestamp, 0); err != nil { - return err - } - if err := s.Convert(&in.LastTimestamp, &out.LastTimestamp, 0); err != nil { - return err - } - out.Count = in.Count - return nil -} - -func convert_v1beta3_EventList_To_api_EventList(in *EventList, out *api.EventList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*EventList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.Event, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_Event_To_api_Event(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_EventSource_To_api_EventSource(in *EventSource, out *api.EventSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*EventSource))(in) - } - out.Component = in.Component - out.Host = in.Host - return nil -} - -func convert_v1beta3_ExecAction_To_api_ExecAction(in *ExecAction, out *api.ExecAction, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ExecAction))(in) - } - if in.Command != nil { - out.Command = make([]string, len(in.Command)) - for i := range in.Command { - out.Command[i] = in.Command[i] - } - } else { - out.Command = nil - } - return nil -} - -func convert_v1beta3_GCEPersistentDiskVolumeSource_To_api_GCEPersistentDiskVolumeSource(in *GCEPersistentDiskVolumeSource, out *api.GCEPersistentDiskVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*GCEPersistentDiskVolumeSource))(in) - } - out.PDName = in.PDName - out.FSType = in.FSType - out.Partition = in.Partition - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_v1beta3_GitRepoVolumeSource_To_api_GitRepoVolumeSource(in *GitRepoVolumeSource, out *api.GitRepoVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*GitRepoVolumeSource))(in) - } - out.Repository = in.Repository - out.Revision = in.Revision - return nil -} - -func convert_v1beta3_GlusterfsVolumeSource_To_api_GlusterfsVolumeSource(in *GlusterfsVolumeSource, out *api.GlusterfsVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*GlusterfsVolumeSource))(in) - } - out.EndpointsName = in.EndpointsName - out.Path = in.Path - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_v1beta3_HTTPGetAction_To_api_HTTPGetAction(in *HTTPGetAction, out *api.HTTPGetAction, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*HTTPGetAction))(in) - } - out.Path = in.Path - if err := s.Convert(&in.Port, &out.Port, 0); err != nil { - return err - } - out.Host = in.Host - out.Scheme = api.URIScheme(in.Scheme) - return nil -} - -func convert_v1beta3_Handler_To_api_Handler(in *Handler, out *api.Handler, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Handler))(in) - } - if in.Exec != nil { - out.Exec = new(api.ExecAction) - if err := convert_v1beta3_ExecAction_To_api_ExecAction(in.Exec, out.Exec, s); err != nil { - return err - } - } else { - out.Exec = nil - } - if in.HTTPGet != nil { - out.HTTPGet = new(api.HTTPGetAction) - if err := convert_v1beta3_HTTPGetAction_To_api_HTTPGetAction(in.HTTPGet, out.HTTPGet, s); err != nil { - return err - } - } else { - out.HTTPGet = nil - } - if in.TCPSocket != nil { - out.TCPSocket = new(api.TCPSocketAction) - if err := convert_v1beta3_TCPSocketAction_To_api_TCPSocketAction(in.TCPSocket, out.TCPSocket, s); err != nil { - return err - } - } else { - out.TCPSocket = nil - } - return nil -} - -func convert_v1beta3_HostPathVolumeSource_To_api_HostPathVolumeSource(in *HostPathVolumeSource, out *api.HostPathVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*HostPathVolumeSource))(in) - } - out.Path = in.Path - return nil -} - -func convert_v1beta3_ISCSIVolumeSource_To_api_ISCSIVolumeSource(in *ISCSIVolumeSource, out *api.ISCSIVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ISCSIVolumeSource))(in) - } - out.TargetPortal = in.TargetPortal - out.IQN = in.IQN - out.Lun = in.Lun - out.FSType = in.FSType - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_v1beta3_Lifecycle_To_api_Lifecycle(in *Lifecycle, out *api.Lifecycle, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Lifecycle))(in) - } - if in.PostStart != nil { - out.PostStart = new(api.Handler) - if err := convert_v1beta3_Handler_To_api_Handler(in.PostStart, out.PostStart, s); err != nil { - return err - } - } else { - out.PostStart = nil - } - if in.PreStop != nil { - out.PreStop = new(api.Handler) - if err := convert_v1beta3_Handler_To_api_Handler(in.PreStop, out.PreStop, s); err != nil { - return err - } - } else { - out.PreStop = nil - } - return nil -} - -func convert_v1beta3_LimitRange_To_api_LimitRange(in *LimitRange, out *api.LimitRange, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*LimitRange))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_LimitRangeSpec_To_api_LimitRangeSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_LimitRangeItem_To_api_LimitRangeItem(in *LimitRangeItem, out *api.LimitRangeItem, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*LimitRangeItem))(in) - } - out.Type = api.LimitType(in.Type) - if in.Max != nil { - out.Max = make(map[api.ResourceName]resource.Quantity) - for key, val := range in.Max { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Max[api.ResourceName(key)] = newVal - } - } else { - out.Max = nil - } - if in.Min != nil { - out.Min = make(map[api.ResourceName]resource.Quantity) - for key, val := range in.Min { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Min[api.ResourceName(key)] = newVal - } - } else { - out.Min = nil - } - if in.Default != nil { - out.Default = make(map[api.ResourceName]resource.Quantity) - for key, val := range in.Default { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Default[api.ResourceName(key)] = newVal - } - } else { - out.Default = nil - } - return nil -} - -func convert_v1beta3_LimitRangeList_To_api_LimitRangeList(in *LimitRangeList, out *api.LimitRangeList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*LimitRangeList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.LimitRange, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_LimitRange_To_api_LimitRange(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_LimitRangeSpec_To_api_LimitRangeSpec(in *LimitRangeSpec, out *api.LimitRangeSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*LimitRangeSpec))(in) - } - if in.Limits != nil { - out.Limits = make([]api.LimitRangeItem, len(in.Limits)) - for i := range in.Limits { - if err := convert_v1beta3_LimitRangeItem_To_api_LimitRangeItem(&in.Limits[i], &out.Limits[i], s); err != nil { - return err - } - } - } else { - out.Limits = nil - } - return nil -} - -func convert_v1beta3_List_To_api_List(in *List, out *api.List, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*List))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if err := s.Convert(&in.Items, &out.Items, 0); err != nil { - return err - } - return nil -} - -func convert_v1beta3_ListMeta_To_api_ListMeta(in *ListMeta, out *api.ListMeta, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ListMeta))(in) - } - out.SelfLink = in.SelfLink - out.ResourceVersion = in.ResourceVersion - return nil -} - -func convert_v1beta3_ListOptions_To_api_ListOptions(in *ListOptions, out *api.ListOptions, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ListOptions))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := s.Convert(&in.LabelSelector, &out.LabelSelector, 0); err != nil { - return err - } - if err := s.Convert(&in.FieldSelector, &out.FieldSelector, 0); err != nil { - return err - } - out.Watch = in.Watch - out.ResourceVersion = in.ResourceVersion - return nil -} - -func convert_v1beta3_LoadBalancerIngress_To_api_LoadBalancerIngress(in *LoadBalancerIngress, out *api.LoadBalancerIngress, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*LoadBalancerIngress))(in) - } - out.IP = in.IP - out.Hostname = in.Hostname - return nil -} - -func convert_v1beta3_LoadBalancerStatus_To_api_LoadBalancerStatus(in *LoadBalancerStatus, out *api.LoadBalancerStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*LoadBalancerStatus))(in) - } - if in.Ingress != nil { - out.Ingress = make([]api.LoadBalancerIngress, len(in.Ingress)) - for i := range in.Ingress { - if err := convert_v1beta3_LoadBalancerIngress_To_api_LoadBalancerIngress(&in.Ingress[i], &out.Ingress[i], s); err != nil { - return err - } - } - } else { - out.Ingress = nil - } - return nil -} - -func convert_v1beta3_LocalObjectReference_To_api_LocalObjectReference(in *LocalObjectReference, out *api.LocalObjectReference, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*LocalObjectReference))(in) - } - out.Name = in.Name - return nil -} - -func convert_v1beta3_NFSVolumeSource_To_api_NFSVolumeSource(in *NFSVolumeSource, out *api.NFSVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*NFSVolumeSource))(in) - } - out.Server = in.Server - out.Path = in.Path - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_v1beta3_Namespace_To_api_Namespace(in *Namespace, out *api.Namespace, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Namespace))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_NamespaceSpec_To_api_NamespaceSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_v1beta3_NamespaceStatus_To_api_NamespaceStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_NamespaceList_To_api_NamespaceList(in *NamespaceList, out *api.NamespaceList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*NamespaceList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.Namespace, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_Namespace_To_api_Namespace(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_NamespaceSpec_To_api_NamespaceSpec(in *NamespaceSpec, out *api.NamespaceSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*NamespaceSpec))(in) - } - if in.Finalizers != nil { - out.Finalizers = make([]api.FinalizerName, len(in.Finalizers)) - for i := range in.Finalizers { - out.Finalizers[i] = api.FinalizerName(in.Finalizers[i]) - } - } else { - out.Finalizers = nil - } - return nil -} - -func convert_v1beta3_NamespaceStatus_To_api_NamespaceStatus(in *NamespaceStatus, out *api.NamespaceStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*NamespaceStatus))(in) - } - out.Phase = api.NamespacePhase(in.Phase) - return nil -} - -func convert_v1beta3_Node_To_api_Node(in *Node, out *api.Node, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Node))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_NodeSpec_To_api_NodeSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_v1beta3_NodeStatus_To_api_NodeStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_NodeAddress_To_api_NodeAddress(in *NodeAddress, out *api.NodeAddress, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*NodeAddress))(in) - } - out.Type = api.NodeAddressType(in.Type) - out.Address = in.Address - return nil -} - -func convert_v1beta3_NodeCondition_To_api_NodeCondition(in *NodeCondition, out *api.NodeCondition, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*NodeCondition))(in) - } - out.Type = api.NodeConditionType(in.Type) - out.Status = api.ConditionStatus(in.Status) - if err := s.Convert(&in.LastHeartbeatTime, &out.LastHeartbeatTime, 0); err != nil { - return err - } - if err := s.Convert(&in.LastTransitionTime, &out.LastTransitionTime, 0); err != nil { - return err - } - out.Reason = in.Reason - out.Message = in.Message - return nil -} - -func convert_v1beta3_NodeList_To_api_NodeList(in *NodeList, out *api.NodeList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*NodeList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.Node, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_Node_To_api_Node(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_NodeSpec_To_api_NodeSpec(in *NodeSpec, out *api.NodeSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*NodeSpec))(in) - } - out.PodCIDR = in.PodCIDR - out.ExternalID = in.ExternalID - out.ProviderID = in.ProviderID - out.Unschedulable = in.Unschedulable - return nil -} - -func convert_v1beta3_NodeStatus_To_api_NodeStatus(in *NodeStatus, out *api.NodeStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*NodeStatus))(in) - } - if in.Capacity != nil { - out.Capacity = make(map[api.ResourceName]resource.Quantity) - for key, val := range in.Capacity { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Capacity[api.ResourceName(key)] = newVal - } - } else { - out.Capacity = nil - } - out.Phase = api.NodePhase(in.Phase) - if in.Conditions != nil { - out.Conditions = make([]api.NodeCondition, len(in.Conditions)) - for i := range in.Conditions { - if err := convert_v1beta3_NodeCondition_To_api_NodeCondition(&in.Conditions[i], &out.Conditions[i], s); err != nil { - return err - } - } - } else { - out.Conditions = nil - } - if in.Addresses != nil { - out.Addresses = make([]api.NodeAddress, len(in.Addresses)) - for i := range in.Addresses { - if err := convert_v1beta3_NodeAddress_To_api_NodeAddress(&in.Addresses[i], &out.Addresses[i], s); err != nil { - return err - } - } - } else { - out.Addresses = nil - } - if err := convert_v1beta3_NodeSystemInfo_To_api_NodeSystemInfo(&in.NodeInfo, &out.NodeInfo, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_NodeSystemInfo_To_api_NodeSystemInfo(in *NodeSystemInfo, out *api.NodeSystemInfo, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*NodeSystemInfo))(in) - } - out.MachineID = in.MachineID - out.SystemUUID = in.SystemUUID - out.BootID = in.BootID - out.KernelVersion = in.KernelVersion - out.OsImage = in.OsImage - out.ContainerRuntimeVersion = in.ContainerRuntimeVersion - out.KubeletVersion = in.KubeletVersion - out.KubeProxyVersion = in.KubeProxyVersion - return nil -} - -func convert_v1beta3_ObjectFieldSelector_To_api_ObjectFieldSelector(in *ObjectFieldSelector, out *api.ObjectFieldSelector, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ObjectFieldSelector))(in) - } - out.APIVersion = in.APIVersion - out.FieldPath = in.FieldPath - return nil -} - -func convert_v1beta3_ObjectMeta_To_api_ObjectMeta(in *ObjectMeta, out *api.ObjectMeta, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ObjectMeta))(in) - } - out.Name = in.Name - out.GenerateName = in.GenerateName - out.Namespace = in.Namespace - out.SelfLink = in.SelfLink - out.UID = in.UID - out.ResourceVersion = in.ResourceVersion - out.Generation = in.Generation - if err := s.Convert(&in.CreationTimestamp, &out.CreationTimestamp, 0); err != nil { - return err - } - if in.DeletionTimestamp != nil { - if err := s.Convert(&in.DeletionTimestamp, &out.DeletionTimestamp, 0); err != nil { - return err - } - } else { - out.DeletionTimestamp = nil - } - if in.Labels != nil { - out.Labels = make(map[string]string) - for key, val := range in.Labels { - out.Labels[key] = val - } - } else { - out.Labels = nil - } - if in.Annotations != nil { - out.Annotations = make(map[string]string) - for key, val := range in.Annotations { - out.Annotations[key] = val - } - } else { - out.Annotations = nil - } - return nil -} - -func convert_v1beta3_ObjectReference_To_api_ObjectReference(in *ObjectReference, out *api.ObjectReference, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ObjectReference))(in) - } - out.Kind = in.Kind - out.Namespace = in.Namespace - out.Name = in.Name - out.UID = in.UID - out.APIVersion = in.APIVersion - out.ResourceVersion = in.ResourceVersion - out.FieldPath = in.FieldPath - return nil -} - -func convert_v1beta3_PersistentVolume_To_api_PersistentVolume(in *PersistentVolume, out *api.PersistentVolume, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PersistentVolume))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_PersistentVolumeSpec_To_api_PersistentVolumeSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_v1beta3_PersistentVolumeStatus_To_api_PersistentVolumeStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_PersistentVolumeClaim_To_api_PersistentVolumeClaim(in *PersistentVolumeClaim, out *api.PersistentVolumeClaim, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PersistentVolumeClaim))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_PersistentVolumeClaimSpec_To_api_PersistentVolumeClaimSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_v1beta3_PersistentVolumeClaimStatus_To_api_PersistentVolumeClaimStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_PersistentVolumeClaimList_To_api_PersistentVolumeClaimList(in *PersistentVolumeClaimList, out *api.PersistentVolumeClaimList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PersistentVolumeClaimList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.PersistentVolumeClaim, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_PersistentVolumeClaim_To_api_PersistentVolumeClaim(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_PersistentVolumeClaimSpec_To_api_PersistentVolumeClaimSpec(in *PersistentVolumeClaimSpec, out *api.PersistentVolumeClaimSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PersistentVolumeClaimSpec))(in) - } - if in.AccessModes != nil { - out.AccessModes = make([]api.PersistentVolumeAccessMode, len(in.AccessModes)) - for i := range in.AccessModes { - out.AccessModes[i] = api.PersistentVolumeAccessMode(in.AccessModes[i]) - } - } else { - out.AccessModes = nil - } - if err := convert_v1beta3_ResourceRequirements_To_api_ResourceRequirements(&in.Resources, &out.Resources, s); err != nil { - return err - } - out.VolumeName = in.VolumeName - return nil -} - -func convert_v1beta3_PersistentVolumeClaimStatus_To_api_PersistentVolumeClaimStatus(in *PersistentVolumeClaimStatus, out *api.PersistentVolumeClaimStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PersistentVolumeClaimStatus))(in) - } - out.Phase = api.PersistentVolumeClaimPhase(in.Phase) - if in.AccessModes != nil { - out.AccessModes = make([]api.PersistentVolumeAccessMode, len(in.AccessModes)) - for i := range in.AccessModes { - out.AccessModes[i] = api.PersistentVolumeAccessMode(in.AccessModes[i]) - } - } else { - out.AccessModes = nil - } - if in.Capacity != nil { - out.Capacity = make(map[api.ResourceName]resource.Quantity) - for key, val := range in.Capacity { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Capacity[api.ResourceName(key)] = newVal - } - } else { - out.Capacity = nil - } - return nil -} - -func convert_v1beta3_PersistentVolumeClaimVolumeSource_To_api_PersistentVolumeClaimVolumeSource(in *PersistentVolumeClaimVolumeSource, out *api.PersistentVolumeClaimVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PersistentVolumeClaimVolumeSource))(in) - } - out.ClaimName = in.ClaimName - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_v1beta3_PersistentVolumeList_To_api_PersistentVolumeList(in *PersistentVolumeList, out *api.PersistentVolumeList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PersistentVolumeList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.PersistentVolume, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_PersistentVolume_To_api_PersistentVolume(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_PersistentVolumeSource_To_api_PersistentVolumeSource(in *PersistentVolumeSource, out *api.PersistentVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PersistentVolumeSource))(in) - } - if in.GCEPersistentDisk != nil { - out.GCEPersistentDisk = new(api.GCEPersistentDiskVolumeSource) - if err := convert_v1beta3_GCEPersistentDiskVolumeSource_To_api_GCEPersistentDiskVolumeSource(in.GCEPersistentDisk, out.GCEPersistentDisk, s); err != nil { - return err - } - } else { - out.GCEPersistentDisk = nil - } - if in.AWSElasticBlockStore != nil { - out.AWSElasticBlockStore = new(api.AWSElasticBlockStoreVolumeSource) - if err := convert_v1beta3_AWSElasticBlockStoreVolumeSource_To_api_AWSElasticBlockStoreVolumeSource(in.AWSElasticBlockStore, out.AWSElasticBlockStore, s); err != nil { - return err - } - } else { - out.AWSElasticBlockStore = nil - } - if in.HostPath != nil { - out.HostPath = new(api.HostPathVolumeSource) - if err := convert_v1beta3_HostPathVolumeSource_To_api_HostPathVolumeSource(in.HostPath, out.HostPath, s); err != nil { - return err - } - } else { - out.HostPath = nil - } - if in.Glusterfs != nil { - out.Glusterfs = new(api.GlusterfsVolumeSource) - if err := convert_v1beta3_GlusterfsVolumeSource_To_api_GlusterfsVolumeSource(in.Glusterfs, out.Glusterfs, s); err != nil { - return err - } - } else { - out.Glusterfs = nil - } - if in.NFS != nil { - out.NFS = new(api.NFSVolumeSource) - if err := convert_v1beta3_NFSVolumeSource_To_api_NFSVolumeSource(in.NFS, out.NFS, s); err != nil { - return err - } - } else { - out.NFS = nil - } - if in.RBD != nil { - out.RBD = new(api.RBDVolumeSource) - if err := convert_v1beta3_RBDVolumeSource_To_api_RBDVolumeSource(in.RBD, out.RBD, s); err != nil { - return err - } - } else { - out.RBD = nil - } - if in.ISCSI != nil { - out.ISCSI = new(api.ISCSIVolumeSource) - if err := convert_v1beta3_ISCSIVolumeSource_To_api_ISCSIVolumeSource(in.ISCSI, out.ISCSI, s); err != nil { - return err - } - } else { - out.ISCSI = nil - } - return nil -} - -func convert_v1beta3_PersistentVolumeSpec_To_api_PersistentVolumeSpec(in *PersistentVolumeSpec, out *api.PersistentVolumeSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PersistentVolumeSpec))(in) - } - if in.Capacity != nil { - out.Capacity = make(map[api.ResourceName]resource.Quantity) - for key, val := range in.Capacity { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Capacity[api.ResourceName(key)] = newVal - } - } else { - out.Capacity = nil - } - if err := convert_v1beta3_PersistentVolumeSource_To_api_PersistentVolumeSource(&in.PersistentVolumeSource, &out.PersistentVolumeSource, s); err != nil { - return err - } - if in.AccessModes != nil { - out.AccessModes = make([]api.PersistentVolumeAccessMode, len(in.AccessModes)) - for i := range in.AccessModes { - out.AccessModes[i] = api.PersistentVolumeAccessMode(in.AccessModes[i]) - } - } else { - out.AccessModes = nil - } - if in.ClaimRef != nil { - out.ClaimRef = new(api.ObjectReference) - if err := convert_v1beta3_ObjectReference_To_api_ObjectReference(in.ClaimRef, out.ClaimRef, s); err != nil { - return err - } - } else { - out.ClaimRef = nil - } - out.PersistentVolumeReclaimPolicy = api.PersistentVolumeReclaimPolicy(in.PersistentVolumeReclaimPolicy) - return nil -} - -func convert_v1beta3_PersistentVolumeStatus_To_api_PersistentVolumeStatus(in *PersistentVolumeStatus, out *api.PersistentVolumeStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PersistentVolumeStatus))(in) - } - out.Phase = api.PersistentVolumePhase(in.Phase) - out.Message = in.Message - out.Reason = in.Reason - return nil -} - -func convert_v1beta3_Pod_To_api_Pod(in *Pod, out *api.Pod, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Pod))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_PodSpec_To_api_PodSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_v1beta3_PodStatus_To_api_PodStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_PodCondition_To_api_PodCondition(in *PodCondition, out *api.PodCondition, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PodCondition))(in) - } - out.Type = api.PodConditionType(in.Type) - out.Status = api.ConditionStatus(in.Status) - return nil -} - -func convert_v1beta3_PodExecOptions_To_api_PodExecOptions(in *PodExecOptions, out *api.PodExecOptions, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PodExecOptions))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - out.Stdin = in.Stdin - out.Stdout = in.Stdout - out.Stderr = in.Stderr - out.TTY = in.TTY - out.Container = in.Container - if in.Command != nil { - out.Command = make([]string, len(in.Command)) - for i := range in.Command { - out.Command[i] = in.Command[i] - } - } else { - out.Command = nil - } - return nil -} - -func convert_v1beta3_PodList_To_api_PodList(in *PodList, out *api.PodList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PodList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.Pod, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_Pod_To_api_Pod(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_PodLogOptions_To_api_PodLogOptions(in *PodLogOptions, out *api.PodLogOptions, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PodLogOptions))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - out.Container = in.Container - out.Follow = in.Follow - out.Previous = in.Previous - return nil -} - -func convert_v1beta3_PodProxyOptions_To_api_PodProxyOptions(in *PodProxyOptions, out *api.PodProxyOptions, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PodProxyOptions))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - out.Path = in.Path - return nil -} - -func convert_v1beta3_PodStatus_To_api_PodStatus(in *PodStatus, out *api.PodStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PodStatus))(in) - } - out.Phase = api.PodPhase(in.Phase) - if in.Conditions != nil { - out.Conditions = make([]api.PodCondition, len(in.Conditions)) - for i := range in.Conditions { - if err := convert_v1beta3_PodCondition_To_api_PodCondition(&in.Conditions[i], &out.Conditions[i], s); err != nil { - return err - } - } - } else { - out.Conditions = nil - } - out.Message = in.Message - out.Reason = in.Reason - out.HostIP = in.HostIP - out.PodIP = in.PodIP - if in.StartTime != nil { - if err := s.Convert(&in.StartTime, &out.StartTime, 0); err != nil { - return err - } - } else { - out.StartTime = nil - } - if in.ContainerStatuses != nil { - out.ContainerStatuses = make([]api.ContainerStatus, len(in.ContainerStatuses)) - for i := range in.ContainerStatuses { - if err := convert_v1beta3_ContainerStatus_To_api_ContainerStatus(&in.ContainerStatuses[i], &out.ContainerStatuses[i], s); err != nil { - return err - } - } - } else { - out.ContainerStatuses = nil - } - return nil -} - -func convert_v1beta3_PodStatusResult_To_api_PodStatusResult(in *PodStatusResult, out *api.PodStatusResult, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PodStatusResult))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_PodStatus_To_api_PodStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_PodTemplate_To_api_PodTemplate(in *PodTemplate, out *api.PodTemplate, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PodTemplate))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_PodTemplateSpec_To_api_PodTemplateSpec(&in.Template, &out.Template, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_PodTemplateList_To_api_PodTemplateList(in *PodTemplateList, out *api.PodTemplateList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PodTemplateList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.PodTemplate, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_PodTemplate_To_api_PodTemplate(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_PodTemplateSpec_To_api_PodTemplateSpec(in *PodTemplateSpec, out *api.PodTemplateSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*PodTemplateSpec))(in) - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_PodSpec_To_api_PodSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_Probe_To_api_Probe(in *Probe, out *api.Probe, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Probe))(in) - } - if err := convert_v1beta3_Handler_To_api_Handler(&in.Handler, &out.Handler, s); err != nil { - return err - } - out.InitialDelaySeconds = in.InitialDelaySeconds - out.TimeoutSeconds = in.TimeoutSeconds - return nil -} - -func convert_v1beta3_RBDVolumeSource_To_api_RBDVolumeSource(in *RBDVolumeSource, out *api.RBDVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*RBDVolumeSource))(in) - } - if in.CephMonitors != nil { - out.CephMonitors = make([]string, len(in.CephMonitors)) - for i := range in.CephMonitors { - out.CephMonitors[i] = in.CephMonitors[i] - } - } else { - out.CephMonitors = nil - } - out.RBDImage = in.RBDImage - out.FSType = in.FSType - out.RBDPool = in.RBDPool - out.RadosUser = in.RadosUser - out.Keyring = in.Keyring - if in.SecretRef != nil { - out.SecretRef = new(api.LocalObjectReference) - if err := convert_v1beta3_LocalObjectReference_To_api_LocalObjectReference(in.SecretRef, out.SecretRef, s); err != nil { - return err - } - } else { - out.SecretRef = nil - } - out.ReadOnly = in.ReadOnly - return nil -} - -func convert_v1beta3_RangeAllocation_To_api_RangeAllocation(in *RangeAllocation, out *api.RangeAllocation, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*RangeAllocation))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - out.Range = in.Range - if err := s.Convert(&in.Data, &out.Data, 0); err != nil { - return err - } - return nil -} - -func convert_v1beta3_ReplicationController_To_api_ReplicationController(in *ReplicationController, out *api.ReplicationController, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ReplicationController))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ReplicationControllerSpec_To_api_ReplicationControllerSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_v1beta3_ReplicationControllerStatus_To_api_ReplicationControllerStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_ReplicationControllerList_To_api_ReplicationControllerList(in *ReplicationControllerList, out *api.ReplicationControllerList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ReplicationControllerList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.ReplicationController, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_ReplicationController_To_api_ReplicationController(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_ReplicationControllerStatus_To_api_ReplicationControllerStatus(in *ReplicationControllerStatus, out *api.ReplicationControllerStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ReplicationControllerStatus))(in) - } - out.Replicas = in.Replicas - out.ObservedGeneration = in.ObservedGeneration - return nil -} - -func convert_v1beta3_ResourceQuota_To_api_ResourceQuota(in *ResourceQuota, out *api.ResourceQuota, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ResourceQuota))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ResourceQuotaSpec_To_api_ResourceQuotaSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_v1beta3_ResourceQuotaStatus_To_api_ResourceQuotaStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_ResourceQuotaList_To_api_ResourceQuotaList(in *ResourceQuotaList, out *api.ResourceQuotaList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ResourceQuotaList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.ResourceQuota, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_ResourceQuota_To_api_ResourceQuota(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_ResourceQuotaSpec_To_api_ResourceQuotaSpec(in *ResourceQuotaSpec, out *api.ResourceQuotaSpec, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ResourceQuotaSpec))(in) - } - if in.Hard != nil { - out.Hard = make(map[api.ResourceName]resource.Quantity) - for key, val := range in.Hard { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Hard[api.ResourceName(key)] = newVal - } - } else { - out.Hard = nil - } - return nil -} - -func convert_v1beta3_ResourceQuotaStatus_To_api_ResourceQuotaStatus(in *ResourceQuotaStatus, out *api.ResourceQuotaStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ResourceQuotaStatus))(in) - } - if in.Hard != nil { - out.Hard = make(map[api.ResourceName]resource.Quantity) - for key, val := range in.Hard { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Hard[api.ResourceName(key)] = newVal - } - } else { - out.Hard = nil - } - if in.Used != nil { - out.Used = make(map[api.ResourceName]resource.Quantity) - for key, val := range in.Used { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Used[api.ResourceName(key)] = newVal - } - } else { - out.Used = nil - } - return nil -} - -func convert_v1beta3_ResourceRequirements_To_api_ResourceRequirements(in *ResourceRequirements, out *api.ResourceRequirements, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ResourceRequirements))(in) - } - if in.Limits != nil { - out.Limits = make(map[api.ResourceName]resource.Quantity) - for key, val := range in.Limits { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Limits[api.ResourceName(key)] = newVal - } - } else { - out.Limits = nil - } - if in.Requests != nil { - out.Requests = make(map[api.ResourceName]resource.Quantity) - for key, val := range in.Requests { - newVal := resource.Quantity{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Requests[api.ResourceName(key)] = newVal - } - } else { - out.Requests = nil - } - return nil -} - -func convert_v1beta3_SELinuxOptions_To_api_SELinuxOptions(in *SELinuxOptions, out *api.SELinuxOptions, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*SELinuxOptions))(in) - } - out.User = in.User - out.Role = in.Role - out.Type = in.Type - out.Level = in.Level - return nil -} - -func convert_v1beta3_Secret_To_api_Secret(in *Secret, out *api.Secret, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Secret))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if in.Data != nil { - out.Data = make(map[string][]uint8) - for key, val := range in.Data { - newVal := []uint8{} - if err := s.Convert(&val, &newVal, 0); err != nil { - return err - } - out.Data[key] = newVal - } - } else { - out.Data = nil - } - out.Type = api.SecretType(in.Type) - return nil -} - -func convert_v1beta3_SecretList_To_api_SecretList(in *SecretList, out *api.SecretList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*SecretList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.Secret, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_Secret_To_api_Secret(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_SecretVolumeSource_To_api_SecretVolumeSource(in *SecretVolumeSource, out *api.SecretVolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*SecretVolumeSource))(in) - } - out.SecretName = in.SecretName - return nil -} - -func convert_v1beta3_SecurityContext_To_api_SecurityContext(in *SecurityContext, out *api.SecurityContext, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*SecurityContext))(in) - } - if in.Capabilities != nil { - out.Capabilities = new(api.Capabilities) - if err := convert_v1beta3_Capabilities_To_api_Capabilities(in.Capabilities, out.Capabilities, s); err != nil { - return err - } - } else { - out.Capabilities = nil - } - if in.Privileged != nil { - out.Privileged = new(bool) - *out.Privileged = *in.Privileged - } else { - out.Privileged = nil - } - if in.SELinuxOptions != nil { - out.SELinuxOptions = new(api.SELinuxOptions) - if err := convert_v1beta3_SELinuxOptions_To_api_SELinuxOptions(in.SELinuxOptions, out.SELinuxOptions, s); err != nil { - return err - } - } else { - out.SELinuxOptions = nil - } - if in.RunAsUser != nil { - out.RunAsUser = new(int64) - *out.RunAsUser = *in.RunAsUser - } else { - out.RunAsUser = nil - } - return nil -} - -func convert_v1beta3_SerializedReference_To_api_SerializedReference(in *SerializedReference, out *api.SerializedReference, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*SerializedReference))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectReference_To_api_ObjectReference(&in.Reference, &out.Reference, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_Service_To_api_Service(in *Service, out *api.Service, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Service))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ServiceSpec_To_api_ServiceSpec(&in.Spec, &out.Spec, s); err != nil { - return err - } - if err := convert_v1beta3_ServiceStatus_To_api_ServiceStatus(&in.Status, &out.Status, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_ServiceAccount_To_api_ServiceAccount(in *ServiceAccount, out *api.ServiceAccount, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ServiceAccount))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil { - return err - } - if in.Secrets != nil { - out.Secrets = make([]api.ObjectReference, len(in.Secrets)) - for i := range in.Secrets { - if err := convert_v1beta3_ObjectReference_To_api_ObjectReference(&in.Secrets[i], &out.Secrets[i], s); err != nil { - return err - } - } - } else { - out.Secrets = nil - } - if in.ImagePullSecrets != nil { - out.ImagePullSecrets = make([]api.LocalObjectReference, len(in.ImagePullSecrets)) - for i := range in.ImagePullSecrets { - if err := convert_v1beta3_LocalObjectReference_To_api_LocalObjectReference(&in.ImagePullSecrets[i], &out.ImagePullSecrets[i], s); err != nil { - return err - } - } - } else { - out.ImagePullSecrets = nil - } - return nil -} - -func convert_v1beta3_ServiceAccountList_To_api_ServiceAccountList(in *ServiceAccountList, out *api.ServiceAccountList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ServiceAccountList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.ServiceAccount, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_ServiceAccount_To_api_ServiceAccount(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_ServiceList_To_api_ServiceList(in *ServiceList, out *api.ServiceList, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ServiceList))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]api.Service, len(in.Items)) - for i := range in.Items { - if err := convert_v1beta3_Service_To_api_Service(&in.Items[i], &out.Items[i], s); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func convert_v1beta3_ServicePort_To_api_ServicePort(in *ServicePort, out *api.ServicePort, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ServicePort))(in) - } - out.Name = in.Name - out.Protocol = api.Protocol(in.Protocol) - out.Port = in.Port - if err := s.Convert(&in.TargetPort, &out.TargetPort, 0); err != nil { - return err - } - out.NodePort = in.NodePort - return nil -} - -func convert_v1beta3_ServiceStatus_To_api_ServiceStatus(in *ServiceStatus, out *api.ServiceStatus, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*ServiceStatus))(in) - } - if err := convert_v1beta3_LoadBalancerStatus_To_api_LoadBalancerStatus(&in.LoadBalancer, &out.LoadBalancer, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_Status_To_api_Status(in *Status, out *api.Status, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Status))(in) - } - if err := convert_v1beta3_TypeMeta_To_api_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil { - return err - } - if err := convert_v1beta3_ListMeta_To_api_ListMeta(&in.ListMeta, &out.ListMeta, s); err != nil { - return err - } - out.Status = in.Status - out.Message = in.Message - out.Reason = api.StatusReason(in.Reason) - if in.Details != nil { - out.Details = new(api.StatusDetails) - if err := convert_v1beta3_StatusDetails_To_api_StatusDetails(in.Details, out.Details, s); err != nil { - return err - } - } else { - out.Details = nil - } - out.Code = in.Code - return nil -} - -func convert_v1beta3_TCPSocketAction_To_api_TCPSocketAction(in *TCPSocketAction, out *api.TCPSocketAction, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*TCPSocketAction))(in) - } - if err := s.Convert(&in.Port, &out.Port, 0); err != nil { - return err - } - return nil -} - -func convert_v1beta3_TypeMeta_To_api_TypeMeta(in *TypeMeta, out *api.TypeMeta, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*TypeMeta))(in) - } - out.Kind = in.Kind - out.APIVersion = in.APIVersion - return nil -} - -func convert_v1beta3_Volume_To_api_Volume(in *Volume, out *api.Volume, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*Volume))(in) - } - out.Name = in.Name - if err := convert_v1beta3_VolumeSource_To_api_VolumeSource(&in.VolumeSource, &out.VolumeSource, s); err != nil { - return err - } - return nil -} - -func convert_v1beta3_VolumeMount_To_api_VolumeMount(in *VolumeMount, out *api.VolumeMount, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*VolumeMount))(in) - } - out.Name = in.Name - out.ReadOnly = in.ReadOnly - out.MountPath = in.MountPath - return nil -} - -func convert_v1beta3_VolumeSource_To_api_VolumeSource(in *VolumeSource, out *api.VolumeSource, s conversion.Scope) error { - if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { - defaulting.(func(*VolumeSource))(in) - } - if in.HostPath != nil { - out.HostPath = new(api.HostPathVolumeSource) - if err := convert_v1beta3_HostPathVolumeSource_To_api_HostPathVolumeSource(in.HostPath, out.HostPath, s); err != nil { - return err - } - } else { - out.HostPath = nil - } - if in.EmptyDir != nil { - out.EmptyDir = new(api.EmptyDirVolumeSource) - if err := convert_v1beta3_EmptyDirVolumeSource_To_api_EmptyDirVolumeSource(in.EmptyDir, out.EmptyDir, s); err != nil { - return err - } - } else { - out.EmptyDir = nil - } - if in.GCEPersistentDisk != nil { - out.GCEPersistentDisk = new(api.GCEPersistentDiskVolumeSource) - if err := convert_v1beta3_GCEPersistentDiskVolumeSource_To_api_GCEPersistentDiskVolumeSource(in.GCEPersistentDisk, out.GCEPersistentDisk, s); err != nil { - return err - } - } else { - out.GCEPersistentDisk = nil - } - if in.AWSElasticBlockStore != nil { - out.AWSElasticBlockStore = new(api.AWSElasticBlockStoreVolumeSource) - if err := convert_v1beta3_AWSElasticBlockStoreVolumeSource_To_api_AWSElasticBlockStoreVolumeSource(in.AWSElasticBlockStore, out.AWSElasticBlockStore, s); err != nil { - return err - } - } else { - out.AWSElasticBlockStore = nil - } - if in.GitRepo != nil { - out.GitRepo = new(api.GitRepoVolumeSource) - if err := convert_v1beta3_GitRepoVolumeSource_To_api_GitRepoVolumeSource(in.GitRepo, out.GitRepo, s); err != nil { - return err - } - } else { - out.GitRepo = nil - } - if in.Secret != nil { - out.Secret = new(api.SecretVolumeSource) - if err := convert_v1beta3_SecretVolumeSource_To_api_SecretVolumeSource(in.Secret, out.Secret, s); err != nil { - return err - } - } else { - out.Secret = nil - } - if in.NFS != nil { - out.NFS = new(api.NFSVolumeSource) - if err := convert_v1beta3_NFSVolumeSource_To_api_NFSVolumeSource(in.NFS, out.NFS, s); err != nil { - return err - } - } else { - out.NFS = nil - } - if in.ISCSI != nil { - out.ISCSI = new(api.ISCSIVolumeSource) - if err := convert_v1beta3_ISCSIVolumeSource_To_api_ISCSIVolumeSource(in.ISCSI, out.ISCSI, s); err != nil { - return err - } - } else { - out.ISCSI = nil - } - if in.Glusterfs != nil { - out.Glusterfs = new(api.GlusterfsVolumeSource) - if err := convert_v1beta3_GlusterfsVolumeSource_To_api_GlusterfsVolumeSource(in.Glusterfs, out.Glusterfs, s); err != nil { - return err - } - } else { - out.Glusterfs = nil - } - if in.PersistentVolumeClaim != nil { - out.PersistentVolumeClaim = new(api.PersistentVolumeClaimVolumeSource) - if err := convert_v1beta3_PersistentVolumeClaimVolumeSource_To_api_PersistentVolumeClaimVolumeSource(in.PersistentVolumeClaim, out.PersistentVolumeClaim, s); err != nil { - return err - } - } else { - out.PersistentVolumeClaim = nil - } - if in.RBD != nil { - out.RBD = new(api.RBDVolumeSource) - if err := convert_v1beta3_RBDVolumeSource_To_api_RBDVolumeSource(in.RBD, out.RBD, s); err != nil { - return err - } - } else { - out.RBD = nil - } - return nil -} - -func init() { - err := api.Scheme.AddGeneratedConversionFuncs( - convert_api_AWSElasticBlockStoreVolumeSource_To_v1beta3_AWSElasticBlockStoreVolumeSource, - convert_api_Binding_To_v1beta3_Binding, - convert_api_Capabilities_To_v1beta3_Capabilities, - convert_api_ComponentCondition_To_v1beta3_ComponentCondition, - convert_api_ComponentStatusList_To_v1beta3_ComponentStatusList, - convert_api_ComponentStatus_To_v1beta3_ComponentStatus, - convert_api_ContainerPort_To_v1beta3_ContainerPort, - convert_api_ContainerStateRunning_To_v1beta3_ContainerStateRunning, - convert_api_ContainerStateWaiting_To_v1beta3_ContainerStateWaiting, - convert_api_ContainerStatus_To_v1beta3_ContainerStatus, - convert_api_DeleteOptions_To_v1beta3_DeleteOptions, - convert_api_EmptyDirVolumeSource_To_v1beta3_EmptyDirVolumeSource, - convert_api_EndpointAddress_To_v1beta3_EndpointAddress, - convert_api_EndpointPort_To_v1beta3_EndpointPort, - convert_api_EndpointSubset_To_v1beta3_EndpointSubset, - convert_api_EndpointsList_To_v1beta3_EndpointsList, - convert_api_Endpoints_To_v1beta3_Endpoints, - convert_api_EnvVarSource_To_v1beta3_EnvVarSource, - convert_api_EnvVar_To_v1beta3_EnvVar, - convert_api_EventList_To_v1beta3_EventList, - convert_api_EventSource_To_v1beta3_EventSource, - convert_api_Event_To_v1beta3_Event, - convert_api_ExecAction_To_v1beta3_ExecAction, - convert_api_GCEPersistentDiskVolumeSource_To_v1beta3_GCEPersistentDiskVolumeSource, - convert_api_GitRepoVolumeSource_To_v1beta3_GitRepoVolumeSource, - convert_api_GlusterfsVolumeSource_To_v1beta3_GlusterfsVolumeSource, - convert_api_HTTPGetAction_To_v1beta3_HTTPGetAction, - convert_api_Handler_To_v1beta3_Handler, - convert_api_HostPathVolumeSource_To_v1beta3_HostPathVolumeSource, - convert_api_ISCSIVolumeSource_To_v1beta3_ISCSIVolumeSource, - convert_api_Lifecycle_To_v1beta3_Lifecycle, - convert_api_LimitRangeItem_To_v1beta3_LimitRangeItem, - convert_api_LimitRangeList_To_v1beta3_LimitRangeList, - convert_api_LimitRangeSpec_To_v1beta3_LimitRangeSpec, - convert_api_LimitRange_To_v1beta3_LimitRange, - convert_api_ListMeta_To_v1beta3_ListMeta, - convert_api_ListOptions_To_v1beta3_ListOptions, - convert_api_List_To_v1beta3_List, - convert_api_LoadBalancerIngress_To_v1beta3_LoadBalancerIngress, - convert_api_LoadBalancerStatus_To_v1beta3_LoadBalancerStatus, - convert_api_LocalObjectReference_To_v1beta3_LocalObjectReference, - convert_api_NFSVolumeSource_To_v1beta3_NFSVolumeSource, - convert_api_NamespaceList_To_v1beta3_NamespaceList, - convert_api_NamespaceSpec_To_v1beta3_NamespaceSpec, - convert_api_NamespaceStatus_To_v1beta3_NamespaceStatus, - convert_api_Namespace_To_v1beta3_Namespace, - convert_api_NodeAddress_To_v1beta3_NodeAddress, - convert_api_NodeCondition_To_v1beta3_NodeCondition, - convert_api_NodeList_To_v1beta3_NodeList, - convert_api_NodeSpec_To_v1beta3_NodeSpec, - convert_api_NodeStatus_To_v1beta3_NodeStatus, - convert_api_NodeSystemInfo_To_v1beta3_NodeSystemInfo, - convert_api_Node_To_v1beta3_Node, - convert_api_ObjectFieldSelector_To_v1beta3_ObjectFieldSelector, - convert_api_ObjectMeta_To_v1beta3_ObjectMeta, - convert_api_ObjectReference_To_v1beta3_ObjectReference, - convert_api_PersistentVolumeClaimList_To_v1beta3_PersistentVolumeClaimList, - convert_api_PersistentVolumeClaimSpec_To_v1beta3_PersistentVolumeClaimSpec, - convert_api_PersistentVolumeClaimStatus_To_v1beta3_PersistentVolumeClaimStatus, - convert_api_PersistentVolumeClaimVolumeSource_To_v1beta3_PersistentVolumeClaimVolumeSource, - convert_api_PersistentVolumeClaim_To_v1beta3_PersistentVolumeClaim, - convert_api_PersistentVolumeList_To_v1beta3_PersistentVolumeList, - convert_api_PersistentVolumeSource_To_v1beta3_PersistentVolumeSource, - convert_api_PersistentVolumeSpec_To_v1beta3_PersistentVolumeSpec, - convert_api_PersistentVolumeStatus_To_v1beta3_PersistentVolumeStatus, - convert_api_PersistentVolume_To_v1beta3_PersistentVolume, - convert_api_PodCondition_To_v1beta3_PodCondition, - convert_api_PodExecOptions_To_v1beta3_PodExecOptions, - convert_api_PodList_To_v1beta3_PodList, - convert_api_PodLogOptions_To_v1beta3_PodLogOptions, - convert_api_PodProxyOptions_To_v1beta3_PodProxyOptions, - convert_api_PodStatusResult_To_v1beta3_PodStatusResult, - convert_api_PodStatus_To_v1beta3_PodStatus, - convert_api_PodTemplateList_To_v1beta3_PodTemplateList, - convert_api_PodTemplateSpec_To_v1beta3_PodTemplateSpec, - convert_api_PodTemplate_To_v1beta3_PodTemplate, - convert_api_Pod_To_v1beta3_Pod, - convert_api_Probe_To_v1beta3_Probe, - convert_api_RBDVolumeSource_To_v1beta3_RBDVolumeSource, - convert_api_RangeAllocation_To_v1beta3_RangeAllocation, - convert_api_ReplicationControllerList_To_v1beta3_ReplicationControllerList, - convert_api_ReplicationControllerStatus_To_v1beta3_ReplicationControllerStatus, - convert_api_ReplicationController_To_v1beta3_ReplicationController, - convert_api_ResourceQuotaList_To_v1beta3_ResourceQuotaList, - convert_api_ResourceQuotaSpec_To_v1beta3_ResourceQuotaSpec, - convert_api_ResourceQuotaStatus_To_v1beta3_ResourceQuotaStatus, - convert_api_ResourceQuota_To_v1beta3_ResourceQuota, - convert_api_ResourceRequirements_To_v1beta3_ResourceRequirements, - convert_api_SELinuxOptions_To_v1beta3_SELinuxOptions, - convert_api_SecretList_To_v1beta3_SecretList, - convert_api_SecretVolumeSource_To_v1beta3_SecretVolumeSource, - convert_api_Secret_To_v1beta3_Secret, - convert_api_SecurityContext_To_v1beta3_SecurityContext, - convert_api_SerializedReference_To_v1beta3_SerializedReference, - convert_api_ServiceAccountList_To_v1beta3_ServiceAccountList, - convert_api_ServiceAccount_To_v1beta3_ServiceAccount, - convert_api_ServiceList_To_v1beta3_ServiceList, - convert_api_ServicePort_To_v1beta3_ServicePort, - convert_api_ServiceStatus_To_v1beta3_ServiceStatus, - convert_api_Service_To_v1beta3_Service, - convert_api_Status_To_v1beta3_Status, - convert_api_TCPSocketAction_To_v1beta3_TCPSocketAction, - convert_api_TypeMeta_To_v1beta3_TypeMeta, - convert_api_VolumeMount_To_v1beta3_VolumeMount, - convert_api_VolumeSource_To_v1beta3_VolumeSource, - convert_api_Volume_To_v1beta3_Volume, - convert_v1beta3_AWSElasticBlockStoreVolumeSource_To_api_AWSElasticBlockStoreVolumeSource, - convert_v1beta3_Binding_To_api_Binding, - convert_v1beta3_Capabilities_To_api_Capabilities, - convert_v1beta3_ComponentCondition_To_api_ComponentCondition, - convert_v1beta3_ComponentStatusList_To_api_ComponentStatusList, - convert_v1beta3_ComponentStatus_To_api_ComponentStatus, - convert_v1beta3_ContainerPort_To_api_ContainerPort, - convert_v1beta3_ContainerStateRunning_To_api_ContainerStateRunning, - convert_v1beta3_ContainerStateWaiting_To_api_ContainerStateWaiting, - convert_v1beta3_ContainerStatus_To_api_ContainerStatus, - convert_v1beta3_DeleteOptions_To_api_DeleteOptions, - convert_v1beta3_EmptyDirVolumeSource_To_api_EmptyDirVolumeSource, - convert_v1beta3_EndpointAddress_To_api_EndpointAddress, - convert_v1beta3_EndpointPort_To_api_EndpointPort, - convert_v1beta3_EndpointSubset_To_api_EndpointSubset, - convert_v1beta3_EndpointsList_To_api_EndpointsList, - convert_v1beta3_Endpoints_To_api_Endpoints, - convert_v1beta3_EnvVarSource_To_api_EnvVarSource, - convert_v1beta3_EnvVar_To_api_EnvVar, - convert_v1beta3_EventList_To_api_EventList, - convert_v1beta3_EventSource_To_api_EventSource, - convert_v1beta3_Event_To_api_Event, - convert_v1beta3_ExecAction_To_api_ExecAction, - convert_v1beta3_GCEPersistentDiskVolumeSource_To_api_GCEPersistentDiskVolumeSource, - convert_v1beta3_GitRepoVolumeSource_To_api_GitRepoVolumeSource, - convert_v1beta3_GlusterfsVolumeSource_To_api_GlusterfsVolumeSource, - convert_v1beta3_HTTPGetAction_To_api_HTTPGetAction, - convert_v1beta3_Handler_To_api_Handler, - convert_v1beta3_HostPathVolumeSource_To_api_HostPathVolumeSource, - convert_v1beta3_ISCSIVolumeSource_To_api_ISCSIVolumeSource, - convert_v1beta3_Lifecycle_To_api_Lifecycle, - convert_v1beta3_LimitRangeItem_To_api_LimitRangeItem, - convert_v1beta3_LimitRangeList_To_api_LimitRangeList, - convert_v1beta3_LimitRangeSpec_To_api_LimitRangeSpec, - convert_v1beta3_LimitRange_To_api_LimitRange, - convert_v1beta3_ListMeta_To_api_ListMeta, - convert_v1beta3_ListOptions_To_api_ListOptions, - convert_v1beta3_List_To_api_List, - convert_v1beta3_LoadBalancerIngress_To_api_LoadBalancerIngress, - convert_v1beta3_LoadBalancerStatus_To_api_LoadBalancerStatus, - convert_v1beta3_LocalObjectReference_To_api_LocalObjectReference, - convert_v1beta3_NFSVolumeSource_To_api_NFSVolumeSource, - convert_v1beta3_NamespaceList_To_api_NamespaceList, - convert_v1beta3_NamespaceSpec_To_api_NamespaceSpec, - convert_v1beta3_NamespaceStatus_To_api_NamespaceStatus, - convert_v1beta3_Namespace_To_api_Namespace, - convert_v1beta3_NodeAddress_To_api_NodeAddress, - convert_v1beta3_NodeCondition_To_api_NodeCondition, - convert_v1beta3_NodeList_To_api_NodeList, - convert_v1beta3_NodeSpec_To_api_NodeSpec, - convert_v1beta3_NodeStatus_To_api_NodeStatus, - convert_v1beta3_NodeSystemInfo_To_api_NodeSystemInfo, - convert_v1beta3_Node_To_api_Node, - convert_v1beta3_ObjectFieldSelector_To_api_ObjectFieldSelector, - convert_v1beta3_ObjectMeta_To_api_ObjectMeta, - convert_v1beta3_ObjectReference_To_api_ObjectReference, - convert_v1beta3_PersistentVolumeClaimList_To_api_PersistentVolumeClaimList, - convert_v1beta3_PersistentVolumeClaimSpec_To_api_PersistentVolumeClaimSpec, - convert_v1beta3_PersistentVolumeClaimStatus_To_api_PersistentVolumeClaimStatus, - convert_v1beta3_PersistentVolumeClaimVolumeSource_To_api_PersistentVolumeClaimVolumeSource, - convert_v1beta3_PersistentVolumeClaim_To_api_PersistentVolumeClaim, - convert_v1beta3_PersistentVolumeList_To_api_PersistentVolumeList, - convert_v1beta3_PersistentVolumeSource_To_api_PersistentVolumeSource, - convert_v1beta3_PersistentVolumeSpec_To_api_PersistentVolumeSpec, - convert_v1beta3_PersistentVolumeStatus_To_api_PersistentVolumeStatus, - convert_v1beta3_PersistentVolume_To_api_PersistentVolume, - convert_v1beta3_PodCondition_To_api_PodCondition, - convert_v1beta3_PodExecOptions_To_api_PodExecOptions, - convert_v1beta3_PodList_To_api_PodList, - convert_v1beta3_PodLogOptions_To_api_PodLogOptions, - convert_v1beta3_PodProxyOptions_To_api_PodProxyOptions, - convert_v1beta3_PodStatusResult_To_api_PodStatusResult, - convert_v1beta3_PodStatus_To_api_PodStatus, - convert_v1beta3_PodTemplateList_To_api_PodTemplateList, - convert_v1beta3_PodTemplateSpec_To_api_PodTemplateSpec, - convert_v1beta3_PodTemplate_To_api_PodTemplate, - convert_v1beta3_Pod_To_api_Pod, - convert_v1beta3_Probe_To_api_Probe, - convert_v1beta3_RBDVolumeSource_To_api_RBDVolumeSource, - convert_v1beta3_RangeAllocation_To_api_RangeAllocation, - convert_v1beta3_ReplicationControllerList_To_api_ReplicationControllerList, - convert_v1beta3_ReplicationControllerStatus_To_api_ReplicationControllerStatus, - convert_v1beta3_ReplicationController_To_api_ReplicationController, - convert_v1beta3_ResourceQuotaList_To_api_ResourceQuotaList, - convert_v1beta3_ResourceQuotaSpec_To_api_ResourceQuotaSpec, - convert_v1beta3_ResourceQuotaStatus_To_api_ResourceQuotaStatus, - convert_v1beta3_ResourceQuota_To_api_ResourceQuota, - convert_v1beta3_ResourceRequirements_To_api_ResourceRequirements, - convert_v1beta3_SELinuxOptions_To_api_SELinuxOptions, - convert_v1beta3_SecretList_To_api_SecretList, - convert_v1beta3_SecretVolumeSource_To_api_SecretVolumeSource, - convert_v1beta3_Secret_To_api_Secret, - convert_v1beta3_SecurityContext_To_api_SecurityContext, - convert_v1beta3_SerializedReference_To_api_SerializedReference, - convert_v1beta3_ServiceAccountList_To_api_ServiceAccountList, - convert_v1beta3_ServiceAccount_To_api_ServiceAccount, - convert_v1beta3_ServiceList_To_api_ServiceList, - convert_v1beta3_ServicePort_To_api_ServicePort, - convert_v1beta3_ServiceStatus_To_api_ServiceStatus, - convert_v1beta3_Service_To_api_Service, - convert_v1beta3_Status_To_api_Status, - convert_v1beta3_TCPSocketAction_To_api_TCPSocketAction, - convert_v1beta3_TypeMeta_To_api_TypeMeta, - convert_v1beta3_VolumeMount_To_api_VolumeMount, - convert_v1beta3_VolumeSource_To_api_VolumeSource, - convert_v1beta3_Volume_To_api_Volume, - ) - if err != nil { - // If one of the conversion functions is malformed, detect it immediately. - panic(err) - } -} - -// AUTO-GENERATED FUNCTIONS END HERE diff --git a/pkg/api/v1beta3/conversion_test.go b/pkg/api/v1beta3/conversion_test.go deleted file mode 100644 index aa90f33d6d4..00000000000 --- a/pkg/api/v1beta3/conversion_test.go +++ /dev/null @@ -1,139 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors All rights reserved. - -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 v1beta3_test - -import ( - "testing" - - "github.com/GoogleCloudPlatform/kubernetes/pkg/api" - "github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource" - versioned "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3" -) - -func TestResourceQuotaStatusConversion(t *testing.T) { - // should serialize as "0" - expected := resource.NewQuantity(int64(0), resource.DecimalSI) - if "0" != expected.String() { - t.Errorf("Expected: 0, Actual: %v, do not require units", expected.String()) - } - - parsed := resource.MustParse("0") - if "0" != parsed.String() { - t.Errorf("Expected: 0, Actual: %v, do not require units", parsed.String()) - } - - quota := &api.ResourceQuota{} - quota.Status = api.ResourceQuotaStatus{} - quota.Status.Hard = api.ResourceList{} - quota.Status.Used = api.ResourceList{} - quota.Status.Hard[api.ResourcePods] = *expected - - // round-trip the object - data, _ := versioned.Codec.Encode(quota) - object, _ := versioned.Codec.Decode(data) - after := object.(*api.ResourceQuota) - actualQuantity := after.Status.Hard[api.ResourcePods] - actual := &actualQuantity - - // should be "0", but was "0m" - if expected.String() != actual.String() { - t.Errorf("Expected %v, Actual %v", expected.String(), actual.String()) - } -} - -func TestNodeConversion(t *testing.T) { - obj, err := versioned.Codec.Decode([]byte(`{"kind":"Minion","apiVersion":"v1beta3"}`)) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - if _, ok := obj.(*api.Node); !ok { - t.Errorf("unexpected type: %#v", obj) - } - - obj, err = versioned.Codec.Decode([]byte(`{"kind":"MinionList","apiVersion":"v1beta3"}`)) - if err != nil { - t.Fatalf("unexpected error: %v", err) - } - if _, ok := obj.(*api.NodeList); !ok { - t.Errorf("unexpected type: %#v", obj) - } - - obj = &api.Node{} - if err := versioned.Codec.DecodeInto([]byte(`{"kind":"Minion","apiVersion":"v1beta3"}`), obj); err != nil { - t.Fatalf("unexpected error: %v", err) - } -} - -func TestBadSecurityContextConversion(t *testing.T) { - priv := false - testCases := map[string]struct { - c *versioned.Container - err string - }{ - // this use case must use true for the container and false for the sc. Otherwise the defaulter - // will assume privileged was left undefined (since it is the default value) and copy the - // sc setting upwards - "mismatched privileged": { - c: &versioned.Container{ - Privileged: true, - SecurityContext: &versioned.SecurityContext{ - Privileged: &priv, - }, - }, - err: "container privileged settings do not match security context settings, cannot convert", - }, - "mismatched caps add": { - c: &versioned.Container{ - Capabilities: versioned.Capabilities{ - Add: []versioned.Capability{"foo"}, - }, - SecurityContext: &versioned.SecurityContext{ - Capabilities: &versioned.Capabilities{ - Add: []versioned.Capability{"bar"}, - }, - }, - }, - err: "container capability settings do not match security context settings, cannot convert", - }, - "mismatched caps drop": { - c: &versioned.Container{ - Capabilities: versioned.Capabilities{ - Drop: []versioned.Capability{"foo"}, - }, - SecurityContext: &versioned.SecurityContext{ - Capabilities: &versioned.Capabilities{ - Drop: []versioned.Capability{"bar"}, - }, - }, - }, - err: "container capability settings do not match security context settings, cannot convert", - }, - } - - for k, v := range testCases { - got := api.Container{} - err := api.Scheme.Convert(v.c, &got) - if err == nil { - t.Errorf("expected error for case %s but got none", k) - } else { - if err.Error() != v.err { - t.Errorf("unexpected error for case %s. Expected: %s but got: %s", k, v.err, err.Error()) - } - } - } - -} diff --git a/pkg/api/v1beta3/deep_copy_generated.go b/pkg/api/v1beta3/deep_copy_generated.go deleted file mode 100644 index feeb8a99efd..00000000000 --- a/pkg/api/v1beta3/deep_copy_generated.go +++ /dev/null @@ -1,2213 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors All rights reserved. - -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 v1beta3 - -// AUTO-GENERATED FUNCTIONS START HERE -import ( - "github.com/GoogleCloudPlatform/kubernetes/pkg/api" - "github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource" - "github.com/GoogleCloudPlatform/kubernetes/pkg/conversion" - "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" - "github.com/GoogleCloudPlatform/kubernetes/pkg/util" - "speter.net/go/exp/math/dec/inf" - "time" -) - -func deepCopy_resource_Quantity(in resource.Quantity, out *resource.Quantity, c *conversion.Cloner) error { - if in.Amount != nil { - if newVal, err := c.DeepCopy(in.Amount); err != nil { - return err - } else { - out.Amount = newVal.(*inf.Dec) - } - } else { - out.Amount = nil - } - out.Format = in.Format - return nil -} - -func deepCopy_v1beta3_AWSElasticBlockStoreVolumeSource(in AWSElasticBlockStoreVolumeSource, out *AWSElasticBlockStoreVolumeSource, c *conversion.Cloner) error { - out.VolumeID = in.VolumeID - out.FSType = in.FSType - out.Partition = in.Partition - out.ReadOnly = in.ReadOnly - return nil -} - -func deepCopy_v1beta3_Binding(in Binding, out *Binding, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectReference(in.Target, &out.Target, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_Capabilities(in Capabilities, out *Capabilities, c *conversion.Cloner) error { - if in.Add != nil { - out.Add = make([]Capability, len(in.Add)) - for i := range in.Add { - out.Add[i] = in.Add[i] - } - } else { - out.Add = nil - } - if in.Drop != nil { - out.Drop = make([]Capability, len(in.Drop)) - for i := range in.Drop { - out.Drop[i] = in.Drop[i] - } - } else { - out.Drop = nil - } - return nil -} - -func deepCopy_v1beta3_ComponentCondition(in ComponentCondition, out *ComponentCondition, c *conversion.Cloner) error { - out.Type = in.Type - out.Status = in.Status - out.Message = in.Message - out.Error = in.Error - return nil -} - -func deepCopy_v1beta3_ComponentStatus(in ComponentStatus, out *ComponentStatus, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if in.Conditions != nil { - out.Conditions = make([]ComponentCondition, len(in.Conditions)) - for i := range in.Conditions { - if err := deepCopy_v1beta3_ComponentCondition(in.Conditions[i], &out.Conditions[i], c); err != nil { - return err - } - } - } else { - out.Conditions = nil - } - return nil -} - -func deepCopy_v1beta3_ComponentStatusList(in ComponentStatusList, out *ComponentStatusList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]ComponentStatus, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_ComponentStatus(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_Container(in Container, out *Container, c *conversion.Cloner) error { - out.Name = in.Name - out.Image = in.Image - if in.Command != nil { - out.Command = make([]string, len(in.Command)) - for i := range in.Command { - out.Command[i] = in.Command[i] - } - } else { - out.Command = nil - } - if in.Args != nil { - out.Args = make([]string, len(in.Args)) - for i := range in.Args { - out.Args[i] = in.Args[i] - } - } else { - out.Args = nil - } - out.WorkingDir = in.WorkingDir - if in.Ports != nil { - out.Ports = make([]ContainerPort, len(in.Ports)) - for i := range in.Ports { - if err := deepCopy_v1beta3_ContainerPort(in.Ports[i], &out.Ports[i], c); err != nil { - return err - } - } - } else { - out.Ports = nil - } - if in.Env != nil { - out.Env = make([]EnvVar, len(in.Env)) - for i := range in.Env { - if err := deepCopy_v1beta3_EnvVar(in.Env[i], &out.Env[i], c); err != nil { - return err - } - } - } else { - out.Env = nil - } - if err := deepCopy_v1beta3_ResourceRequirements(in.Resources, &out.Resources, c); err != nil { - return err - } - if in.VolumeMounts != nil { - out.VolumeMounts = make([]VolumeMount, len(in.VolumeMounts)) - for i := range in.VolumeMounts { - if err := deepCopy_v1beta3_VolumeMount(in.VolumeMounts[i], &out.VolumeMounts[i], c); err != nil { - return err - } - } - } else { - out.VolumeMounts = nil - } - if in.LivenessProbe != nil { - out.LivenessProbe = new(Probe) - if err := deepCopy_v1beta3_Probe(*in.LivenessProbe, out.LivenessProbe, c); err != nil { - return err - } - } else { - out.LivenessProbe = nil - } - if in.ReadinessProbe != nil { - out.ReadinessProbe = new(Probe) - if err := deepCopy_v1beta3_Probe(*in.ReadinessProbe, out.ReadinessProbe, c); err != nil { - return err - } - } else { - out.ReadinessProbe = nil - } - if in.Lifecycle != nil { - out.Lifecycle = new(Lifecycle) - if err := deepCopy_v1beta3_Lifecycle(*in.Lifecycle, out.Lifecycle, c); err != nil { - return err - } - } else { - out.Lifecycle = nil - } - out.TerminationMessagePath = in.TerminationMessagePath - out.Privileged = in.Privileged - out.ImagePullPolicy = in.ImagePullPolicy - if err := deepCopy_v1beta3_Capabilities(in.Capabilities, &out.Capabilities, c); err != nil { - return err - } - if in.SecurityContext != nil { - out.SecurityContext = new(SecurityContext) - if err := deepCopy_v1beta3_SecurityContext(*in.SecurityContext, out.SecurityContext, c); err != nil { - return err - } - } else { - out.SecurityContext = nil - } - return nil -} - -func deepCopy_v1beta3_ContainerPort(in ContainerPort, out *ContainerPort, c *conversion.Cloner) error { - out.Name = in.Name - out.HostPort = in.HostPort - out.ContainerPort = in.ContainerPort - out.Protocol = in.Protocol - out.HostIP = in.HostIP - return nil -} - -func deepCopy_v1beta3_ContainerState(in ContainerState, out *ContainerState, c *conversion.Cloner) error { - if in.Waiting != nil { - out.Waiting = new(ContainerStateWaiting) - if err := deepCopy_v1beta3_ContainerStateWaiting(*in.Waiting, out.Waiting, c); err != nil { - return err - } - } else { - out.Waiting = nil - } - if in.Running != nil { - out.Running = new(ContainerStateRunning) - if err := deepCopy_v1beta3_ContainerStateRunning(*in.Running, out.Running, c); err != nil { - return err - } - } else { - out.Running = nil - } - if in.Termination != nil { - out.Termination = new(ContainerStateTerminated) - if err := deepCopy_v1beta3_ContainerStateTerminated(*in.Termination, out.Termination, c); err != nil { - return err - } - } else { - out.Termination = nil - } - return nil -} - -func deepCopy_v1beta3_ContainerStateRunning(in ContainerStateRunning, out *ContainerStateRunning, c *conversion.Cloner) error { - if err := deepCopy_util_Time(in.StartedAt, &out.StartedAt, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_ContainerStateTerminated(in ContainerStateTerminated, out *ContainerStateTerminated, c *conversion.Cloner) error { - out.ExitCode = in.ExitCode - out.Signal = in.Signal - out.Reason = in.Reason - out.Message = in.Message - if err := deepCopy_util_Time(in.StartedAt, &out.StartedAt, c); err != nil { - return err - } - if err := deepCopy_util_Time(in.FinishedAt, &out.FinishedAt, c); err != nil { - return err - } - out.ContainerID = in.ContainerID - return nil -} - -func deepCopy_v1beta3_ContainerStateWaiting(in ContainerStateWaiting, out *ContainerStateWaiting, c *conversion.Cloner) error { - out.Reason = in.Reason - return nil -} - -func deepCopy_v1beta3_ContainerStatus(in ContainerStatus, out *ContainerStatus, c *conversion.Cloner) error { - out.Name = in.Name - if err := deepCopy_v1beta3_ContainerState(in.State, &out.State, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ContainerState(in.LastTerminationState, &out.LastTerminationState, c); err != nil { - return err - } - out.Ready = in.Ready - out.RestartCount = in.RestartCount - out.Image = in.Image - out.ImageID = in.ImageID - out.ContainerID = in.ContainerID - return nil -} - -func deepCopy_v1beta3_DeleteOptions(in DeleteOptions, out *DeleteOptions, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if in.GracePeriodSeconds != nil { - out.GracePeriodSeconds = new(int64) - *out.GracePeriodSeconds = *in.GracePeriodSeconds - } else { - out.GracePeriodSeconds = nil - } - return nil -} - -func deepCopy_v1beta3_EmptyDirVolumeSource(in EmptyDirVolumeSource, out *EmptyDirVolumeSource, c *conversion.Cloner) error { - out.Medium = in.Medium - return nil -} - -func deepCopy_v1beta3_EndpointAddress(in EndpointAddress, out *EndpointAddress, c *conversion.Cloner) error { - out.IP = in.IP - if in.TargetRef != nil { - out.TargetRef = new(ObjectReference) - if err := deepCopy_v1beta3_ObjectReference(*in.TargetRef, out.TargetRef, c); err != nil { - return err - } - } else { - out.TargetRef = nil - } - return nil -} - -func deepCopy_v1beta3_EndpointPort(in EndpointPort, out *EndpointPort, c *conversion.Cloner) error { - out.Name = in.Name - out.Port = in.Port - out.Protocol = in.Protocol - return nil -} - -func deepCopy_v1beta3_EndpointSubset(in EndpointSubset, out *EndpointSubset, c *conversion.Cloner) error { - if in.Addresses != nil { - out.Addresses = make([]EndpointAddress, len(in.Addresses)) - for i := range in.Addresses { - if err := deepCopy_v1beta3_EndpointAddress(in.Addresses[i], &out.Addresses[i], c); err != nil { - return err - } - } - } else { - out.Addresses = nil - } - if in.Ports != nil { - out.Ports = make([]EndpointPort, len(in.Ports)) - for i := range in.Ports { - if err := deepCopy_v1beta3_EndpointPort(in.Ports[i], &out.Ports[i], c); err != nil { - return err - } - } - } else { - out.Ports = nil - } - return nil -} - -func deepCopy_v1beta3_Endpoints(in Endpoints, out *Endpoints, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if in.Subsets != nil { - out.Subsets = make([]EndpointSubset, len(in.Subsets)) - for i := range in.Subsets { - if err := deepCopy_v1beta3_EndpointSubset(in.Subsets[i], &out.Subsets[i], c); err != nil { - return err - } - } - } else { - out.Subsets = nil - } - return nil -} - -func deepCopy_v1beta3_EndpointsList(in EndpointsList, out *EndpointsList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Endpoints, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_Endpoints(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_EnvVar(in EnvVar, out *EnvVar, c *conversion.Cloner) error { - out.Name = in.Name - out.Value = in.Value - if in.ValueFrom != nil { - out.ValueFrom = new(EnvVarSource) - if err := deepCopy_v1beta3_EnvVarSource(*in.ValueFrom, out.ValueFrom, c); err != nil { - return err - } - } else { - out.ValueFrom = nil - } - return nil -} - -func deepCopy_v1beta3_EnvVarSource(in EnvVarSource, out *EnvVarSource, c *conversion.Cloner) error { - if in.FieldRef != nil { - out.FieldRef = new(ObjectFieldSelector) - if err := deepCopy_v1beta3_ObjectFieldSelector(*in.FieldRef, out.FieldRef, c); err != nil { - return err - } - } else { - out.FieldRef = nil - } - return nil -} - -func deepCopy_v1beta3_Event(in Event, out *Event, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectReference(in.InvolvedObject, &out.InvolvedObject, c); err != nil { - return err - } - out.Reason = in.Reason - out.Message = in.Message - if err := deepCopy_v1beta3_EventSource(in.Source, &out.Source, c); err != nil { - return err - } - if err := deepCopy_util_Time(in.FirstTimestamp, &out.FirstTimestamp, c); err != nil { - return err - } - if err := deepCopy_util_Time(in.LastTimestamp, &out.LastTimestamp, c); err != nil { - return err - } - out.Count = in.Count - return nil -} - -func deepCopy_v1beta3_EventList(in EventList, out *EventList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Event, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_Event(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_EventSource(in EventSource, out *EventSource, c *conversion.Cloner) error { - out.Component = in.Component - out.Host = in.Host - return nil -} - -func deepCopy_v1beta3_ExecAction(in ExecAction, out *ExecAction, c *conversion.Cloner) error { - if in.Command != nil { - out.Command = make([]string, len(in.Command)) - for i := range in.Command { - out.Command[i] = in.Command[i] - } - } else { - out.Command = nil - } - return nil -} - -func deepCopy_v1beta3_GCEPersistentDiskVolumeSource(in GCEPersistentDiskVolumeSource, out *GCEPersistentDiskVolumeSource, c *conversion.Cloner) error { - out.PDName = in.PDName - out.FSType = in.FSType - out.Partition = in.Partition - out.ReadOnly = in.ReadOnly - return nil -} - -func deepCopy_v1beta3_GitRepoVolumeSource(in GitRepoVolumeSource, out *GitRepoVolumeSource, c *conversion.Cloner) error { - out.Repository = in.Repository - out.Revision = in.Revision - return nil -} - -func deepCopy_v1beta3_GlusterfsVolumeSource(in GlusterfsVolumeSource, out *GlusterfsVolumeSource, c *conversion.Cloner) error { - out.EndpointsName = in.EndpointsName - out.Path = in.Path - out.ReadOnly = in.ReadOnly - return nil -} - -func deepCopy_v1beta3_HTTPGetAction(in HTTPGetAction, out *HTTPGetAction, c *conversion.Cloner) error { - out.Path = in.Path - if err := deepCopy_util_IntOrString(in.Port, &out.Port, c); err != nil { - return err - } - out.Host = in.Host - out.Scheme = in.Scheme - return nil -} - -func deepCopy_v1beta3_Handler(in Handler, out *Handler, c *conversion.Cloner) error { - if in.Exec != nil { - out.Exec = new(ExecAction) - if err := deepCopy_v1beta3_ExecAction(*in.Exec, out.Exec, c); err != nil { - return err - } - } else { - out.Exec = nil - } - if in.HTTPGet != nil { - out.HTTPGet = new(HTTPGetAction) - if err := deepCopy_v1beta3_HTTPGetAction(*in.HTTPGet, out.HTTPGet, c); err != nil { - return err - } - } else { - out.HTTPGet = nil - } - if in.TCPSocket != nil { - out.TCPSocket = new(TCPSocketAction) - if err := deepCopy_v1beta3_TCPSocketAction(*in.TCPSocket, out.TCPSocket, c); err != nil { - return err - } - } else { - out.TCPSocket = nil - } - return nil -} - -func deepCopy_v1beta3_HostPathVolumeSource(in HostPathVolumeSource, out *HostPathVolumeSource, c *conversion.Cloner) error { - out.Path = in.Path - return nil -} - -func deepCopy_v1beta3_ISCSIVolumeSource(in ISCSIVolumeSource, out *ISCSIVolumeSource, c *conversion.Cloner) error { - out.TargetPortal = in.TargetPortal - out.IQN = in.IQN - out.Lun = in.Lun - out.FSType = in.FSType - out.ReadOnly = in.ReadOnly - return nil -} - -func deepCopy_v1beta3_Lifecycle(in Lifecycle, out *Lifecycle, c *conversion.Cloner) error { - if in.PostStart != nil { - out.PostStart = new(Handler) - if err := deepCopy_v1beta3_Handler(*in.PostStart, out.PostStart, c); err != nil { - return err - } - } else { - out.PostStart = nil - } - if in.PreStop != nil { - out.PreStop = new(Handler) - if err := deepCopy_v1beta3_Handler(*in.PreStop, out.PreStop, c); err != nil { - return err - } - } else { - out.PreStop = nil - } - return nil -} - -func deepCopy_v1beta3_LimitRange(in LimitRange, out *LimitRange, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_LimitRangeSpec(in.Spec, &out.Spec, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_LimitRangeItem(in LimitRangeItem, out *LimitRangeItem, c *conversion.Cloner) error { - out.Type = in.Type - if in.Max != nil { - out.Max = make(map[ResourceName]resource.Quantity) - for key, val := range in.Max { - newVal := new(resource.Quantity) - if err := deepCopy_resource_Quantity(val, newVal, c); err != nil { - return err - } - out.Max[key] = *newVal - } - } else { - out.Max = nil - } - if in.Min != nil { - out.Min = make(map[ResourceName]resource.Quantity) - for key, val := range in.Min { - newVal := new(resource.Quantity) - if err := deepCopy_resource_Quantity(val, newVal, c); err != nil { - return err - } - out.Min[key] = *newVal - } - } else { - out.Min = nil - } - if in.Default != nil { - out.Default = make(map[ResourceName]resource.Quantity) - for key, val := range in.Default { - newVal := new(resource.Quantity) - if err := deepCopy_resource_Quantity(val, newVal, c); err != nil { - return err - } - out.Default[key] = *newVal - } - } else { - out.Default = nil - } - return nil -} - -func deepCopy_v1beta3_LimitRangeList(in LimitRangeList, out *LimitRangeList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]LimitRange, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_LimitRange(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_LimitRangeSpec(in LimitRangeSpec, out *LimitRangeSpec, c *conversion.Cloner) error { - if in.Limits != nil { - out.Limits = make([]LimitRangeItem, len(in.Limits)) - for i := range in.Limits { - if err := deepCopy_v1beta3_LimitRangeItem(in.Limits[i], &out.Limits[i], c); err != nil { - return err - } - } - } else { - out.Limits = nil - } - return nil -} - -func deepCopy_v1beta3_List(in List, out *List, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]runtime.RawExtension, len(in.Items)) - for i := range in.Items { - if err := deepCopy_runtime_RawExtension(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_ListMeta(in ListMeta, out *ListMeta, c *conversion.Cloner) error { - out.SelfLink = in.SelfLink - out.ResourceVersion = in.ResourceVersion - return nil -} - -func deepCopy_v1beta3_ListOptions(in ListOptions, out *ListOptions, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - out.LabelSelector = in.LabelSelector - out.FieldSelector = in.FieldSelector - out.Watch = in.Watch - out.ResourceVersion = in.ResourceVersion - return nil -} - -func deepCopy_v1beta3_LoadBalancerIngress(in LoadBalancerIngress, out *LoadBalancerIngress, c *conversion.Cloner) error { - out.IP = in.IP - out.Hostname = in.Hostname - return nil -} - -func deepCopy_v1beta3_LoadBalancerStatus(in LoadBalancerStatus, out *LoadBalancerStatus, c *conversion.Cloner) error { - if in.Ingress != nil { - out.Ingress = make([]LoadBalancerIngress, len(in.Ingress)) - for i := range in.Ingress { - if err := deepCopy_v1beta3_LoadBalancerIngress(in.Ingress[i], &out.Ingress[i], c); err != nil { - return err - } - } - } else { - out.Ingress = nil - } - return nil -} - -func deepCopy_v1beta3_LocalObjectReference(in LocalObjectReference, out *LocalObjectReference, c *conversion.Cloner) error { - out.Name = in.Name - return nil -} - -func deepCopy_v1beta3_NFSVolumeSource(in NFSVolumeSource, out *NFSVolumeSource, c *conversion.Cloner) error { - out.Server = in.Server - out.Path = in.Path - out.ReadOnly = in.ReadOnly - return nil -} - -func deepCopy_v1beta3_Namespace(in Namespace, out *Namespace, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_NamespaceSpec(in.Spec, &out.Spec, c); err != nil { - return err - } - if err := deepCopy_v1beta3_NamespaceStatus(in.Status, &out.Status, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_NamespaceList(in NamespaceList, out *NamespaceList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Namespace, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_Namespace(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_NamespaceSpec(in NamespaceSpec, out *NamespaceSpec, c *conversion.Cloner) error { - if in.Finalizers != nil { - out.Finalizers = make([]FinalizerName, len(in.Finalizers)) - for i := range in.Finalizers { - out.Finalizers[i] = in.Finalizers[i] - } - } else { - out.Finalizers = nil - } - return nil -} - -func deepCopy_v1beta3_NamespaceStatus(in NamespaceStatus, out *NamespaceStatus, c *conversion.Cloner) error { - out.Phase = in.Phase - return nil -} - -func deepCopy_v1beta3_Node(in Node, out *Node, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_NodeSpec(in.Spec, &out.Spec, c); err != nil { - return err - } - if err := deepCopy_v1beta3_NodeStatus(in.Status, &out.Status, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_NodeAddress(in NodeAddress, out *NodeAddress, c *conversion.Cloner) error { - out.Type = in.Type - out.Address = in.Address - return nil -} - -func deepCopy_v1beta3_NodeCondition(in NodeCondition, out *NodeCondition, c *conversion.Cloner) error { - out.Type = in.Type - out.Status = in.Status - if err := deepCopy_util_Time(in.LastHeartbeatTime, &out.LastHeartbeatTime, c); err != nil { - return err - } - if err := deepCopy_util_Time(in.LastTransitionTime, &out.LastTransitionTime, c); err != nil { - return err - } - out.Reason = in.Reason - out.Message = in.Message - return nil -} - -func deepCopy_v1beta3_NodeList(in NodeList, out *NodeList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Node, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_Node(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_NodeSpec(in NodeSpec, out *NodeSpec, c *conversion.Cloner) error { - out.PodCIDR = in.PodCIDR - out.ExternalID = in.ExternalID - out.ProviderID = in.ProviderID - out.Unschedulable = in.Unschedulable - return nil -} - -func deepCopy_v1beta3_NodeStatus(in NodeStatus, out *NodeStatus, c *conversion.Cloner) error { - if in.Capacity != nil { - out.Capacity = make(map[ResourceName]resource.Quantity) - for key, val := range in.Capacity { - newVal := new(resource.Quantity) - if err := deepCopy_resource_Quantity(val, newVal, c); err != nil { - return err - } - out.Capacity[key] = *newVal - } - } else { - out.Capacity = nil - } - out.Phase = in.Phase - if in.Conditions != nil { - out.Conditions = make([]NodeCondition, len(in.Conditions)) - for i := range in.Conditions { - if err := deepCopy_v1beta3_NodeCondition(in.Conditions[i], &out.Conditions[i], c); err != nil { - return err - } - } - } else { - out.Conditions = nil - } - if in.Addresses != nil { - out.Addresses = make([]NodeAddress, len(in.Addresses)) - for i := range in.Addresses { - if err := deepCopy_v1beta3_NodeAddress(in.Addresses[i], &out.Addresses[i], c); err != nil { - return err - } - } - } else { - out.Addresses = nil - } - if err := deepCopy_v1beta3_NodeSystemInfo(in.NodeInfo, &out.NodeInfo, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_NodeSystemInfo(in NodeSystemInfo, out *NodeSystemInfo, c *conversion.Cloner) error { - out.MachineID = in.MachineID - out.SystemUUID = in.SystemUUID - out.BootID = in.BootID - out.KernelVersion = in.KernelVersion - out.OsImage = in.OsImage - out.ContainerRuntimeVersion = in.ContainerRuntimeVersion - out.KubeletVersion = in.KubeletVersion - out.KubeProxyVersion = in.KubeProxyVersion - return nil -} - -func deepCopy_v1beta3_ObjectFieldSelector(in ObjectFieldSelector, out *ObjectFieldSelector, c *conversion.Cloner) error { - out.APIVersion = in.APIVersion - out.FieldPath = in.FieldPath - return nil -} - -func deepCopy_v1beta3_ObjectMeta(in ObjectMeta, out *ObjectMeta, c *conversion.Cloner) error { - out.Name = in.Name - out.GenerateName = in.GenerateName - out.Namespace = in.Namespace - out.SelfLink = in.SelfLink - out.UID = in.UID - out.ResourceVersion = in.ResourceVersion - out.Generation = in.Generation - if err := deepCopy_util_Time(in.CreationTimestamp, &out.CreationTimestamp, c); err != nil { - return err - } - if in.DeletionTimestamp != nil { - out.DeletionTimestamp = new(util.Time) - if err := deepCopy_util_Time(*in.DeletionTimestamp, out.DeletionTimestamp, c); err != nil { - return err - } - } else { - out.DeletionTimestamp = nil - } - if in.Labels != nil { - out.Labels = make(map[string]string) - for key, val := range in.Labels { - out.Labels[key] = val - } - } else { - out.Labels = nil - } - if in.Annotations != nil { - out.Annotations = make(map[string]string) - for key, val := range in.Annotations { - out.Annotations[key] = val - } - } else { - out.Annotations = nil - } - return nil -} - -func deepCopy_v1beta3_ObjectReference(in ObjectReference, out *ObjectReference, c *conversion.Cloner) error { - out.Kind = in.Kind - out.Namespace = in.Namespace - out.Name = in.Name - out.UID = in.UID - out.APIVersion = in.APIVersion - out.ResourceVersion = in.ResourceVersion - out.FieldPath = in.FieldPath - return nil -} - -func deepCopy_v1beta3_PersistentVolume(in PersistentVolume, out *PersistentVolume, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_PersistentVolumeSpec(in.Spec, &out.Spec, c); err != nil { - return err - } - if err := deepCopy_v1beta3_PersistentVolumeStatus(in.Status, &out.Status, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_PersistentVolumeClaim(in PersistentVolumeClaim, out *PersistentVolumeClaim, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_PersistentVolumeClaimSpec(in.Spec, &out.Spec, c); err != nil { - return err - } - if err := deepCopy_v1beta3_PersistentVolumeClaimStatus(in.Status, &out.Status, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_PersistentVolumeClaimList(in PersistentVolumeClaimList, out *PersistentVolumeClaimList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]PersistentVolumeClaim, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_PersistentVolumeClaim(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_PersistentVolumeClaimSpec(in PersistentVolumeClaimSpec, out *PersistentVolumeClaimSpec, c *conversion.Cloner) error { - if in.AccessModes != nil { - out.AccessModes = make([]PersistentVolumeAccessMode, len(in.AccessModes)) - for i := range in.AccessModes { - out.AccessModes[i] = in.AccessModes[i] - } - } else { - out.AccessModes = nil - } - if err := deepCopy_v1beta3_ResourceRequirements(in.Resources, &out.Resources, c); err != nil { - return err - } - out.VolumeName = in.VolumeName - return nil -} - -func deepCopy_v1beta3_PersistentVolumeClaimStatus(in PersistentVolumeClaimStatus, out *PersistentVolumeClaimStatus, c *conversion.Cloner) error { - out.Phase = in.Phase - if in.AccessModes != nil { - out.AccessModes = make([]PersistentVolumeAccessMode, len(in.AccessModes)) - for i := range in.AccessModes { - out.AccessModes[i] = in.AccessModes[i] - } - } else { - out.AccessModes = nil - } - if in.Capacity != nil { - out.Capacity = make(map[ResourceName]resource.Quantity) - for key, val := range in.Capacity { - newVal := new(resource.Quantity) - if err := deepCopy_resource_Quantity(val, newVal, c); err != nil { - return err - } - out.Capacity[key] = *newVal - } - } else { - out.Capacity = nil - } - return nil -} - -func deepCopy_v1beta3_PersistentVolumeClaimVolumeSource(in PersistentVolumeClaimVolumeSource, out *PersistentVolumeClaimVolumeSource, c *conversion.Cloner) error { - out.ClaimName = in.ClaimName - out.ReadOnly = in.ReadOnly - return nil -} - -func deepCopy_v1beta3_PersistentVolumeList(in PersistentVolumeList, out *PersistentVolumeList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]PersistentVolume, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_PersistentVolume(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_PersistentVolumeSource(in PersistentVolumeSource, out *PersistentVolumeSource, c *conversion.Cloner) error { - if in.GCEPersistentDisk != nil { - out.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource) - if err := deepCopy_v1beta3_GCEPersistentDiskVolumeSource(*in.GCEPersistentDisk, out.GCEPersistentDisk, c); err != nil { - return err - } - } else { - out.GCEPersistentDisk = nil - } - if in.AWSElasticBlockStore != nil { - out.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource) - if err := deepCopy_v1beta3_AWSElasticBlockStoreVolumeSource(*in.AWSElasticBlockStore, out.AWSElasticBlockStore, c); err != nil { - return err - } - } else { - out.AWSElasticBlockStore = nil - } - if in.HostPath != nil { - out.HostPath = new(HostPathVolumeSource) - if err := deepCopy_v1beta3_HostPathVolumeSource(*in.HostPath, out.HostPath, c); err != nil { - return err - } - } else { - out.HostPath = nil - } - if in.Glusterfs != nil { - out.Glusterfs = new(GlusterfsVolumeSource) - if err := deepCopy_v1beta3_GlusterfsVolumeSource(*in.Glusterfs, out.Glusterfs, c); err != nil { - return err - } - } else { - out.Glusterfs = nil - } - if in.NFS != nil { - out.NFS = new(NFSVolumeSource) - if err := deepCopy_v1beta3_NFSVolumeSource(*in.NFS, out.NFS, c); err != nil { - return err - } - } else { - out.NFS = nil - } - if in.RBD != nil { - out.RBD = new(RBDVolumeSource) - if err := deepCopy_v1beta3_RBDVolumeSource(*in.RBD, out.RBD, c); err != nil { - return err - } - } else { - out.RBD = nil - } - if in.ISCSI != nil { - out.ISCSI = new(ISCSIVolumeSource) - if err := deepCopy_v1beta3_ISCSIVolumeSource(*in.ISCSI, out.ISCSI, c); err != nil { - return err - } - } else { - out.ISCSI = nil - } - return nil -} - -func deepCopy_v1beta3_PersistentVolumeSpec(in PersistentVolumeSpec, out *PersistentVolumeSpec, c *conversion.Cloner) error { - if in.Capacity != nil { - out.Capacity = make(map[ResourceName]resource.Quantity) - for key, val := range in.Capacity { - newVal := new(resource.Quantity) - if err := deepCopy_resource_Quantity(val, newVal, c); err != nil { - return err - } - out.Capacity[key] = *newVal - } - } else { - out.Capacity = nil - } - if err := deepCopy_v1beta3_PersistentVolumeSource(in.PersistentVolumeSource, &out.PersistentVolumeSource, c); err != nil { - return err - } - if in.AccessModes != nil { - out.AccessModes = make([]PersistentVolumeAccessMode, len(in.AccessModes)) - for i := range in.AccessModes { - out.AccessModes[i] = in.AccessModes[i] - } - } else { - out.AccessModes = nil - } - if in.ClaimRef != nil { - out.ClaimRef = new(ObjectReference) - if err := deepCopy_v1beta3_ObjectReference(*in.ClaimRef, out.ClaimRef, c); err != nil { - return err - } - } else { - out.ClaimRef = nil - } - out.PersistentVolumeReclaimPolicy = in.PersistentVolumeReclaimPolicy - return nil -} - -func deepCopy_v1beta3_PersistentVolumeStatus(in PersistentVolumeStatus, out *PersistentVolumeStatus, c *conversion.Cloner) error { - out.Phase = in.Phase - out.Message = in.Message - out.Reason = in.Reason - return nil -} - -func deepCopy_v1beta3_Pod(in Pod, out *Pod, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_PodSpec(in.Spec, &out.Spec, c); err != nil { - return err - } - if err := deepCopy_v1beta3_PodStatus(in.Status, &out.Status, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_PodCondition(in PodCondition, out *PodCondition, c *conversion.Cloner) error { - out.Type = in.Type - out.Status = in.Status - return nil -} - -func deepCopy_v1beta3_PodExecOptions(in PodExecOptions, out *PodExecOptions, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - out.Stdin = in.Stdin - out.Stdout = in.Stdout - out.Stderr = in.Stderr - out.TTY = in.TTY - out.Container = in.Container - if in.Command != nil { - out.Command = make([]string, len(in.Command)) - for i := range in.Command { - out.Command[i] = in.Command[i] - } - } else { - out.Command = nil - } - return nil -} - -func deepCopy_v1beta3_PodList(in PodList, out *PodList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Pod, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_Pod(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_PodLogOptions(in PodLogOptions, out *PodLogOptions, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - out.Container = in.Container - out.Follow = in.Follow - out.Previous = in.Previous - return nil -} - -func deepCopy_v1beta3_PodProxyOptions(in PodProxyOptions, out *PodProxyOptions, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - out.Path = in.Path - return nil -} - -func deepCopy_v1beta3_PodSpec(in PodSpec, out *PodSpec, c *conversion.Cloner) error { - if in.Volumes != nil { - out.Volumes = make([]Volume, len(in.Volumes)) - for i := range in.Volumes { - if err := deepCopy_v1beta3_Volume(in.Volumes[i], &out.Volumes[i], c); err != nil { - return err - } - } - } else { - out.Volumes = nil - } - if in.Containers != nil { - out.Containers = make([]Container, len(in.Containers)) - for i := range in.Containers { - if err := deepCopy_v1beta3_Container(in.Containers[i], &out.Containers[i], c); err != nil { - return err - } - } - } else { - out.Containers = nil - } - out.RestartPolicy = in.RestartPolicy - if in.TerminationGracePeriodSeconds != nil { - out.TerminationGracePeriodSeconds = new(int64) - *out.TerminationGracePeriodSeconds = *in.TerminationGracePeriodSeconds - } else { - out.TerminationGracePeriodSeconds = nil - } - if in.ActiveDeadlineSeconds != nil { - out.ActiveDeadlineSeconds = new(int64) - *out.ActiveDeadlineSeconds = *in.ActiveDeadlineSeconds - } else { - out.ActiveDeadlineSeconds = nil - } - out.DNSPolicy = in.DNSPolicy - if in.NodeSelector != nil { - out.NodeSelector = make(map[string]string) - for key, val := range in.NodeSelector { - out.NodeSelector[key] = val - } - } else { - out.NodeSelector = nil - } - out.ServiceAccount = in.ServiceAccount - out.Host = in.Host - out.HostNetwork = in.HostNetwork - if in.ImagePullSecrets != nil { - out.ImagePullSecrets = make([]LocalObjectReference, len(in.ImagePullSecrets)) - for i := range in.ImagePullSecrets { - if err := deepCopy_v1beta3_LocalObjectReference(in.ImagePullSecrets[i], &out.ImagePullSecrets[i], c); err != nil { - return err - } - } - } else { - out.ImagePullSecrets = nil - } - return nil -} - -func deepCopy_v1beta3_PodStatus(in PodStatus, out *PodStatus, c *conversion.Cloner) error { - out.Phase = in.Phase - if in.Conditions != nil { - out.Conditions = make([]PodCondition, len(in.Conditions)) - for i := range in.Conditions { - if err := deepCopy_v1beta3_PodCondition(in.Conditions[i], &out.Conditions[i], c); err != nil { - return err - } - } - } else { - out.Conditions = nil - } - out.Message = in.Message - out.Reason = in.Reason - out.HostIP = in.HostIP - out.PodIP = in.PodIP - if in.StartTime != nil { - out.StartTime = new(util.Time) - if err := deepCopy_util_Time(*in.StartTime, out.StartTime, c); err != nil { - return err - } - } else { - out.StartTime = nil - } - if in.ContainerStatuses != nil { - out.ContainerStatuses = make([]ContainerStatus, len(in.ContainerStatuses)) - for i := range in.ContainerStatuses { - if err := deepCopy_v1beta3_ContainerStatus(in.ContainerStatuses[i], &out.ContainerStatuses[i], c); err != nil { - return err - } - } - } else { - out.ContainerStatuses = nil - } - return nil -} - -func deepCopy_v1beta3_PodStatusResult(in PodStatusResult, out *PodStatusResult, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_PodStatus(in.Status, &out.Status, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_PodTemplate(in PodTemplate, out *PodTemplate, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_PodTemplateSpec(in.Template, &out.Template, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_PodTemplateList(in PodTemplateList, out *PodTemplateList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]PodTemplate, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_PodTemplate(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_PodTemplateSpec(in PodTemplateSpec, out *PodTemplateSpec, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_PodSpec(in.Spec, &out.Spec, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_Probe(in Probe, out *Probe, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_Handler(in.Handler, &out.Handler, c); err != nil { - return err - } - out.InitialDelaySeconds = in.InitialDelaySeconds - out.TimeoutSeconds = in.TimeoutSeconds - return nil -} - -func deepCopy_v1beta3_RBDVolumeSource(in RBDVolumeSource, out *RBDVolumeSource, c *conversion.Cloner) error { - if in.CephMonitors != nil { - out.CephMonitors = make([]string, len(in.CephMonitors)) - for i := range in.CephMonitors { - out.CephMonitors[i] = in.CephMonitors[i] - } - } else { - out.CephMonitors = nil - } - out.RBDImage = in.RBDImage - out.FSType = in.FSType - out.RBDPool = in.RBDPool - out.RadosUser = in.RadosUser - out.Keyring = in.Keyring - if in.SecretRef != nil { - out.SecretRef = new(LocalObjectReference) - if err := deepCopy_v1beta3_LocalObjectReference(*in.SecretRef, out.SecretRef, c); err != nil { - return err - } - } else { - out.SecretRef = nil - } - out.ReadOnly = in.ReadOnly - return nil -} - -func deepCopy_v1beta3_RangeAllocation(in RangeAllocation, out *RangeAllocation, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - out.Range = in.Range - if in.Data != nil { - out.Data = make([]uint8, len(in.Data)) - for i := range in.Data { - out.Data[i] = in.Data[i] - } - } else { - out.Data = nil - } - return nil -} - -func deepCopy_v1beta3_ReplicationController(in ReplicationController, out *ReplicationController, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ReplicationControllerSpec(in.Spec, &out.Spec, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ReplicationControllerStatus(in.Status, &out.Status, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_ReplicationControllerList(in ReplicationControllerList, out *ReplicationControllerList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]ReplicationController, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_ReplicationController(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_ReplicationControllerSpec(in ReplicationControllerSpec, out *ReplicationControllerSpec, c *conversion.Cloner) error { - if in.Replicas != nil { - out.Replicas = new(int) - *out.Replicas = *in.Replicas - } else { - out.Replicas = nil - } - if in.Selector != nil { - out.Selector = make(map[string]string) - for key, val := range in.Selector { - out.Selector[key] = val - } - } else { - out.Selector = nil - } - if in.Template != nil { - out.Template = new(PodTemplateSpec) - if err := deepCopy_v1beta3_PodTemplateSpec(*in.Template, out.Template, c); err != nil { - return err - } - } else { - out.Template = nil - } - return nil -} - -func deepCopy_v1beta3_ReplicationControllerStatus(in ReplicationControllerStatus, out *ReplicationControllerStatus, c *conversion.Cloner) error { - out.Replicas = in.Replicas - out.ObservedGeneration = in.ObservedGeneration - return nil -} - -func deepCopy_v1beta3_ResourceQuota(in ResourceQuota, out *ResourceQuota, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ResourceQuotaSpec(in.Spec, &out.Spec, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ResourceQuotaStatus(in.Status, &out.Status, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_ResourceQuotaList(in ResourceQuotaList, out *ResourceQuotaList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]ResourceQuota, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_ResourceQuota(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_ResourceQuotaSpec(in ResourceQuotaSpec, out *ResourceQuotaSpec, c *conversion.Cloner) error { - if in.Hard != nil { - out.Hard = make(map[ResourceName]resource.Quantity) - for key, val := range in.Hard { - newVal := new(resource.Quantity) - if err := deepCopy_resource_Quantity(val, newVal, c); err != nil { - return err - } - out.Hard[key] = *newVal - } - } else { - out.Hard = nil - } - return nil -} - -func deepCopy_v1beta3_ResourceQuotaStatus(in ResourceQuotaStatus, out *ResourceQuotaStatus, c *conversion.Cloner) error { - if in.Hard != nil { - out.Hard = make(map[ResourceName]resource.Quantity) - for key, val := range in.Hard { - newVal := new(resource.Quantity) - if err := deepCopy_resource_Quantity(val, newVal, c); err != nil { - return err - } - out.Hard[key] = *newVal - } - } else { - out.Hard = nil - } - if in.Used != nil { - out.Used = make(map[ResourceName]resource.Quantity) - for key, val := range in.Used { - newVal := new(resource.Quantity) - if err := deepCopy_resource_Quantity(val, newVal, c); err != nil { - return err - } - out.Used[key] = *newVal - } - } else { - out.Used = nil - } - return nil -} - -func deepCopy_v1beta3_ResourceRequirements(in ResourceRequirements, out *ResourceRequirements, c *conversion.Cloner) error { - if in.Limits != nil { - out.Limits = make(map[ResourceName]resource.Quantity) - for key, val := range in.Limits { - newVal := new(resource.Quantity) - if err := deepCopy_resource_Quantity(val, newVal, c); err != nil { - return err - } - out.Limits[key] = *newVal - } - } else { - out.Limits = nil - } - if in.Requests != nil { - out.Requests = make(map[ResourceName]resource.Quantity) - for key, val := range in.Requests { - newVal := new(resource.Quantity) - if err := deepCopy_resource_Quantity(val, newVal, c); err != nil { - return err - } - out.Requests[key] = *newVal - } - } else { - out.Requests = nil - } - return nil -} - -func deepCopy_v1beta3_SELinuxOptions(in SELinuxOptions, out *SELinuxOptions, c *conversion.Cloner) error { - out.User = in.User - out.Role = in.Role - out.Type = in.Type - out.Level = in.Level - return nil -} - -func deepCopy_v1beta3_Secret(in Secret, out *Secret, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if in.Data != nil { - out.Data = make(map[string][]uint8) - for key, val := range in.Data { - if newVal, err := c.DeepCopy(val); err != nil { - return err - } else { - out.Data[key] = newVal.([]uint8) - } - } - } else { - out.Data = nil - } - out.Type = in.Type - return nil -} - -func deepCopy_v1beta3_SecretList(in SecretList, out *SecretList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Secret, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_Secret(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_SecretVolumeSource(in SecretVolumeSource, out *SecretVolumeSource, c *conversion.Cloner) error { - out.SecretName = in.SecretName - return nil -} - -func deepCopy_v1beta3_SecurityContext(in SecurityContext, out *SecurityContext, c *conversion.Cloner) error { - if in.Capabilities != nil { - out.Capabilities = new(Capabilities) - if err := deepCopy_v1beta3_Capabilities(*in.Capabilities, out.Capabilities, c); err != nil { - return err - } - } else { - out.Capabilities = nil - } - if in.Privileged != nil { - out.Privileged = new(bool) - *out.Privileged = *in.Privileged - } else { - out.Privileged = nil - } - if in.SELinuxOptions != nil { - out.SELinuxOptions = new(SELinuxOptions) - if err := deepCopy_v1beta3_SELinuxOptions(*in.SELinuxOptions, out.SELinuxOptions, c); err != nil { - return err - } - } else { - out.SELinuxOptions = nil - } - if in.RunAsUser != nil { - out.RunAsUser = new(int64) - *out.RunAsUser = *in.RunAsUser - } else { - out.RunAsUser = nil - } - return nil -} - -func deepCopy_v1beta3_SerializedReference(in SerializedReference, out *SerializedReference, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectReference(in.Reference, &out.Reference, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_Service(in Service, out *Service, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ServiceSpec(in.Spec, &out.Spec, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ServiceStatus(in.Status, &out.Status, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_ServiceAccount(in ServiceAccount, out *ServiceAccount, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ObjectMeta(in.ObjectMeta, &out.ObjectMeta, c); err != nil { - return err - } - if in.Secrets != nil { - out.Secrets = make([]ObjectReference, len(in.Secrets)) - for i := range in.Secrets { - if err := deepCopy_v1beta3_ObjectReference(in.Secrets[i], &out.Secrets[i], c); err != nil { - return err - } - } - } else { - out.Secrets = nil - } - if in.ImagePullSecrets != nil { - out.ImagePullSecrets = make([]LocalObjectReference, len(in.ImagePullSecrets)) - for i := range in.ImagePullSecrets { - if err := deepCopy_v1beta3_LocalObjectReference(in.ImagePullSecrets[i], &out.ImagePullSecrets[i], c); err != nil { - return err - } - } - } else { - out.ImagePullSecrets = nil - } - return nil -} - -func deepCopy_v1beta3_ServiceAccountList(in ServiceAccountList, out *ServiceAccountList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]ServiceAccount, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_ServiceAccount(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_ServiceList(in ServiceList, out *ServiceList, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - if in.Items != nil { - out.Items = make([]Service, len(in.Items)) - for i := range in.Items { - if err := deepCopy_v1beta3_Service(in.Items[i], &out.Items[i], c); err != nil { - return err - } - } - } else { - out.Items = nil - } - return nil -} - -func deepCopy_v1beta3_ServicePort(in ServicePort, out *ServicePort, c *conversion.Cloner) error { - out.Name = in.Name - out.Protocol = in.Protocol - out.Port = in.Port - if err := deepCopy_util_IntOrString(in.TargetPort, &out.TargetPort, c); err != nil { - return err - } - out.NodePort = in.NodePort - return nil -} - -func deepCopy_v1beta3_ServiceSpec(in ServiceSpec, out *ServiceSpec, c *conversion.Cloner) error { - if in.Ports != nil { - out.Ports = make([]ServicePort, len(in.Ports)) - for i := range in.Ports { - if err := deepCopy_v1beta3_ServicePort(in.Ports[i], &out.Ports[i], c); err != nil { - return err - } - } - } else { - out.Ports = nil - } - if in.Selector != nil { - out.Selector = make(map[string]string) - for key, val := range in.Selector { - out.Selector[key] = val - } - } else { - out.Selector = nil - } - out.PortalIP = in.PortalIP - out.CreateExternalLoadBalancer = in.CreateExternalLoadBalancer - out.Type = in.Type - if in.PublicIPs != nil { - out.PublicIPs = make([]string, len(in.PublicIPs)) - for i := range in.PublicIPs { - out.PublicIPs[i] = in.PublicIPs[i] - } - } else { - out.PublicIPs = nil - } - out.SessionAffinity = in.SessionAffinity - return nil -} - -func deepCopy_v1beta3_ServiceStatus(in ServiceStatus, out *ServiceStatus, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_LoadBalancerStatus(in.LoadBalancer, &out.LoadBalancer, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_Status(in Status, out *Status, c *conversion.Cloner) error { - if err := deepCopy_v1beta3_TypeMeta(in.TypeMeta, &out.TypeMeta, c); err != nil { - return err - } - if err := deepCopy_v1beta3_ListMeta(in.ListMeta, &out.ListMeta, c); err != nil { - return err - } - out.Status = in.Status - out.Message = in.Message - out.Reason = in.Reason - if in.Details != nil { - out.Details = new(StatusDetails) - if err := deepCopy_v1beta3_StatusDetails(*in.Details, out.Details, c); err != nil { - return err - } - } else { - out.Details = nil - } - out.Code = in.Code - return nil -} - -func deepCopy_v1beta3_StatusCause(in StatusCause, out *StatusCause, c *conversion.Cloner) error { - out.Type = in.Type - out.Message = in.Message - out.Field = in.Field - return nil -} - -func deepCopy_v1beta3_StatusDetails(in StatusDetails, out *StatusDetails, c *conversion.Cloner) error { - out.ID = in.ID - out.Kind = in.Kind - if in.Causes != nil { - out.Causes = make([]StatusCause, len(in.Causes)) - for i := range in.Causes { - if err := deepCopy_v1beta3_StatusCause(in.Causes[i], &out.Causes[i], c); err != nil { - return err - } - } - } else { - out.Causes = nil - } - out.RetryAfterSeconds = in.RetryAfterSeconds - return nil -} - -func deepCopy_v1beta3_TCPSocketAction(in TCPSocketAction, out *TCPSocketAction, c *conversion.Cloner) error { - if err := deepCopy_util_IntOrString(in.Port, &out.Port, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_TypeMeta(in TypeMeta, out *TypeMeta, c *conversion.Cloner) error { - out.Kind = in.Kind - out.APIVersion = in.APIVersion - return nil -} - -func deepCopy_v1beta3_Volume(in Volume, out *Volume, c *conversion.Cloner) error { - out.Name = in.Name - if err := deepCopy_v1beta3_VolumeSource(in.VolumeSource, &out.VolumeSource, c); err != nil { - return err - } - return nil -} - -func deepCopy_v1beta3_VolumeMount(in VolumeMount, out *VolumeMount, c *conversion.Cloner) error { - out.Name = in.Name - out.ReadOnly = in.ReadOnly - out.MountPath = in.MountPath - return nil -} - -func deepCopy_v1beta3_VolumeSource(in VolumeSource, out *VolumeSource, c *conversion.Cloner) error { - if in.HostPath != nil { - out.HostPath = new(HostPathVolumeSource) - if err := deepCopy_v1beta3_HostPathVolumeSource(*in.HostPath, out.HostPath, c); err != nil { - return err - } - } else { - out.HostPath = nil - } - if in.EmptyDir != nil { - out.EmptyDir = new(EmptyDirVolumeSource) - if err := deepCopy_v1beta3_EmptyDirVolumeSource(*in.EmptyDir, out.EmptyDir, c); err != nil { - return err - } - } else { - out.EmptyDir = nil - } - if in.GCEPersistentDisk != nil { - out.GCEPersistentDisk = new(GCEPersistentDiskVolumeSource) - if err := deepCopy_v1beta3_GCEPersistentDiskVolumeSource(*in.GCEPersistentDisk, out.GCEPersistentDisk, c); err != nil { - return err - } - } else { - out.GCEPersistentDisk = nil - } - if in.AWSElasticBlockStore != nil { - out.AWSElasticBlockStore = new(AWSElasticBlockStoreVolumeSource) - if err := deepCopy_v1beta3_AWSElasticBlockStoreVolumeSource(*in.AWSElasticBlockStore, out.AWSElasticBlockStore, c); err != nil { - return err - } - } else { - out.AWSElasticBlockStore = nil - } - if in.GitRepo != nil { - out.GitRepo = new(GitRepoVolumeSource) - if err := deepCopy_v1beta3_GitRepoVolumeSource(*in.GitRepo, out.GitRepo, c); err != nil { - return err - } - } else { - out.GitRepo = nil - } - if in.Secret != nil { - out.Secret = new(SecretVolumeSource) - if err := deepCopy_v1beta3_SecretVolumeSource(*in.Secret, out.Secret, c); err != nil { - return err - } - } else { - out.Secret = nil - } - if in.NFS != nil { - out.NFS = new(NFSVolumeSource) - if err := deepCopy_v1beta3_NFSVolumeSource(*in.NFS, out.NFS, c); err != nil { - return err - } - } else { - out.NFS = nil - } - if in.ISCSI != nil { - out.ISCSI = new(ISCSIVolumeSource) - if err := deepCopy_v1beta3_ISCSIVolumeSource(*in.ISCSI, out.ISCSI, c); err != nil { - return err - } - } else { - out.ISCSI = nil - } - if in.Glusterfs != nil { - out.Glusterfs = new(GlusterfsVolumeSource) - if err := deepCopy_v1beta3_GlusterfsVolumeSource(*in.Glusterfs, out.Glusterfs, c); err != nil { - return err - } - } else { - out.Glusterfs = nil - } - if in.PersistentVolumeClaim != nil { - out.PersistentVolumeClaim = new(PersistentVolumeClaimVolumeSource) - if err := deepCopy_v1beta3_PersistentVolumeClaimVolumeSource(*in.PersistentVolumeClaim, out.PersistentVolumeClaim, c); err != nil { - return err - } - } else { - out.PersistentVolumeClaim = nil - } - if in.RBD != nil { - out.RBD = new(RBDVolumeSource) - if err := deepCopy_v1beta3_RBDVolumeSource(*in.RBD, out.RBD, c); err != nil { - return err - } - } else { - out.RBD = nil - } - return nil -} - -func deepCopy_runtime_RawExtension(in runtime.RawExtension, out *runtime.RawExtension, c *conversion.Cloner) error { - if in.RawJSON != nil { - out.RawJSON = make([]uint8, len(in.RawJSON)) - for i := range in.RawJSON { - out.RawJSON[i] = in.RawJSON[i] - } - } else { - out.RawJSON = nil - } - return nil -} - -func deepCopy_util_IntOrString(in util.IntOrString, out *util.IntOrString, c *conversion.Cloner) error { - out.Kind = in.Kind - out.IntVal = in.IntVal - out.StrVal = in.StrVal - return nil -} - -func deepCopy_util_Time(in util.Time, out *util.Time, c *conversion.Cloner) error { - if newVal, err := c.DeepCopy(in.Time); err != nil { - return err - } else { - out.Time = newVal.(time.Time) - } - return nil -} - -func init() { - err := api.Scheme.AddGeneratedDeepCopyFuncs( - deepCopy_resource_Quantity, - deepCopy_v1beta3_AWSElasticBlockStoreVolumeSource, - deepCopy_v1beta3_Binding, - deepCopy_v1beta3_Capabilities, - deepCopy_v1beta3_ComponentCondition, - deepCopy_v1beta3_ComponentStatus, - deepCopy_v1beta3_ComponentStatusList, - deepCopy_v1beta3_Container, - deepCopy_v1beta3_ContainerPort, - deepCopy_v1beta3_ContainerState, - deepCopy_v1beta3_ContainerStateRunning, - deepCopy_v1beta3_ContainerStateTerminated, - deepCopy_v1beta3_ContainerStateWaiting, - deepCopy_v1beta3_ContainerStatus, - deepCopy_v1beta3_DeleteOptions, - deepCopy_v1beta3_EmptyDirVolumeSource, - deepCopy_v1beta3_EndpointAddress, - deepCopy_v1beta3_EndpointPort, - deepCopy_v1beta3_EndpointSubset, - deepCopy_v1beta3_Endpoints, - deepCopy_v1beta3_EndpointsList, - deepCopy_v1beta3_EnvVar, - deepCopy_v1beta3_EnvVarSource, - deepCopy_v1beta3_Event, - deepCopy_v1beta3_EventList, - deepCopy_v1beta3_EventSource, - deepCopy_v1beta3_ExecAction, - deepCopy_v1beta3_GCEPersistentDiskVolumeSource, - deepCopy_v1beta3_GitRepoVolumeSource, - deepCopy_v1beta3_GlusterfsVolumeSource, - deepCopy_v1beta3_HTTPGetAction, - deepCopy_v1beta3_Handler, - deepCopy_v1beta3_HostPathVolumeSource, - deepCopy_v1beta3_ISCSIVolumeSource, - deepCopy_v1beta3_Lifecycle, - deepCopy_v1beta3_LimitRange, - deepCopy_v1beta3_LimitRangeItem, - deepCopy_v1beta3_LimitRangeList, - deepCopy_v1beta3_LimitRangeSpec, - deepCopy_v1beta3_List, - deepCopy_v1beta3_ListMeta, - deepCopy_v1beta3_ListOptions, - deepCopy_v1beta3_LoadBalancerIngress, - deepCopy_v1beta3_LoadBalancerStatus, - deepCopy_v1beta3_LocalObjectReference, - deepCopy_v1beta3_NFSVolumeSource, - deepCopy_v1beta3_Namespace, - deepCopy_v1beta3_NamespaceList, - deepCopy_v1beta3_NamespaceSpec, - deepCopy_v1beta3_NamespaceStatus, - deepCopy_v1beta3_Node, - deepCopy_v1beta3_NodeAddress, - deepCopy_v1beta3_NodeCondition, - deepCopy_v1beta3_NodeList, - deepCopy_v1beta3_NodeSpec, - deepCopy_v1beta3_NodeStatus, - deepCopy_v1beta3_NodeSystemInfo, - deepCopy_v1beta3_ObjectFieldSelector, - deepCopy_v1beta3_ObjectMeta, - deepCopy_v1beta3_ObjectReference, - deepCopy_v1beta3_PersistentVolume, - deepCopy_v1beta3_PersistentVolumeClaim, - deepCopy_v1beta3_PersistentVolumeClaimList, - deepCopy_v1beta3_PersistentVolumeClaimSpec, - deepCopy_v1beta3_PersistentVolumeClaimStatus, - deepCopy_v1beta3_PersistentVolumeClaimVolumeSource, - deepCopy_v1beta3_PersistentVolumeList, - deepCopy_v1beta3_PersistentVolumeSource, - deepCopy_v1beta3_PersistentVolumeSpec, - deepCopy_v1beta3_PersistentVolumeStatus, - deepCopy_v1beta3_Pod, - deepCopy_v1beta3_PodCondition, - deepCopy_v1beta3_PodExecOptions, - deepCopy_v1beta3_PodList, - deepCopy_v1beta3_PodLogOptions, - deepCopy_v1beta3_PodProxyOptions, - deepCopy_v1beta3_PodSpec, - deepCopy_v1beta3_PodStatus, - deepCopy_v1beta3_PodStatusResult, - deepCopy_v1beta3_PodTemplate, - deepCopy_v1beta3_PodTemplateList, - deepCopy_v1beta3_PodTemplateSpec, - deepCopy_v1beta3_Probe, - deepCopy_v1beta3_RBDVolumeSource, - deepCopy_v1beta3_RangeAllocation, - deepCopy_v1beta3_ReplicationController, - deepCopy_v1beta3_ReplicationControllerList, - deepCopy_v1beta3_ReplicationControllerSpec, - deepCopy_v1beta3_ReplicationControllerStatus, - deepCopy_v1beta3_ResourceQuota, - deepCopy_v1beta3_ResourceQuotaList, - deepCopy_v1beta3_ResourceQuotaSpec, - deepCopy_v1beta3_ResourceQuotaStatus, - deepCopy_v1beta3_ResourceRequirements, - deepCopy_v1beta3_SELinuxOptions, - deepCopy_v1beta3_Secret, - deepCopy_v1beta3_SecretList, - deepCopy_v1beta3_SecretVolumeSource, - deepCopy_v1beta3_SecurityContext, - deepCopy_v1beta3_SerializedReference, - deepCopy_v1beta3_Service, - deepCopy_v1beta3_ServiceAccount, - deepCopy_v1beta3_ServiceAccountList, - deepCopy_v1beta3_ServiceList, - deepCopy_v1beta3_ServicePort, - deepCopy_v1beta3_ServiceSpec, - deepCopy_v1beta3_ServiceStatus, - deepCopy_v1beta3_Status, - deepCopy_v1beta3_StatusCause, - deepCopy_v1beta3_StatusDetails, - deepCopy_v1beta3_TCPSocketAction, - deepCopy_v1beta3_TypeMeta, - deepCopy_v1beta3_Volume, - deepCopy_v1beta3_VolumeMount, - deepCopy_v1beta3_VolumeSource, - deepCopy_runtime_RawExtension, - deepCopy_util_IntOrString, - deepCopy_util_Time, - ) - if err != nil { - // if one of the deep copy functions is malformed, detect it immediately. - panic(err) - } -} - -// AUTO-GENERATED FUNCTIONS END HERE diff --git a/pkg/api/v1beta3/defaults.go b/pkg/api/v1beta3/defaults.go deleted file mode 100644 index 37ce117d624..00000000000 --- a/pkg/api/v1beta3/defaults.go +++ /dev/null @@ -1,218 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors All rights reserved. - -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 v1beta3 - -import ( - "strings" - - "github.com/GoogleCloudPlatform/kubernetes/pkg/api" - "github.com/GoogleCloudPlatform/kubernetes/pkg/util" - "github.com/golang/glog" -) - -func addDefaultingFuncs() { - api.Scheme.AddDefaultingFuncs( - func(obj *ReplicationController) { - var labels map[string]string - if obj.Spec.Template != nil { - labels = obj.Spec.Template.Labels - } - // TODO: support templates defined elsewhere when we support them in the API - if labels != nil { - if len(obj.Spec.Selector) == 0 { - obj.Spec.Selector = labels - } - if len(obj.Labels) == 0 { - obj.Labels = labels - } - } - if obj.Spec.Replicas == nil { - obj.Spec.Replicas = new(int) - *obj.Spec.Replicas = 0 - } - }, - func(obj *Volume) { - if util.AllPtrFieldsNil(&obj.VolumeSource) { - obj.VolumeSource = VolumeSource{ - EmptyDir: &EmptyDirVolumeSource{}, - } - } - }, - func(obj *ContainerPort) { - if obj.Protocol == "" { - obj.Protocol = ProtocolTCP - } - }, - func(obj *Container) { - if obj.ImagePullPolicy == "" { - // TODO(dchen1107): Move ParseImageName code to pkg/util - parts := strings.Split(obj.Image, ":") - // Check image tag - if parts[len(parts)-1] == "latest" { - obj.ImagePullPolicy = PullAlways - } else { - obj.ImagePullPolicy = PullIfNotPresent - } - } - if obj.TerminationMessagePath == "" { - obj.TerminationMessagePath = TerminationMessagePathDefault - } - defaultSecurityContext(obj) - }, - func(obj *ServiceSpec) { - if obj.SessionAffinity == "" { - obj.SessionAffinity = ServiceAffinityNone - } - if obj.Type == "" { - if obj.CreateExternalLoadBalancer { - obj.Type = ServiceTypeLoadBalancer - } else { - obj.Type = ServiceTypeClusterIP - } - } else if obj.Type == ServiceTypeLoadBalancer { - obj.CreateExternalLoadBalancer = true - } - for i := range obj.Ports { - sp := &obj.Ports[i] - if sp.Protocol == "" { - sp.Protocol = ProtocolTCP - } - if sp.TargetPort == util.NewIntOrStringFromInt(0) || sp.TargetPort == util.NewIntOrStringFromString("") { - sp.TargetPort = util.NewIntOrStringFromInt(sp.Port) - } - } - }, - func(obj *PodSpec) { - if obj.DNSPolicy == "" { - obj.DNSPolicy = DNSClusterFirst - } - if obj.RestartPolicy == "" { - obj.RestartPolicy = RestartPolicyAlways - } - if obj.HostNetwork { - defaultHostNetworkPorts(&obj.Containers) - } - }, - func(obj *Probe) { - if obj.TimeoutSeconds == 0 { - obj.TimeoutSeconds = 1 - } - }, - func(obj *Secret) { - if obj.Type == "" { - obj.Type = SecretTypeOpaque - } - }, - func(obj *PersistentVolume) { - if obj.Status.Phase == "" { - obj.Status.Phase = VolumePending - } - if obj.Spec.PersistentVolumeReclaimPolicy == "" { - obj.Spec.PersistentVolumeReclaimPolicy = PersistentVolumeReclaimRetain - } - }, - func(obj *PersistentVolumeClaim) { - if obj.Status.Phase == "" { - obj.Status.Phase = ClaimPending - } - }, - func(obj *Endpoints) { - for i := range obj.Subsets { - ss := &obj.Subsets[i] - for i := range ss.Ports { - ep := &ss.Ports[i] - if ep.Protocol == "" { - ep.Protocol = ProtocolTCP - } - } - } - }, - func(obj *HTTPGetAction) { - if obj.Path == "" { - obj.Path = "/" - } - if obj.Scheme == "" { - obj.Scheme = URISchemeHTTP - } - }, - func(obj *NamespaceStatus) { - if obj.Phase == "" { - obj.Phase = NamespaceActive - } - }, - func(obj *Node) { - if obj.Spec.ExternalID == "" { - obj.Spec.ExternalID = obj.Name - } - }, - func(obj *ObjectFieldSelector) { - if obj.APIVersion == "" { - obj.APIVersion = "v1beta3" - } - }, - ) -} - -// With host networking default all container ports to host ports. -func defaultHostNetworkPorts(containers *[]Container) { - for i := range *containers { - for j := range (*containers)[i].Ports { - if (*containers)[i].Ports[j].HostPort == 0 { - (*containers)[i].Ports[j].HostPort = (*containers)[i].Ports[j].ContainerPort - } - } - } -} - -// defaultSecurityContext performs the downward and upward merges of a pod definition -func defaultSecurityContext(container *Container) { - if container.SecurityContext == nil { - if (len(container.Capabilities.Add) == 0) && (len(container.Capabilities.Drop) == 0) && (container.Privileged == false) { - return - } - glog.V(5).Infof("creating security context for container %s", container.Name) - container.SecurityContext = &SecurityContext{} - } - // if there are no capabilities defined on the SecurityContext then copy the container settings - if container.SecurityContext.Capabilities == nil { - container.SecurityContext.Capabilities = &container.Capabilities - } else { - // if there are capabilities defined on the security context and the container setting is - // empty then assume that it was left off the pod definition and ensure that the container - // settings match the security context settings (checked by the convert functions). If - // there are settings in both then don't touch it, the converter will error if they don't - // match - if len(container.Capabilities.Add) == 0 { - container.Capabilities.Add = container.SecurityContext.Capabilities.Add - } - if len(container.Capabilities.Drop) == 0 { - container.Capabilities.Drop = container.SecurityContext.Capabilities.Drop - } - } - // if there are no privileged settings on the security context then copy the container settings - if container.SecurityContext.Privileged == nil { - container.SecurityContext.Privileged = &container.Privileged - } else { - // we don't have a good way to know if container.Privileged was set or just defaulted to false - // so the best we can do here is check if the securityContext is set to true and the - // container is set to false and assume that the Privileged field was left off the container - // definition and not an intentional mismatch - if *container.SecurityContext.Privileged && !container.Privileged { - container.Privileged = *container.SecurityContext.Privileged - } - } -} diff --git a/pkg/api/v1beta3/defaults_test.go b/pkg/api/v1beta3/defaults_test.go deleted file mode 100644 index 058cfcd955c..00000000000 --- a/pkg/api/v1beta3/defaults_test.go +++ /dev/null @@ -1,471 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors All rights reserved. - -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 v1beta3_test - -import ( - "reflect" - "testing" - - "github.com/GoogleCloudPlatform/kubernetes/pkg/api" - versioned "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3" - "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" - "github.com/GoogleCloudPlatform/kubernetes/pkg/util" -) - -func roundTrip(t *testing.T, obj runtime.Object) runtime.Object { - data, err := versioned.Codec.Encode(obj) - if err != nil { - t.Errorf("%v\n %#v", err, obj) - return nil - } - obj2, err := api.Codec.Decode(data) - if err != nil { - t.Errorf("%v\nData: %s\nSource: %#v", err, string(data), obj) - return nil - } - obj3 := reflect.New(reflect.TypeOf(obj).Elem()).Interface().(runtime.Object) - err = api.Scheme.Convert(obj2, obj3) - if err != nil { - t.Errorf("%v\nSource: %#v", err, obj2) - return nil - } - return obj3 -} - -func TestSetDefaultReplicationController(t *testing.T) { - tests := []struct { - rc *versioned.ReplicationController - expectLabels bool - expectSelector bool - }{ - { - rc: &versioned.ReplicationController{ - Spec: versioned.ReplicationControllerSpec{ - Template: &versioned.PodTemplateSpec{ - ObjectMeta: versioned.ObjectMeta{ - Labels: map[string]string{ - "foo": "bar", - }, - }, - }, - }, - }, - expectLabels: true, - expectSelector: true, - }, - { - rc: &versioned.ReplicationController{ - ObjectMeta: versioned.ObjectMeta{ - Labels: map[string]string{ - "bar": "foo", - }, - }, - Spec: versioned.ReplicationControllerSpec{ - Template: &versioned.PodTemplateSpec{ - ObjectMeta: versioned.ObjectMeta{ - Labels: map[string]string{ - "foo": "bar", - }, - }, - }, - }, - }, - expectLabels: false, - expectSelector: true, - }, - { - rc: &versioned.ReplicationController{ - ObjectMeta: versioned.ObjectMeta{ - Labels: map[string]string{ - "bar": "foo", - }, - }, - Spec: versioned.ReplicationControllerSpec{ - Selector: map[string]string{ - "some": "other", - }, - Template: &versioned.PodTemplateSpec{ - ObjectMeta: versioned.ObjectMeta{ - Labels: map[string]string{ - "foo": "bar", - }, - }, - }, - }, - }, - expectLabels: false, - expectSelector: false, - }, - { - rc: &versioned.ReplicationController{ - Spec: versioned.ReplicationControllerSpec{ - Selector: map[string]string{ - "some": "other", - }, - Template: &versioned.PodTemplateSpec{ - ObjectMeta: versioned.ObjectMeta{ - Labels: map[string]string{ - "foo": "bar", - }, - }, - }, - }, - }, - expectLabels: true, - expectSelector: false, - }, - } - - for _, test := range tests { - rc := test.rc - obj2 := roundTrip(t, runtime.Object(rc)) - rc2, ok := obj2.(*versioned.ReplicationController) - if !ok { - t.Errorf("unexpected object: %v", rc2) - t.FailNow() - } - if test.expectSelector != reflect.DeepEqual(rc2.Spec.Selector, rc2.Spec.Template.Labels) { - if test.expectSelector { - t.Errorf("expected: %v, got: %v", rc2.Spec.Template.Labels, rc2.Spec.Selector) - } else { - t.Errorf("unexpected equality: %v", rc.Spec.Selector) - } - } - if test.expectLabels != reflect.DeepEqual(rc2.Labels, rc2.Spec.Template.Labels) { - if test.expectLabels { - t.Errorf("expected: %v, got: %v", rc2.Spec.Template.Labels, rc2.Labels) - } else { - t.Errorf("unexpected equality: %v", rc.Labels) - } - } - } -} - -func TestSetDefaultService(t *testing.T) { - svc := &versioned.Service{} - obj2 := roundTrip(t, runtime.Object(svc)) - svc2 := obj2.(*versioned.Service) - if svc2.Spec.SessionAffinity != versioned.ServiceAffinityNone { - t.Errorf("Expected default session affinity type:%s, got: %s", versioned.ServiceAffinityNone, svc2.Spec.SessionAffinity) - } - if svc2.Spec.Type != versioned.ServiceTypeClusterIP { - t.Errorf("Expected default type:%s, got: %s", versioned.ServiceTypeClusterIP, svc2.Spec.Type) - } -} - -func TestSetDefaultServiceWithLoadbalancer(t *testing.T) { - svc := &versioned.Service{} - svc.Spec.CreateExternalLoadBalancer = true - obj2 := roundTrip(t, runtime.Object(svc)) - svc2 := obj2.(*versioned.Service) - if svc2.Spec.Type != versioned.ServiceTypeLoadBalancer { - t.Errorf("Expected default type:%s, got: %s", versioned.ServiceTypeLoadBalancer, svc2.Spec.Type) - } -} - -func TestSetDefaultSecret(t *testing.T) { - s := &versioned.Secret{} - obj2 := roundTrip(t, runtime.Object(s)) - s2 := obj2.(*versioned.Secret) - - if s2.Type != versioned.SecretTypeOpaque { - t.Errorf("Expected secret type %v, got %v", versioned.SecretTypeOpaque, s2.Type) - } -} - -func TestSetDefaultPersistentVolume(t *testing.T) { - pv := &versioned.PersistentVolume{} - obj2 := roundTrip(t, runtime.Object(pv)) - pv2 := obj2.(*versioned.PersistentVolume) - - if pv2.Status.Phase != versioned.VolumePending { - t.Errorf("Expected volume phase %v, got %v", versioned.VolumePending, pv2.Status.Phase) - } - if pv2.Spec.PersistentVolumeReclaimPolicy != versioned.PersistentVolumeReclaimRetain { - t.Errorf("Expected pv reclaim policy %v, got %v", versioned.PersistentVolumeReclaimRetain, pv2.Spec.PersistentVolumeReclaimPolicy) - } -} - -func TestSetDefaultPersistentVolumeClaim(t *testing.T) { - pvc := &versioned.PersistentVolumeClaim{} - obj2 := roundTrip(t, runtime.Object(pvc)) - pvc2 := obj2.(*versioned.PersistentVolumeClaim) - - if pvc2.Status.Phase != versioned.ClaimPending { - t.Errorf("Expected claim phase %v, got %v", versioned.ClaimPending, pvc2.Status.Phase) - } -} - -func TestSetDefaulEndpointsProtocol(t *testing.T) { - in := &versioned.Endpoints{Subsets: []versioned.EndpointSubset{ - {Ports: []versioned.EndpointPort{{}, {Protocol: "UDP"}, {}}}, - }} - obj := roundTrip(t, runtime.Object(in)) - out := obj.(*versioned.Endpoints) - - for i := range out.Subsets { - for j := range out.Subsets[i].Ports { - if in.Subsets[i].Ports[j].Protocol == "" { - if out.Subsets[i].Ports[j].Protocol != versioned.ProtocolTCP { - t.Errorf("Expected protocol %s, got %s", versioned.ProtocolTCP, out.Subsets[i].Ports[j].Protocol) - } - } else { - if out.Subsets[i].Ports[j].Protocol != in.Subsets[i].Ports[j].Protocol { - t.Errorf("Expected protocol %s, got %s", in.Subsets[i].Ports[j].Protocol, out.Subsets[i].Ports[j].Protocol) - } - } - } - } -} - -func TestSetDefaulServiceTargetPort(t *testing.T) { - in := &versioned.Service{Spec: versioned.ServiceSpec{Ports: []versioned.ServicePort{{Port: 1234}}}} - obj := roundTrip(t, runtime.Object(in)) - out := obj.(*versioned.Service) - if out.Spec.Ports[0].TargetPort != util.NewIntOrStringFromInt(1234) { - t.Errorf("Expected TargetPort to be defaulted, got %s", out.Spec.Ports[0].TargetPort) - } - - in = &versioned.Service{Spec: versioned.ServiceSpec{Ports: []versioned.ServicePort{{Port: 1234, TargetPort: util.NewIntOrStringFromInt(5678)}}}} - obj = roundTrip(t, runtime.Object(in)) - out = obj.(*versioned.Service) - if out.Spec.Ports[0].TargetPort != util.NewIntOrStringFromInt(5678) { - t.Errorf("Expected TargetPort to be unchanged, got %s", out.Spec.Ports[0].TargetPort) - } -} - -func TestSetDefaultServicePort(t *testing.T) { - // Unchanged if set. - in := &versioned.Service{Spec: versioned.ServiceSpec{ - Ports: []versioned.ServicePort{ - {Protocol: "UDP", Port: 9376, TargetPort: util.NewIntOrStringFromString("p")}, - {Protocol: "UDP", Port: 8675, TargetPort: util.NewIntOrStringFromInt(309)}, - }, - }} - out := roundTrip(t, runtime.Object(in)).(*versioned.Service) - if out.Spec.Ports[0].Protocol != versioned.ProtocolUDP { - t.Errorf("Expected protocol %s, got %s", versioned.ProtocolUDP, out.Spec.Ports[0].Protocol) - } - if out.Spec.Ports[0].TargetPort != util.NewIntOrStringFromString("p") { - t.Errorf("Expected port %d, got %s", in.Spec.Ports[0].Port, out.Spec.Ports[0].TargetPort) - } - if out.Spec.Ports[1].Protocol != versioned.ProtocolUDP { - t.Errorf("Expected protocol %s, got %s", versioned.ProtocolUDP, out.Spec.Ports[1].Protocol) - } - if out.Spec.Ports[1].TargetPort != util.NewIntOrStringFromInt(309) { - t.Errorf("Expected port %d, got %s", in.Spec.Ports[1].Port, out.Spec.Ports[1].TargetPort) - } - - // Defaulted. - in = &versioned.Service{Spec: versioned.ServiceSpec{ - Ports: []versioned.ServicePort{ - {Protocol: "", Port: 9376, TargetPort: util.NewIntOrStringFromString("")}, - {Protocol: "", Port: 8675, TargetPort: util.NewIntOrStringFromInt(0)}, - }, - }} - out = roundTrip(t, runtime.Object(in)).(*versioned.Service) - if out.Spec.Ports[0].Protocol != versioned.ProtocolTCP { - t.Errorf("Expected protocol %s, got %s", versioned.ProtocolTCP, out.Spec.Ports[0].Protocol) - } - if out.Spec.Ports[0].TargetPort != util.NewIntOrStringFromInt(in.Spec.Ports[0].Port) { - t.Errorf("Expected port %d, got %d", in.Spec.Ports[0].Port, out.Spec.Ports[0].TargetPort) - } - if out.Spec.Ports[1].Protocol != versioned.ProtocolTCP { - t.Errorf("Expected protocol %s, got %s", versioned.ProtocolTCP, out.Spec.Ports[1].Protocol) - } - if out.Spec.Ports[1].TargetPort != util.NewIntOrStringFromInt(in.Spec.Ports[1].Port) { - t.Errorf("Expected port %d, got %d", in.Spec.Ports[1].Port, out.Spec.Ports[1].TargetPort) - } -} - -func TestSetDefaultNamespace(t *testing.T) { - s := &versioned.Namespace{} - obj2 := roundTrip(t, runtime.Object(s)) - s2 := obj2.(*versioned.Namespace) - - if s2.Status.Phase != versioned.NamespaceActive { - t.Errorf("Expected phase %v, got %v", versioned.NamespaceActive, s2.Status.Phase) - } -} - -func TestSetDefaultPodSpecHostNetwork(t *testing.T) { - portNum := 8080 - s := versioned.PodSpec{} - s.HostNetwork = true - s.Containers = []versioned.Container{ - { - Ports: []versioned.ContainerPort{ - { - ContainerPort: portNum, - }, - }, - }, - } - pod := &versioned.Pod{ - Spec: s, - } - obj2 := roundTrip(t, runtime.Object(pod)) - pod2 := obj2.(*versioned.Pod) - s2 := pod2.Spec - - hostPortNum := s2.Containers[0].Ports[0].HostPort - if hostPortNum != portNum { - t.Errorf("Expected container port to be defaulted, was made %d instead of %d", hostPortNum, portNum) - } -} - -func TestSetDefaultNodeExternalID(t *testing.T) { - name := "node0" - n := &versioned.Node{} - n.Name = name - obj2 := roundTrip(t, runtime.Object(n)) - n2 := obj2.(*versioned.Node) - if n2.Spec.ExternalID != name { - t.Errorf("Expected default External ID: %s, got: %s", name, n2.Spec.ExternalID) - } - if n2.Spec.ProviderID != "" { - t.Errorf("Expected empty default Cloud Provider ID, got: %s", n2.Spec.ProviderID) - } -} - -func TestSetDefaultObjectFieldSelectorAPIVersion(t *testing.T) { - s := versioned.PodSpec{ - Containers: []versioned.Container{ - { - Env: []versioned.EnvVar{ - { - ValueFrom: &versioned.EnvVarSource{ - FieldRef: &versioned.ObjectFieldSelector{}, - }, - }, - }, - }, - }, - } - pod := &versioned.Pod{ - Spec: s, - } - obj2 := roundTrip(t, runtime.Object(pod)) - pod2 := obj2.(*versioned.Pod) - s2 := pod2.Spec - - apiVersion := s2.Containers[0].Env[0].ValueFrom.FieldRef.APIVersion - if apiVersion != "v1beta3" { - t.Errorf("Expected default APIVersion v1beta3, got: %v", apiVersion) - } -} - -func TestSetDefaultSecurityContext(t *testing.T) { - priv := false - privTrue := true - testCases := map[string]struct { - c versioned.Container - }{ - "downward defaulting caps": { - c: versioned.Container{ - Privileged: false, - Capabilities: versioned.Capabilities{ - Add: []versioned.Capability{"foo"}, - Drop: []versioned.Capability{"bar"}, - }, - SecurityContext: &versioned.SecurityContext{ - Privileged: &priv, - }, - }, - }, - "downward defaulting priv": { - c: versioned.Container{ - Privileged: false, - Capabilities: versioned.Capabilities{ - Add: []versioned.Capability{"foo"}, - Drop: []versioned.Capability{"bar"}, - }, - SecurityContext: &versioned.SecurityContext{ - Capabilities: &versioned.Capabilities{ - Add: []versioned.Capability{"foo"}, - Drop: []versioned.Capability{"bar"}, - }, - }, - }, - }, - "upward defaulting caps": { - c: versioned.Container{ - Privileged: false, - SecurityContext: &versioned.SecurityContext{ - Privileged: &priv, - Capabilities: &versioned.Capabilities{ - Add: []versioned.Capability{"biz"}, - Drop: []versioned.Capability{"baz"}, - }, - }, - }, - }, - "upward defaulting priv": { - c: versioned.Container{ - Capabilities: versioned.Capabilities{ - Add: []versioned.Capability{"foo"}, - Drop: []versioned.Capability{"bar"}, - }, - SecurityContext: &versioned.SecurityContext{ - Privileged: &privTrue, - Capabilities: &versioned.Capabilities{ - Add: []versioned.Capability{"foo"}, - Drop: []versioned.Capability{"bar"}, - }, - }, - }, - }, - } - - pod := &versioned.Pod{ - Spec: versioned.PodSpec{}, - } - - for k, v := range testCases { - pod.Spec.Containers = []versioned.Container{v.c} - obj := roundTrip(t, runtime.Object(pod)) - defaultedPod := obj.(*versioned.Pod) - c := defaultedPod.Spec.Containers[0] - if isEqual, issues := areSecurityContextAndContainerEqual(&c); !isEqual { - t.Errorf("test case %s expected the security context to have the same values as the container but found %#v", k, issues) - } - } -} - -func areSecurityContextAndContainerEqual(c *versioned.Container) (bool, []string) { - issues := make([]string, 0) - equal := true - - if c.SecurityContext == nil || c.SecurityContext.Privileged == nil || c.SecurityContext.Capabilities == nil { - equal = false - issues = append(issues, "Expected non nil settings for SecurityContext") - return equal, issues - } - if *c.SecurityContext.Privileged != c.Privileged { - equal = false - issues = append(issues, "The defaulted SecurityContext.Privileged value did not match the container value") - } - if !reflect.DeepEqual(c.Capabilities.Add, c.Capabilities.Add) { - equal = false - issues = append(issues, "The defaulted SecurityContext.Capabilities.Add did not match the container settings") - } - if !reflect.DeepEqual(c.Capabilities.Drop, c.Capabilities.Drop) { - equal = false - issues = append(issues, "The defaulted SecurityContext.Capabilities.Drop did not match the container settings") - } - return equal, issues -} diff --git a/pkg/api/v1beta3/doc.go b/pkg/api/v1beta3/doc.go deleted file mode 100644 index 12029caf2c0..00000000000 --- a/pkg/api/v1beta3/doc.go +++ /dev/null @@ -1,18 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors All rights reserved. - -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 v1beta3 is the v1beta3 version of the API. -package v1beta3 diff --git a/pkg/api/v1beta3/register.go b/pkg/api/v1beta3/register.go deleted file mode 100644 index e7b61aaf46b..00000000000 --- a/pkg/api/v1beta3/register.go +++ /dev/null @@ -1,130 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors All rights reserved. - -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 v1beta3 - -import ( - "github.com/GoogleCloudPlatform/kubernetes/pkg/api" - "github.com/GoogleCloudPlatform/kubernetes/pkg/api/registered" - "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" -) - -// Codec encodes internal objects to the v1beta3 scheme -var Codec = runtime.CodecFor(api.Scheme, "v1beta3") - -func init() { - // Check if v1beta3 is in the list of supported API versions. - if !registered.IsRegisteredAPIVersion("v1beta3") { - return - } - - // Register the API. - addKnownTypes() - addConversionFuncs() - addDefaultingFuncs() -} - -// Adds the list of known types to api.Scheme. -func addKnownTypes() { - api.Scheme.AddKnownTypes("v1beta3", - &Pod{}, - &PodList{}, - &PodStatusResult{}, - &PodTemplate{}, - &PodTemplateList{}, - &ReplicationController{}, - &ReplicationControllerList{}, - &Service{}, - &ServiceList{}, - &Endpoints{}, - &EndpointsList{}, - &Node{}, - &NodeList{}, - &Binding{}, - &Status{}, - &Event{}, - &EventList{}, - &List{}, - &LimitRange{}, - &LimitRangeList{}, - &ResourceQuota{}, - &ResourceQuotaList{}, - &Namespace{}, - &NamespaceList{}, - &Secret{}, - &SecretList{}, - &ServiceAccount{}, - &ServiceAccountList{}, - &PersistentVolume{}, - &PersistentVolumeList{}, - &PersistentVolumeClaim{}, - &PersistentVolumeClaimList{}, - &DeleteOptions{}, - &ListOptions{}, - &PodLogOptions{}, - &PodExecOptions{}, - &PodProxyOptions{}, - &ComponentStatus{}, - &ComponentStatusList{}, - &SerializedReference{}, - &RangeAllocation{}, - ) - // Legacy names are supported - api.Scheme.AddKnownTypeWithName("v1beta3", "Minion", &Node{}) - api.Scheme.AddKnownTypeWithName("v1beta3", "MinionList", &NodeList{}) -} - -func (*Pod) IsAnAPIObject() {} -func (*PodList) IsAnAPIObject() {} -func (*PodStatusResult) IsAnAPIObject() {} -func (*PodTemplate) IsAnAPIObject() {} -func (*PodTemplateList) IsAnAPIObject() {} -func (*ReplicationController) IsAnAPIObject() {} -func (*ReplicationControllerList) IsAnAPIObject() {} -func (*Service) IsAnAPIObject() {} -func (*ServiceList) IsAnAPIObject() {} -func (*Endpoints) IsAnAPIObject() {} -func (*EndpointsList) IsAnAPIObject() {} -func (*Node) IsAnAPIObject() {} -func (*NodeList) IsAnAPIObject() {} -func (*Binding) IsAnAPIObject() {} -func (*Status) IsAnAPIObject() {} -func (*Event) IsAnAPIObject() {} -func (*EventList) IsAnAPIObject() {} -func (*List) IsAnAPIObject() {} -func (*LimitRange) IsAnAPIObject() {} -func (*LimitRangeList) IsAnAPIObject() {} -func (*ResourceQuota) IsAnAPIObject() {} -func (*ResourceQuotaList) IsAnAPIObject() {} -func (*Namespace) IsAnAPIObject() {} -func (*NamespaceList) IsAnAPIObject() {} -func (*Secret) IsAnAPIObject() {} -func (*SecretList) IsAnAPIObject() {} -func (*ServiceAccount) IsAnAPIObject() {} -func (*ServiceAccountList) IsAnAPIObject() {} -func (*PersistentVolume) IsAnAPIObject() {} -func (*PersistentVolumeList) IsAnAPIObject() {} -func (*PersistentVolumeClaim) IsAnAPIObject() {} -func (*PersistentVolumeClaimList) IsAnAPIObject() {} -func (*DeleteOptions) IsAnAPIObject() {} -func (*ListOptions) IsAnAPIObject() {} -func (*PodLogOptions) IsAnAPIObject() {} -func (*PodExecOptions) IsAnAPIObject() {} -func (*PodProxyOptions) IsAnAPIObject() {} -func (*ComponentStatus) IsAnAPIObject() {} -func (*ComponentStatusList) IsAnAPIObject() {} -func (*SerializedReference) IsAnAPIObject() {} -func (*RangeAllocation) IsAnAPIObject() {} diff --git a/pkg/api/v1beta3/types.go b/pkg/api/v1beta3/types.go deleted file mode 100644 index 145f7101992..00000000000 --- a/pkg/api/v1beta3/types.go +++ /dev/null @@ -1,1982 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors All rights reserved. - -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 v1beta3 - -import ( - "github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource" - "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" - "github.com/GoogleCloudPlatform/kubernetes/pkg/types" - "github.com/GoogleCloudPlatform/kubernetes/pkg/util" -) - -// Common string formats -// --------------------- -// Many fields in this API have formatting requirements. The commonly used -// formats are defined here. -// -// C_IDENTIFIER: This is a string that conforms to the definition of an "identifier" -// in the C language. This is captured by the following regex: -// [A-Za-z_][A-Za-z0-9_]* -// This defines the format, but not the length restriction, which should be -// specified at the definition of any field of this type. -// -// DNS_LABEL: This is a string, no more than 63 characters long, that conforms -// to the definition of a "label" in RFCs 1035 and 1123. This is captured -// by the following regex: -// [a-z0-9]([-a-z0-9]*[a-z0-9])? -// -// DNS_SUBDOMAIN: This is a string, no more than 253 characters long, that conforms -// to the definition of a "subdomain" in RFCs 1035 and 1123. This is captured -// by the following regex: -// [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* -// or more simply: -// DNS_LABEL(\.DNS_LABEL)* -// -// IANA_SVC_NAME: This is a string, no more than 15 characters long, that -// conforms to the definition of IANA service name in RFC 6335. -// It must contains at least one letter [a-z] and it must contains only [a-z0-9-]. -// Hypens ('-') cannot be leading or trailing character of the string -// and cannot be adjacent to other hyphens. - -// TypeMeta describes an individual object in an API response or request -// with strings representing the type of the object and its API schema version. -// Structures that are versioned or persisted should inline TypeMeta. -type TypeMeta struct { - // Kind is a string value representing the REST resource this object represents. - // Servers may infer this from the endpoint the client submits requests to. - Kind string `json:"kind,omitempty" description:"kind of object, in CamelCase; cannot be updated"` - - // 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. - APIVersion string `json:"apiVersion,omitempty" description:"version of the schema the object should have"` -} - -// ListMeta describes metadata that synthetic resources must have, including lists and -// various status objects. -type ListMeta struct { - // SelfLink is a URL representing this object. - SelfLink string `json:"selfLink,omitempty" description:"URL for the object; populated by the system, read-only"` - - // An opaque value that represents the version of this response for use with optimistic - // concurrency and change monitoring endpoints. Clients must treat these values as opaque - // and values may only be valid for a particular resource or set of resources. Only servers - // will generate resource versions. - ResourceVersion string `json:"resourceVersion,omitempty" description:"string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency"` -} - -// ObjectMeta is metadata that all persisted resources must have, which includes all objects -// users must create. -type ObjectMeta struct { - // Name is unique within a namespace. Name is required when creating resources, although - // some resources may allow a client to request the generation of an appropriate name - // automatically. Name is primarily intended for creation idempotence and configuration - // definition. - Name string `json:"name,omitempty" description:"string that identifies an object. Must be unique within a namespace; cannot be updated"` - - // GenerateName indicates that the name should be made unique by the server prior to persisting - // it. A non-empty value for the field indicates the name will be made unique (and the name - // returned to the client will be different than the name passed). The value of this field will - // be combined with a unique suffix on the server if the Name field has not been provided. - // The provided value must be valid within the rules for Name, and may be truncated by the length - // of the suffix required to make the value unique on the server. - // - // If this field is specified, and Name is not present, the server will NOT return a 409 if the - // generated name exists - instead, it will either return 201 Created or 500 with Reason - // ServerTimeout indicating a unique name could not be found in the time allotted, and the client - // should retry (optionally after the time indicated in the Retry-After header). - GenerateName string `json:"generateName,omitempty" description:"an optional prefix to use to generate a unique name; has the same validation rules as name; optional, and is applied only name if is not specified"` - - // Namespace defines the space within which name must be unique. An empty namespace is - // equivalent to the "default" namespace, but "default" is the canonical representation. - // Not all objects are required to be scoped to a namespace - the value of this field for - // those objects will be empty. - Namespace string `json:"namespace,omitempty" description:"namespace of the object; must be a DNS_LABEL; cannot be updated"` - - // SelfLink is a URL representing this object. - SelfLink string `json:"selfLink,omitempty" description:"URL for the object; populated by the system, read-only"` - - // UID is the unique in time and space value for this object. It is typically generated by - // the server on successful creation of a resource and is not allowed to change on PUT - // operations. - UID types.UID `json:"uid,omitempty" description:"unique UUID across space and time; populated by the system; read-only"` - - // An opaque value that represents the version of this resource. May be used for optimistic - // concurrency, change detection, and the watch operation on a resource or set of resources. - // Clients must treat these values as opaque and values may only be valid for a particular - // resource or set of resources. Only servers will generate resource versions. - ResourceVersion string `json:"resourceVersion,omitempty" description:"string that identifies the internal version of this object that can be used by clients to determine when objects have changed; populated by the system, read-only; value must be treated as opaque by clients and passed unmodified back to the server: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency"` - - // A sequence number representing a specific generation of the desired state. - // Currently only implemented by replication controllers. - Generation int64 `json:"generation,omitempty" description:"a sequence number representing a specific generation of the desired state; populated by the system; read-only"` - - // CreationTimestamp is a timestamp representing the server time when this object was - // created. It is not guaranteed to be set in happens-before order across separate operations. - // Clients may not set this value. It is represented in RFC3339 form and is in UTC. - CreationTimestamp util.Time `json:"creationTimestamp,omitempty" description:"RFC 3339 date and time at which the object was created; populated by the system, read-only; null for lists"` - - // DeletionTimestamp is the time after which this resource will be deleted. This - // field is set by the server when a graceful deletion is requested by the user, and is not - // directly settable by a client. The resource will be deleted (no longer visible from - // resource lists, and not reachable by name) after the time in this field. Once set, this - // value may not be unset or be set further into the future, although it may be shortened - // or the resource may be deleted prior to this time. For example, a user may request that - // a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination - // signal to the containers in the pod. Once the resource is deleted in the API, the Kubelet - // will send a hard termination signal to the container. - DeletionTimestamp *util.Time `json:"deletionTimestamp,omitempty" description:"RFC 3339 date and time at which the object will be deleted; populated by the system when a graceful deletion is requested, read-only; if not set, graceful deletion of the object has not been requested"` - - // Labels are key value pairs that may be used to scope and select individual resources. - // TODO: replace map[string]string with labels.LabelSet type - Labels map[string]string `json:"labels,omitempty" description:"map of string keys and values that can be used to organize and categorize objects; may match selectors of replication controllers and services"` - - // Annotations are unstructured key value data stored with a resource that may be set by - // external tooling. They are not queryable and should be preserved when modifying - // objects. - Annotations map[string]string `json:"annotations,omitempty" description:"map of string keys and values that can be used by external tooling to store and retrieve arbitrary metadata about objects"` -} - -const ( - // NamespaceDefault means the object is in the default namespace which is applied when not specified by clients - NamespaceDefault string = "default" - // NamespaceAll is the default argument to specify on a context when you want to list or filter resources across all namespaces - NamespaceAll string = "" -) - -// Volume represents a named volume in a pod that may be accessed by any containers in the pod. -type Volume struct { - // Required: This must be a DNS_LABEL. Each volume in a pod must have - // a unique name. - Name string `json:"name" description:"volume name; must be a DNS_LABEL and unique within the pod"` - // Source represents the location and type of a volume to mount. - // This is optional for now. If not specified, the Volume is implied to be an EmptyDir. - // This implied behavior is deprecated and will be removed in a future version. - VolumeSource `json:",inline"` -} - -// VolumeSource represents the source location of a volume to mount. -// Only one of its members may be specified. -type VolumeSource struct { - // HostPath represents a pre-existing file or directory on the host - // machine that is directly exposed to the container. This is generally - // used for system agents or other privileged things that are allowed - // to see the host machine. Most containers will NOT need this. - // TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not - // mount host directories as read/write. - HostPath *HostPathVolumeSource `json:"hostPath,omitempty" description:"pre-existing host file or directory; generally for privileged system daemons or other agents tied to the host"` - // EmptyDir represents a temporary directory that shares a pod's lifetime. - EmptyDir *EmptyDirVolumeSource `json:"emptyDir,omitempty" description:"temporary directory that shares a pod's lifetime"` - // GCEPersistentDisk represents a GCE Disk resource that is attached to a - // kubelet's host machine and then exposed to the pod. - GCEPersistentDisk *GCEPersistentDiskVolumeSource `json:"gcePersistentDisk,omitempty" description:"GCE disk resource attached to the host machine on demand"` - // AWSElasticBlockStore represents an AWS Disk resource that is attached to a - // kubelet's host machine and then exposed to the pod. - AWSElasticBlockStore *AWSElasticBlockStoreVolumeSource `json:"awsElasticBlockStore,omitempty" description:"AWS disk resource attached to the host machine on demand"` - // GitRepo represents a git repository at a particular revision. - GitRepo *GitRepoVolumeSource `json:"gitRepo,omitempty" description:"git repository at a particular revision"` - // Secret represents a secret that should populate this volume. - Secret *SecretVolumeSource `json:"secret,omitempty" description:"secret to populate volume"` - // NFS represents an NFS mount on the host that shares a pod's lifetime - NFS *NFSVolumeSource `json:"nfs,omitempty" description:"NFS volume that will be mounted in the host machine"` - // ISCSI represents an ISCSI Disk resource that is attached to a - // kubelet's host machine and then exposed to the pod. - ISCSI *ISCSIVolumeSource `json:"iscsi,omitempty" description:"iSCSI disk attached to host machine on demand"` - // Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime - Glusterfs *GlusterfsVolumeSource `json:"glusterfs,omitempty" description:"Glusterfs volume that will be mounted on the host machine "` - // PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace - PersistentVolumeClaim *PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty" description:"a reference to a PersistentVolumeClaim in the same namespace"` - // RBD represents a Rados Block Device mount on the host that shares a pod's lifetime - RBD *RBDVolumeSource `json:"rbd,omitempty" description:"rados block volume that will be mounted on the host machine"` -} - -type PersistentVolumeClaimVolumeSource struct { - // ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume - ClaimName string `json:"claimName,omitempty" description:"the name of the claim in the same namespace to be mounted as a volume"` - // Optional: Defaults to false (read/write). ReadOnly here - // will force the ReadOnly setting in VolumeMounts - ReadOnly bool `json:"readOnly,omitempty" description:"mount volume as read-only when true; default false"` -} - -// Similar to VolumeSource but meant for the administrator who creates PVs. -// Exactly one of its members must be set. -type PersistentVolumeSource struct { - // GCEPersistentDisk represents a GCE Disk resource that is attached to a - // kubelet's host machine and then exposed to the pod. - GCEPersistentDisk *GCEPersistentDiskVolumeSource `json:"gcePersistentDisk,omitempty" description:"GCE disk resource provisioned by an admin"` - // AWSElasticBlockStore represents an AWS Disk resource that is attached to a - // kubelet's host machine and then exposed to the pod. - AWSElasticBlockStore *AWSElasticBlockStoreVolumeSource `json:"awsElasticBlockStore,omitempty" description:"AWS disk resource provisioned by an admin"` - // HostPath represents a directory on the host. - // This is useful for development and testing only. - // on-host storage is not supported in any way. - HostPath *HostPathVolumeSource `json:"hostPath,omitempty" description:"a HostPath provisioned by a developer or tester; for develment use only"` - // Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod - Glusterfs *GlusterfsVolumeSource `json:"glusterfs,omitempty" description:"Glusterfs volume resource provisioned by an admin"` - // NFS represents an NFS mount on the host - NFS *NFSVolumeSource `json:"nfs,omitempty" description:"NFS volume resource provisioned by an admin"` - // RBD represents a Rados Block Device mount on the host that shares a pod's lifetime - RBD *RBDVolumeSource `json:"rbd,omitempty" description:"rados block volume that will be mounted on the host machine"` - // ISCSI represents an ISCSI Disk resource that is attached to a - // kubelet's host machine and then exposed to the pod. - ISCSI *ISCSIVolumeSource `json:"iscsi,omitempty" description:"an iSCSI disk resource provisioned by an admin"` -} - -type PersistentVolume struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - //Spec defines a persistent volume owned by the cluster - Spec PersistentVolumeSpec `json:"spec,omitempty" description:"specification of a persistent volume as provisioned by an administrator"` - - // Status represents the current information about persistent volume. - Status PersistentVolumeStatus `json:"status,omitempty" description:"current status of a persistent volume; populated by the system, read-only"` -} - -type PersistentVolumeSpec struct { - // Resources represents the actual resources of the volume - Capacity ResourceList `json:"capacity,omitempty" description:"a description of the persistent volume's resources and capacity"` - // Source represents the location and type of a volume to mount. - PersistentVolumeSource `json:",inline" description:"the actual volume backing the persistent volume"` - // AccessModes contains all ways the volume can be mounted - AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty" description:"all ways the volume can be mounted"` - // ClaimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. - // ClaimRef is expected to be non-nil when bound. - // claim.VolumeName is the authoritative bind between PV and PVC. - ClaimRef *ObjectReference `json:"claimRef,omitempty" description:"when bound, a reference to the bound claim"` - // Optional: what happens to a persistent volume when released from its claim. - PersistentVolumeReclaimPolicy PersistentVolumeReclaimPolicy `json:"persistentVolumeReclaimPolicy,omitempty" description:"what happens to a volume when released from its claim; Valid options are Retain (default) and Recycle. Recyling must be supported by the volume plugin underlying this persistent volume."` -} - -// PersistentVolumeReclaimPolicy describes a policy for end-of-life maintenance of persistent volumes -type PersistentVolumeReclaimPolicy string - -const ( - // PersistentVolumeReclaimRecycle means the volume will be recycled back into the pool of unbound persistent volumes on release from its claim. - // The volume plugin must support Recycling. - PersistentVolumeReclaimRecycle PersistentVolumeReclaimPolicy = "Recycle" - // PersistentVolumeReclaimDelete means the volume will be deleted from Kubernetes on release from its claim. - // The volume plugin must support Deletion. - // TODO: implement w/ DeletableVolumePlugin - // PersistentVolumeReclaimDelete PersistentVolumeReclaimPolicy = "Delete" - // PersistentVolumeReclaimRetain means the volume will left in its current phase (Released) for manual reclamation by the administrator. - // The default policy is Retain. - PersistentVolumeReclaimRetain PersistentVolumeReclaimPolicy = "Retain" -) - -type PersistentVolumeStatus struct { - // Phase indicates if a volume is available, bound to a claim, or released by a claim - Phase PersistentVolumePhase `json:"phase,omitempty" description:"the current phase of a persistent volume"` - // A human-readable message indicating details about why the volume is in this state. - Message string `json:"message,omitempty" description:"human-readable message indicating details about why the volume is in this state"` - // Reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI - Reason string `json:"reason,omitempty" description:"(brief) reason the volume is not is not available"` -} - -type PersistentVolumeList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds"` - Items []PersistentVolume `json:"items,omitempty" description:"list of persistent volumes"` -} - -// PersistentVolumeClaim is a user's request for and claim to a persistent volume -type PersistentVolumeClaim struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Spec defines the volume requested by a pod author - Spec PersistentVolumeClaimSpec `json:"spec,omitempty" description:"the desired characteristics of a volume"` - - // Status represents the current information about a claim - Status PersistentVolumeClaimStatus `json:"status,omitempty" description:"the current status of a persistent volume claim; read-only"` -} - -type PersistentVolumeClaimList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds"` - Items []PersistentVolumeClaim `json:"items,omitempty" description:"a list of persistent volume claims"` -} - -// PersistentVolumeClaimSpec describes the common attributes of storage devices -// and allows a Source for provider-specific attributes -type PersistentVolumeClaimSpec struct { - // Contains the types of access modes required - AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty" description:"the desired access modes the volume should have"` - // Resources represents the minimum resources required - Resources ResourceRequirements `json:"resources,omitempty" description:"the desired resources the volume should have"` - // VolumeName is the binding reference to the PersistentVolume backing this claim - VolumeName string `json:"volumeName,omitempty" description:"the binding reference to the persistent volume backing this claim"` -} - -type PersistentVolumeClaimStatus struct { - // Phase represents the current phase of PersistentVolumeClaim - Phase PersistentVolumeClaimPhase `json:"phase,omitempty" description:"the current phase of the claim"` - // AccessModes contains all ways the volume backing the PVC can be mounted - AccessModes []PersistentVolumeAccessMode `json:"accessModes,omitempty" description:"the actual access modes the volume has"` - // Represents the actual resources of the underlying volume - Capacity ResourceList `json:"capacity,omitempty" description:"the actual resources the volume has"` -} - -type PersistentVolumeAccessMode string - -const ( - // can be mounted read/write mode to exactly 1 host - ReadWriteOnce PersistentVolumeAccessMode = "ReadWriteOnce" - // can be mounted in read-only mode to many hosts - ReadOnlyMany PersistentVolumeAccessMode = "ReadOnlyMany" - // can be mounted in read/write mode to many hosts - ReadWriteMany PersistentVolumeAccessMode = "ReadWriteMany" -) - -type PersistentVolumePhase string - -const ( - // used for PersistentVolumes that are not available - VolumePending PersistentVolumePhase = "Pending" - // used for PersistentVolumes that are not yet bound - // Available volumes are held by the binder and matched to PersistentVolumeClaims - VolumeAvailable PersistentVolumePhase = "Available" - // used for PersistentVolumes that are bound - VolumeBound PersistentVolumePhase = "Bound" - // used for PersistentVolumes where the bound PersistentVolumeClaim was deleted - // released volumes must be recycled before becoming available again - // this phase is used by the persistent volume claim binder to signal to another process to reclaim the resource - VolumeReleased PersistentVolumePhase = "Released" - // used for PersistentVolumes that failed to be correctly recycled or deleted after being released from a claim - VolumeFailed PersistentVolumePhase = "Failed" -) - -type PersistentVolumeClaimPhase string - -const ( - // used for PersistentVolumeClaims that are not yet bound - ClaimPending PersistentVolumeClaimPhase = "Pending" - // used for PersistentVolumeClaims that are bound - ClaimBound PersistentVolumeClaimPhase = "Bound" -) - -// HostPathVolumeSource represents bare host directory volume. -type HostPathVolumeSource struct { - Path string `json:"path" description:"path of the directory on the host"` -} - -type EmptyDirVolumeSource struct { - // Optional: what type of storage medium should back this directory. - // The default is "" which means to use the node's default medium. - Medium StorageMedium `json:"medium,omitempty" description:"type of storage used to back the volume; must be an empty string (default) or Memory"` -} - -// GlusterfsVolumeSource represents a Glusterfs Mount that lasts the lifetime of a pod -type GlusterfsVolumeSource struct { - // Required: EndpointsName is the endpoint name that details Glusterfs topology - EndpointsName string `json:"endpoints" description:"gluster hosts endpoints name"` - - // Required: Path is the Glusterfs volume path - Path string `json:"path" description:"path to gluster volume"` - - // Optional: Defaults to false (read/write). ReadOnly here will force - // the Glusterfs volume to be mounted with read-only permissions - ReadOnly bool `json:"readOnly,omitempty" description:"glusterfs volume to be mounted with read-only permissions"` -} - -// StorageMedium defines ways that storage can be allocated to a volume. -type StorageMedium string - -// RBDVolumeSource represents a Rados Block Device Mount that lasts the lifetime of a pod -type RBDVolumeSource struct { - // Required: CephMonitors is a collection of Ceph monitors - CephMonitors []string `json:"monitors" description:"a collection of Ceph monitors"` - // Required: RBDImage is the rados image name - RBDImage string `json:"image" description:"rados image name"` - // Required: Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs" - // TODO: how do we prevent errors in the filesystem from compromising the machine - FSType string `json:"fsType,omitempty" description:"file system type to mount, such as ext4, xfs, ntfs"` - // Optional: RadosPool is the rados pool name,default is rbd - RBDPool string `json:"pool" description:"rados pool name; default is rbd; optional"` - // Optional: RBDUser is the rados user name, default is admin - RadosUser string `json:"user" description:"rados user name; default is admin; optional"` - // Optional: Keyring is the path to key ring for RBDUser, default is /etc/ceph/keyring - Keyring string `json:"keyring" description:"keyring is the path to key ring for rados user; default is /etc/ceph/keyring; optional"` - // Optional: SecretRef is name of the authentication secret for RBDUser, default is empty. - SecretRef *LocalObjectReference `json:"secretRef" description:"name of a secret to authenticate the RBD user; if provided overrides keyring; optional"` - // Optional: Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - ReadOnly bool `json:"readOnly,omitempty" description:"rbd volume to be mounted with read-only permissions"` -} - -const ( - StorageMediumDefault StorageMedium = "" // use whatever the default is for the node - StorageMediumMemory StorageMedium = "Memory" // use memory (tmpfs) -) - -// Protocol defines network protocols supported for things like conatiner ports. -type Protocol string - -const ( - // ProtocolTCP is the TCP protocol. - ProtocolTCP Protocol = "TCP" - // ProtocolUDP is the UDP protocol. - ProtocolUDP Protocol = "UDP" -) - -// GCEPersistentDiskVolumeSource represents a Persistent Disk resource in Google Compute Engine. -// -// A GCE PD must exist and be formatted before mounting to a container. -// The disk must also be in the same GCE project and zone as the kubelet. -// A GCE PD can only be mounted as read/write once. -type GCEPersistentDiskVolumeSource struct { - // Unique name of the PD resource. Used to identify the disk in GCE - PDName string `json:"pdName" description:"unique name of the PD resource in GCE"` - // Required: Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs" - // TODO: how do we prevent errors in the filesystem from compromising the machine - FSType string `json:"fsType" description:"file system type to mount, such as ext4, xfs, ntfs"` - // Optional: Partition on the disk to mount. - // If omitted, kubelet will attempt to mount the device name. - // Ex. For /dev/sda1, this field is "1", for /dev/sda, this field is 0 or empty. - Partition int `json:"partition,omitempty" description:"partition on the disk to mount (e.g., '1' for /dev/sda1); if omitted the plain device name (e.g., /dev/sda) will be mounted"` - // Optional: Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - ReadOnly bool `json:"readOnly,omitempty" description:"read-only if true, read-write otherwise (false or unspecified)"` -} - -// AWSElasticBlockStoreVolumeSource represents a Persistent Disk resource in AWS. -// -// An AWS PD must exist and be formatted before mounting to a container. -// The disk must also be in the same AWS zone as the kubelet. -// A AWS PD can only be mounted on a single machine. -type AWSElasticBlockStoreVolumeSource struct { - // Unique id of the PD resource. Used to identify the disk in AWS - VolumeID string `json:"volumeID" description:"unique id of the PD resource in AWS"` - // Required: Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs" - // TODO: how do we prevent errors in the filesystem from compromising the machine - FSType string `json:"fsType" description:"file system type to mount, such as ext4, xfs, ntfs"` - // Optional: Partition on the disk to mount. - // If omitted, kubelet will attempt to mount the device name. - // Ex. For /dev/sda1, this field is "1", for /dev/sda, this field 0 or empty. - Partition int `json:"partition,omitempty" description:"partition on the disk to mount (e.g., '1' for /dev/sda1); if omitted the plain device name (e.g., /dev/sda) will be mounted"` - // Optional: Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - ReadOnly bool `json:"readOnly,omitempty" description:"read-only if true, read-write otherwise (false or unspecified)"` -} - -// GitRepoVolumeSource represents a volume that is pulled from git when the pod is created. -type GitRepoVolumeSource struct { - // Repository URL - Repository string `json:"repository" description:"repository URL"` - // Commit hash, this is optional - Revision string `json:"revision,omitempty" description:"commit hash for the specified revision"` -} - -// SecretVolumeSource adapts a Secret into a VolumeSource -// -// http://releases.k8s.io/HEAD/docs/design/secrets.md -type SecretVolumeSource struct { - // Name of the secret in the pod's namespace to use - SecretName string `json:"secretName" description:"secretName is the name of a secret in the pod's namespace"` -} - -// NFSVolumeSource represents an NFS mount that lasts the lifetime of a pod -type NFSVolumeSource struct { - // Server is the hostname or IP address of the NFS server - Server string `json:"server" description:"the hostname or IP address of the NFS server"` - - // Path is the exported NFS share - Path string `json:"path" description:"the path that is exported by the NFS server"` - - // Optional: Defaults to false (read/write). ReadOnly here will force - // the NFS export to be mounted with read-only permissions - ReadOnly bool `json:"readOnly,omitempty" description:"forces the NFS export to be mounted with read-only permissions"` -} - -// A ISCSI Disk can only be mounted as read/write once. -type ISCSIVolumeSource struct { - // Required: iSCSI target portal - // the portal is either an IP or ip_addr:port if port is other than default (typically TCP ports 860 and 3260) - TargetPortal string `json:"targetPortal" description:"iSCSI target portal"` - // Required: target iSCSI Qualified Name - IQN string `json:"iqn" description:"iSCSI Qualified Name"` - // Required: iSCSI target lun number - Lun int `json:"lun" description:"iscsi target lun number"` - // Required: Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs" - // TODO: how do we prevent errors in the filesystem from compromising the machine - FSType string `json:"fsType" description:"file system type to mount, such as ext4, xfs, ntfs"` - // Optional: Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - ReadOnly bool `json:"readOnly,omitempty" description:"read-only if true, read-write otherwise (false or unspecified)"` -} - -// ContainerPort represents a network port in a single container. -type ContainerPort struct { - // Optional: If specified, this must be a IANA_SVC_NAME. Each named port - // in a pod must have a unique name. - Name string `json:"name,omitempty" description:"name for the port that can be referred to by services; must be a IANA_SVC_NAME and unique within the pod"` - // Optional: If specified, this must be a valid port number, 0 < x < 65536. - // If HostNetwork is specified, this must match ContainerPort. - HostPort int `json:"hostPort,omitempty" description:"number of port to expose on the host; most containers do not need this"` - // Required: This must be a valid port number, 0 < x < 65536. - ContainerPort int `json:"containerPort" description:"number of port to expose on the pod's IP address"` - // Optional: Defaults to "TCP". - Protocol Protocol `json:"protocol,omitempty" description:"protocol for port; must be UDP or TCP; TCP if unspecified"` - // Optional: What host IP to bind the external port to. - HostIP string `json:"hostIP,omitempty" description:"host IP to bind the port to"` -} - -// VolumeMount describes a mounting of a Volume within a container. -type VolumeMount struct { - // Required: This must match the Name of a Volume [above]. - Name string `json:"name" description:"name of the volume to mount"` - // Optional: Defaults to false (read-write). - ReadOnly bool `json:"readOnly,omitempty" description:"mounted read-only if true, read-write otherwise (false or unspecified)"` - // Required. - MountPath string `json:"mountPath" description:"path within the container at which the volume should be mounted"` -} - -// EnvVar represents an environment variable present in a Container. -type EnvVar struct { - // Required: This must be a C_IDENTIFIER. - Name string `json:"name" description:"name of the environment variable; must be a C_IDENTIFIER"` - // Optional: no more than one of the following may be specified. - // Optional: Defaults to ""; variable references $(VAR_NAME) are expanded - // using the previous defined environment variables in the container and - // any service environment variables. If a variable cannot be resolved, - // the reference in the input string will be unchanged. The $(VAR_NAME) - // syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped - // references will never be expanded, regardless of whether the variable - // exists or not. - Value string `json:"value,omitempty" description:"value of the environment variable; defaults to empty string; variable references $(VAR_NAME) are expanded using the previously defined environment varibles in the container and any service environment variables; if a variable cannot be resolved, the reference in the input string will be unchanged; the $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME) ; escaped references will never be expanded, regardless of whether the variable exists or not"` - // Optional: Specifies a source the value of this var should come from. - ValueFrom *EnvVarSource `json:"valueFrom,omitempty" description:"source for the environment variable's value; cannot be used if value is not empty"` -} - -// EnvVarSource represents a source for the value of an EnvVar. -type EnvVarSource struct { - // Required: Selects a field of the pod; only name and namespace are supported. - FieldRef *ObjectFieldSelector `json:"fieldRef" description:"selects a field of the pod; only name and namespace are supported"` -} - -// ObjectFieldSelector selects an APIVersioned field of an object. -type ObjectFieldSelector struct { - // Optional: Version of the schema the FieldPath is written in terms of, defaults to "v1beta3" - APIVersion string `json:"apiVersion,omitempty" description:"version of the schema that fieldPath is written in terms of; defaults to v1beta3"` - // Required: Path of the field to select in the specified API version - FieldPath string `json:"fieldPath" description:"path of the field to select in the specified API version"` -} - -// HTTPGetAction describes an action based on HTTP Get requests. -type HTTPGetAction struct { - // Optional: Path to access on the HTTP server. - Path string `json:"path,omitempty" description:"path to access on the HTTP server"` - // Required: Name or number of the port to access on the container. - Port util.IntOrString `json:"port" description:"number or name of the port to access on the container; number must be in the range 1 to 65535; name must be a IANA_SVC_NAME"` - // Optional: Host name to connect to, defaults to the pod IP. - Host string `json:"host,omitempty" description:"hostname to connect to; defaults to pod IP"` - // Optional: Scheme to use for connecting to the host, defaults to HTTP. - Scheme URIScheme `json:"scheme,omitempty" description:"scheme to connect with, must be HTTP or HTTPS, defaults to HTTP"` -} - -// URIScheme identifies the scheme used for connection to a host for Get actions -type URIScheme string - -const ( - // URISchemeHTTP means that the scheme used will be http:// - URISchemeHTTP URIScheme = "HTTP" - // URISchemeHTTPS means that the scheme used will be https:// - URISchemeHTTPS URIScheme = "HTTPS" -) - -// TCPSocketAction describes an action based on opening a socket -type TCPSocketAction struct { - // Required: Port to connect to. - Port util.IntOrString `json:"port" description:"number or name of the port to access on the container; number must be in the range 1 to 65535; name must be a IANA_SVC_NAME"` -} - -// ExecAction describes a "run in container" action. -type ExecAction struct { - // Command is the command line to execute inside the container, the working directory for the - // command is root ('/') in the container's filesystem. The command is simply exec'd, it is - // not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - // a shell, you need to explicitly call out to that shell. - Command []string `json:"command,omitempty" description:"command line to execute inside the container; working directory for the command is root ('/') in the container's file system; the command is exec'd, not run inside a shell; exit status of 0 is treated as live/healthy and non-zero is unhealthy"` -} - -// Probe describes a liveness probe to be examined to the container. -type Probe struct { - // The action taken to determine the health of a container - Handler `json:",inline"` - // Length of time before health checking is activated. In seconds. - InitialDelaySeconds int64 `json:"initialDelaySeconds,omitempty" description:"number of seconds after the container has started before liveness probes are initiated"` - // Length of time before health checking times out. In seconds. - TimeoutSeconds int64 `json:"timeoutSeconds,omitempty" description:"number of seconds after which liveness probes timeout; defaults to 1 second"` -} - -// PullPolicy describes a policy for if/when to pull a container image -type PullPolicy string - -const ( - // PullAlways means that kubelet always attempts to pull the latest image. Container will fail If the pull fails. - PullAlways PullPolicy = "Always" - // PullNever means that kubelet never pulls an image, but only uses a local image. Container will fail if the image isn't present - PullNever PullPolicy = "Never" - // PullIfNotPresent means that kubelet pulls if the image isn't present on disk. Container will fail if the image isn't present and the pull fails. - PullIfNotPresent PullPolicy = "IfNotPresent" -) - -// Capability represent POSIX capabilities type -type Capability string - -// Capabilities represent POSIX capabilities that can be added or removed to a running container. -type Capabilities struct { - // Added capabilities - Add []Capability `json:"add,omitempty" description:"added capabilities"` - // Removed capabilities - Drop []Capability `json:"drop,omitempty" description:"droped capabilities"` -} - -// ResourceRequirements describes the compute resource requirements. -type ResourceRequirements struct { - // Limits describes the maximum amount of compute resources required. - Limits ResourceList `json:"limits,omitempty" description:"Maximum amount of compute resources allowed"` - // Requests describes the minimum amount of compute resources required. - // Note: 'Requests' are honored only for Persistent Volumes as of now. - // TODO: Update the scheduler to use 'Requests' in addition to 'Limits'. If Request is omitted for a container, - // it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value - Requests ResourceList `json:"requests,omitempty" description:"Minimum amount of resources requested; requests are honored only for persistent volumes as of now"` -} - -const ( - // TerminationMessagePathDefault means the default path to capture the application termination message running in a container - TerminationMessagePathDefault string = "/dev/termination-log" -) - -// Container represents a single container that is expected to be run on the host. -type Container struct { - // Required: This must be a DNS_LABEL. Each container in a pod must - // have a unique name. - Name string `json:"name" description:"name of the container; must be a DNS_LABEL and unique within the pod; cannot be updated"` - // Required. - Image string `json:"image" description:"Docker image name"` - // Optional: The docker image's entrypoint is used if this is not provided; cannot be updated. - // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - // cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax - // can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - // regardless of whether the variable exists or not. - Command []string `json:"command,omitempty" description:"entrypoint array; not executed within a shell; the docker image's entrypoint is used if this is not provided; cannot be updated; variable references $(VAR_NAME) are expanded using the container's environment variables; if a variable cannot be resolved, the reference in the input string will be unchanged; the $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME) ; escaped references will never be expanded, regardless of whether the variable exists or not"` - // Optional: The docker image's cmd is used if this is not provided; cannot be updated. - // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - // cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax - // can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - // regardless of whether the variable exists or not. - Args []string `json:"args,omitempty" description:"command array; the docker image's cmd is used if this is not provided; arguments to the entrypoint; cannot be updated; variable references $(VAR_NAME) are expanded using the container's environment variables; if a variable cannot be resolved, the reference in the input string will be unchanged; the $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME) ; escaped references will never be expanded, regardless of whether the variable exists or not"` - // Optional: Defaults to Docker's default. - WorkingDir string `json:"workingDir,omitempty" description:"container's working directory; defaults to image's default; cannot be updated"` - Ports []ContainerPort `json:"ports,omitempty" description:"list of ports to expose from the container; cannot be updated" patchStrategy:"merge" patchMergeKey:"containerPort"` - Env []EnvVar `json:"env,omitempty" description:"list of environment variables to set in the container; cannot be updated" patchStrategy:"merge" patchMergeKey:"name"` - Resources ResourceRequirements `json:"resources,omitempty" description:"Compute Resources required by this container; cannot be updated"` - VolumeMounts []VolumeMount `json:"volumeMounts,omitempty" description:"pod volumes to mount into the container's filesyste; cannot be updated" patchStrategy:"merge" patchMergeKey:"name"` - LivenessProbe *Probe `json:"livenessProbe,omitempty" description:"periodic probe of container liveness; container will be restarted if the probe fails; cannot be updated"` - ReadinessProbe *Probe `json:"readinessProbe,omitempty" description:"periodic probe of container service readiness; container will be removed from service endpoints if the probe fails; cannot be updated"` - Lifecycle *Lifecycle `json:"lifecycle,omitempty" description:"actions that the management system should take in response to container lifecycle events; cannot be updated"` - // Optional: Defaults to /dev/termination-log - TerminationMessagePath string `json:"terminationMessagePath,omitempty" description:"path at which the file to which the container's termination message will be written is mounted into the container's filesystem; message written is intended to be brief final status, such as an assertion failure message; defaults to /dev/termination-log; cannot be updated"` - // Deprecated - see SecurityContext. Optional: Default to false. - Privileged bool `json:"privileged,omitempty" description:"whether or not the container is granted privileged status; defaults to false; cannot be updated; deprecated; See SecurityContext."` - // Optional: Policy for pulling images for this container - ImagePullPolicy PullPolicy `json:"imagePullPolicy,omitempty" description:"image pull policy; one of Always, Never, IfNotPresent; defaults to Always if :latest tag is specified, or IfNotPresent otherwise; cannot be updated"` - // Deprecated - see SecurityContext. Optional: Capabilities for container. - Capabilities Capabilities `json:"capabilities,omitempty" description:"capabilities for container; cannot be updated; deprecated; See SecurityContext."` - // Optional: SecurityContext defines the security options the pod should be run with - SecurityContext *SecurityContext `json:"securityContext,omitempty" description:"security options the pod should run with"` -} - -// Handler defines a specific action that should be taken -// TODO: pass structured data to these actions, and document that data here. -type Handler struct { - // One and only one of the following should be specified. - // Exec specifies the action to take. - Exec *ExecAction `json:"exec,omitempty" description:"exec-based handler"` - // HTTPGet specifies the http request to perform. - HTTPGet *HTTPGetAction `json:"httpGet,omitempty" description:"HTTP-based handler"` - // TCPSocket specifies an action involving a TCP port. - // TODO: implement a realistic TCP lifecycle hook - TCPSocket *TCPSocketAction `json:"tcpSocket,omitempty" description:"TCP-based handler; TCP hooks not yet supported"` -} - -// Lifecycle describes actions that the management system should take in response to container lifecycle -// events. For the PostStart and PreStop lifecycle handlers, management of the container blocks -// until the action is complete, unless the container process fails, in which case the handler is aborted. -type Lifecycle struct { - // PostStart is called immediately after a container is created. If the handler fails, the container - // is terminated and restarted. - PostStart *Handler `json:"postStart,omitempty" description:"called immediately after a container is started; if the handler fails, the container is terminated and restarted according to its restart policy; other management of the container blocks until the hook completes"` - // PreStop is called immediately before a container is terminated. The reason for termination is - // passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. - PreStop *Handler `json:"preStop,omitempty" description:"called before a container is terminated; the container is terminated after the handler completes; other management of the container blocks until the hook completes"` -} - -type ConditionStatus string - -// These are valid condition statuses. "ConditionTrue" means a resource is in the condition; -// "ConditionFalse" means a resource is not in the condition; "ConditionUnknown" means kubernetes -// can't decide if a resource is in the condition or not. In the future, we could add other -// intermediate conditions, e.g. ConditionDegraded. -const ( - ConditionTrue ConditionStatus = "True" - ConditionFalse ConditionStatus = "False" - ConditionUnknown ConditionStatus = "Unknown" -) - -type ContainerStateWaiting struct { - // Reason could be pulling image, - Reason string `json:"reason,omitempty" description:"(brief) reason the container is not yet running, such as pulling its image"` -} - -type ContainerStateRunning struct { - StartedAt util.Time `json:"startedAt,omitempty" description:"time at which the container was last (re-)started"` -} - -type ContainerStateTerminated struct { - ExitCode int `json:"exitCode" description:"exit status from the last termination of the container"` - Signal int `json:"signal,omitempty" description:"signal from the last termination of the container"` - Reason string `json:"reason,omitempty" description:"(brief) reason from the last termination of the container"` - Message string `json:"message,omitempty" description:"message regarding the last termination of the container"` - StartedAt util.Time `json:"startedAt,omitempty" description:"time at which previous execution of the container started"` - FinishedAt util.Time `json:"finishedAt,omitempty" description:"time at which the container last terminated"` - ContainerID string `json:"containerID,omitempty" description:"container's ID in the format 'docker://'"` -} - -// ContainerState holds a possible state of container. -// Only one of its members may be specified. -// If none of them is specified, the default one is ContainerStateWaiting. -type ContainerState struct { - Waiting *ContainerStateWaiting `json:"waiting,omitempty" description:"details about a waiting container"` - Running *ContainerStateRunning `json:"running,omitempty" description:"details about a running container"` - Termination *ContainerStateTerminated `json:"termination,omitempty" description:"details about a terminated container"` -} - -type ContainerStatus struct { - // Required: This must be a DNS_LABEL. Each container in a pod must have a unique name. - Name string `json:"name" description:"name of the container; must be a DNS_LABEL and unique within the pod; cannot be updated"` - // TODO(dchen1107): Should we rename PodStatus to a more generic name or have a separate states - // defined for container? - State ContainerState `json:"state,omitempty" description:"details about the container's current condition"` - LastTerminationState ContainerState `json:"lastState,omitempty" description:"details about the container's last termination condition"` - Ready bool `json:"ready" description:"specifies whether the container has passed its readiness probe"` - // Note that this is calculated from dead containers. But those containers are subject to - // garbage collection. This value will get capped at 5 by GC. - RestartCount int `json:"restartCount" description:"the number of times the container has been restarted, currently based on the number of dead containers that have not yet been removed"` - // TODO(dchen1107): Which image the container is running with? - // The image the container is running - Image string `json:"image" description:"image of the container"` - ImageID string `json:"imageID" description:"ID of the container's image"` - ContainerID string `json:"containerID,omitempty" description:"container's ID in the format 'docker://'"` -} - -// PodPhase is a label for the condition of a pod at the current time. -type PodPhase string - -// These are the valid statuses of pods. -const ( - // PodPending means the pod has been accepted by the system, but one or more of the containers - // has not been started. This includes time before being bound to a node, as well as time spent - // pulling images onto the host. - PodPending PodPhase = "Pending" - // PodRunning means the pod has been bound to a node and all of the containers have been started. - // At least one container is still running or is in the process of being restarted. - PodRunning PodPhase = "Running" - // PodSucceeded means that all containers in the pod have voluntarily terminated - // with a container exit code of 0, and the system is not going to restart any of these containers. - PodSucceeded PodPhase = "Succeeded" - // PodFailed means that all containers in the pod have terminated, and at least one container has - // terminated in a failure (exited with a non-zero exit code or was stopped by the system). - PodFailed PodPhase = "Failed" - // PodUnknown means that for some reason the state of the pod could not be obtained, typically due - // to an error in communicating with the host of the pod. - PodUnknown PodPhase = "Unknown" -) - -// PodConditionType is a valid value for PodCondition.Type -type PodConditionType string - -// These are valid conditions of pod. -const ( - // PodReady means the pod is able to service requests and should be added to the - // load balancing pools of all matching services. - PodReady PodConditionType = "Ready" -) - -// TODO: add LastTransitionTime, Reason, Message to match NodeCondition api. -type PodCondition struct { - // Type is the type of the condition - Type PodConditionType `json:"type" description:"kind of the condition, currently only Ready"` - // Status is the status of the condition - Status ConditionStatus `json:"status" description:"status of the condition, one of True, False, Unknown"` -} - -// RestartPolicy describes how the container should be restarted. -// Only one of the following restart policies may be specified. -// If none of the following policies is specified, the default one -// is RestartPolicyAlways. -type RestartPolicy string - -const ( - RestartPolicyAlways RestartPolicy = "Always" - RestartPolicyOnFailure RestartPolicy = "OnFailure" - RestartPolicyNever RestartPolicy = "Never" -) - -// DNSPolicy defines how a pod's DNS will be configured. -type DNSPolicy string - -const ( - // DNSClusterFirst indicates that the pod should use cluster DNS - // first, if it is available, then fall back on the default (as - // determined by kubelet) DNS settings. - DNSClusterFirst DNSPolicy = "ClusterFirst" - - // DNSDefault indicates that the pod should use the default (as - // determined by kubelet) DNS settings. - DNSDefault DNSPolicy = "Default" -) - -// PodSpec is a description of a pod -type PodSpec struct { - Volumes []Volume `json:"volumes,omitempty" description:"list of volumes that can be mounted by containers belonging to the pod" patchStrategy:"merge" patchMergeKey:"name"` - // Required: there must be at least one container in a pod. - Containers []Container `json:"containers" description:"list of containers belonging to the pod; cannot be updated; containers cannot currently be added or removed; there must be at least one container in a Pod" patchStrategy:"merge" patchMergeKey:"name"` - RestartPolicy RestartPolicy `json:"restartPolicy,omitempty" description:"restart policy for all containers within the pod; one of Always, OnFailure, Never; defaults to Always"` - // Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. - // Value must be non-negative integer. The value zero indicates delete immediately. - // If this value is nil, the default grace period will be used instead. - // The grace period is the duration in seconds after the processes running in the pod are sent - // a termination signal and the time when the processes are forcibly halted with a kill signal. - // Set this value longer than the expected cleanup time for your process. - TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty" description:"optional duration in seconds the pod needs to terminate gracefully; may be decreased in delete request; value must be non-negative integer; the value zero indicates delete immediately; if this value is not set, the default grace period will be used instead; the grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal; set this value longer than the expected cleanup time for your process"` - ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty" description:"optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers; value must be a positive integer` - // Optional: Set DNS policy. Defaults to "ClusterFirst" - DNSPolicy DNSPolicy `json:"dnsPolicy,omitempty" description:"DNS policy for containers within the pod; one of 'ClusterFirst' or 'Default'"` - // NodeSelector is a selector which must be true for the pod to fit on a node - NodeSelector map[string]string `json:"nodeSelector,omitempty" description:"selector which must match a node's labels for the pod to be scheduled on that node"` - - // ServiceAccount is the name of the ServiceAccount to use to run this pod - ServiceAccount string `json:"serviceAccount,omitempty" description:"name of the ServiceAccount to use to run this pod"` - - // Host is a request to schedule this pod onto a specific host. If it is non-empty, - // the the scheduler simply schedules this pod onto that host, assuming that it fits - // resource requirements. - Host string `json:"host,omitempty" description:"host requested for this pod"` - // Uses the host's network namespace. If this option is set, the ports that will be - // used must be specified. - // Optional: Default to false. - HostNetwork bool `json:"hostNetwork,omitempty" description:"host networking requested for this pod"` - // ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. - // If specified, these secrets will be passed to individual puller implementations for them to use. For example, - // in the case of docker, only DockerConfig type secrets are honored. - ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty" description:"list of references to secrets in the same namespace available for pulling the container images" patchStrategy:"merge" patchMergeKey:"name"` -} - -// PodStatus represents information about the status of a pod. Status may trail the actual -// state of a system. -type PodStatus struct { - Phase PodPhase `json:"phase,omitempty" description:"current condition of the pod."` - Conditions []PodCondition `json:"Condition,omitempty" description:"current service state of pod" patchStrategy:"merge" patchMergeKey:"type"` - // A human readable message indicating details about why the pod is in this state. - Message string `json:"message,omitempty" description:"human readable message indicating details about why the pod is in this condition"` - // A brief CamelCase message indicating details about why the pod is in this state. e.g. 'OutOfDisk' - Reason string `json:"reason,omitempty" description:"(brief-CamelCase) reason indicating details about why the pod is in this condition"` - - HostIP string `json:"hostIP,omitempty" description:"IP address of the host to which the pod is assigned; empty if not yet scheduled"` - PodIP string `json:"podIP,omitempty" description:"IP address allocated to the pod; routable at least within the cluster; empty if not yet allocated"` - - StartTime *util.Time `json:"startTime,omitempty" description:"RFC 3339 date and time at which the object was acknowledged by the Kubelet. This is before the Kubelet pulled the container image(s) for the pod."` - - // The list has one entry per container in the manifest. Each entry is currently the output - // of `docker inspect`. - ContainerStatuses []ContainerStatus `json:"containerStatuses,omitempty" description:"list of container statuses"` -} - -// PodStatusResult is a wrapper for PodStatus returned by kubelet that can be encode/decoded -type PodStatusResult struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - // Status represents the current information about a pod. This data may not be up - // to date. - Status PodStatus `json:"status,omitempty" description:"most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` -} - -// Pod is a collection of containers that can run on a host. This resource is created -// by clients and scheduled onto hosts. -type Pod struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Spec defines the behavior of a pod. - Spec PodSpec `json:"spec,omitempty" description:"specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` - - // Status represents the current information about a pod. This data may not be up - // to date. - Status PodStatus `json:"status,omitempty" description:"most recently observed status of the pod; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` -} - -// PodList is a list of Pods. -type PodList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#types-kinds"` - - Items []Pod `json:"items" description:"list of pods"` -} - -// PodTemplateSpec describes the data a pod should have when created from a template -type PodTemplateSpec struct { - // Metadata of the pods created from this template. - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Spec defines the behavior of a pod. - Spec PodSpec `json:"spec,omitempty" description:"specification of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` -} - -// PodTemplate describes a template for creating copies of a predefined pod. -type PodTemplate struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Template defines the pods that will be created from this pod template - Template PodTemplateSpec `json:"template,omitempty" description:"the template of the desired behavior of the pod; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` -} - -// PodTemplateList is a list of PodTemplates. -type PodTemplateList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - Items []PodTemplate `json:"items" description:"list of pod templates"` -} - -// ReplicationControllerSpec is the specification of a replication controller. -type ReplicationControllerSpec struct { - // Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. - Replicas *int `json:"replicas,omitempty" description:"number of replicas desired"` - - // Selector is a label query over pods that should match the Replicas count. - // If Selector is empty, it is defaulted to the labels present on the Pod template. - Selector map[string]string `json:"selector,omitempty" description:"label keys and values that must match in order to be controlled by this replication controller, if empty defaulted to labels on Pod template"` - - // TemplateRef is a reference to an object that describes the pod that will be created if - // insufficient replicas are detected. - //TemplateRef *ObjectReference `json:"templateRef,omitempty" description:"reference to an object that describes the pod that will be created if insufficient replicas are detected"` - - // Template is the object that describes the pod that will be created if - // insufficient replicas are detected. This takes precedence over a - // TemplateRef. - Template *PodTemplateSpec `json:"template,omitempty" description:"object that describes the pod that will be created if insufficient replicas are detected; takes precendence over templateRef"` -} - -// ReplicationControllerStatus represents the current status of a replication -// controller. -type ReplicationControllerStatus struct { - // Replicas is the number of actual replicas. - Replicas int `json:"replicas" description:"most recently oberved number of replicas"` - - // ObservedGeneration is the most recent generation observed by the controller. - ObservedGeneration int64 `json:"observedGeneration,omitempty" description:"reflects the generation of the most recently observed replication controller"` -} - -// ReplicationController represents the configuration of a replication controller. -type ReplicationController struct { - TypeMeta `json:",inline"` - // If the Labels of a ReplicationController are empty, they are defaulted to be the same as the Pod(s) that the replication controller manages. - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Spec defines the desired behavior of this replication controller. - Spec ReplicationControllerSpec `json:"spec,omitempty" description:"specification of the desired behavior of the replication controller; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` - - // Status is the current status of this replication controller. This data may be - // out of date by some window of time. - Status ReplicationControllerStatus `json:"status,omitempty" description:"most recently observed status of the replication controller; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` -} - -// ReplicationControllerList is a collection of replication controllers. -type ReplicationControllerList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - Items []ReplicationController `json:"items" description:"list of replication controllers"` -} - -// Session Affinity Type string -type ServiceAffinity string - -const ( - // ServiceAffinityClientIP is the Client IP based. - ServiceAffinityClientIP ServiceAffinity = "ClientIP" - - // ServiceAffinityNone - no session affinity. - ServiceAffinityNone ServiceAffinity = "None" -) - -// Service Type string describes ingress methods for a service -type ServiceType string - -const ( - // ServiceTypeClusterIP means a service will only be accessible inside the - // cluster, via the portal IP. - ServiceTypeClusterIP ServiceType = "ClusterIP" - - // ServiceTypeNodePort means a service will be exposed on one port of - // every node, in addition to 'ClusterIP' type. - ServiceTypeNodePort ServiceType = "NodePort" - - // ServiceTypeLoadBalancer means a service will be exposed via an - // external load balancer (if the cloud provider supports it), in addition - // to 'NodePort' type. - ServiceTypeLoadBalancer ServiceType = "LoadBalancer" -) - -// ServiceStatus represents the current status of a service -type ServiceStatus struct { - // LoadBalancer contains the current status of the load-balancer, - // if one is present. - LoadBalancer LoadBalancerStatus `json:"loadBalancer,omitempty" description:"status of load-balancer"` -} - -// LoadBalancerStatus represents the status of a load-balancer -type LoadBalancerStatus struct { - // Ingress is a list containing ingress points for the load-balancer; - // traffic intended for the service should be sent to these ingress points. - Ingress []LoadBalancerIngress `json:"ingress,omitempty" description:"load-balancer ingress points"` -} - -// LoadBalancerIngress represents the status of a load-balancer ingress point: -// traffic intended for the service should be sent to an ingress point. -type LoadBalancerIngress struct { - // IP is set for load-balancer ingress points that are IP based - // (typically GCE or OpenStack load-balancers) - IP string `json:"ip,omitempty" description:"IP address of ingress point"` - - // Hostname is set for load-balancer ingress points that are DNS based - // (typically AWS load-balancers) - Hostname string `json:"hostname,omitempty" description:"hostname of ingress point"` -} - -// ServiceSpec describes the attributes that a user creates on a service -type ServiceSpec struct { - // Required: The list of ports that are exposed by this service. - Ports []ServicePort `json:"ports" description:"ports exposed by the service"` - - // This service will route traffic to pods having labels matching this selector. If null, no endpoints will be automatically created. If empty, all pods will be selected. - Selector map[string]string `json:"selector,omitempty" description:"label keys and values that must match in order to receive traffic for this service; if empty, all pods are selected, if not specified, endpoints must be manually specified"` - - // PortalIP is usually assigned by the master. If specified by the user - // we will try to respect it or else fail the request. This field can - // not be changed by updates. - // Valid values are None, empty string (""), or a valid IP address - // None can be specified for headless services when proxying is not required - PortalIP string `json:"portalIP,omitempty description: IP address of the service; usually assigned by the system; if specified, it will be allocated to the service if unused, and creation of the service will fail otherwise; cannot be updated; 'None' can be specified for a headless service when proxying is not required"` - - // CreateExternalLoadBalancer indicates whether a load balancer should be created for this service. - CreateExternalLoadBalancer bool `json:"createExternalLoadBalancer,omitempty" description:"set up a cloud-provider-specific load balancer on an external IP"` - - // Type determines how the service will be exposed. Valid options: ClusterIP, NodePort, LoadBalancer - Type ServiceType `json:"type,omitempty" description:"type of this service; must be ClusterIP, NodePort, or LoadBalancer; defaults to ClusterIP"` - - // Deprecated. PublicIPs are used by external load balancers, or can be set by - // users to handle external traffic that arrives at a node. - PublicIPs []string `json:"publicIPs,omitempty" description:"deprecated. externally visible IPs (e.g. load balancers) that should be proxied to this service"` - - // Optional: Supports "ClientIP" and "None". Used to maintain session affinity. - SessionAffinity ServiceAffinity `json:"sessionAffinity,omitempty" description:"enable client IP based session affinity; must be ClientIP or None; defaults to None"` -} - -type ServicePort struct { - // Optional if only one ServicePort is defined on this service: The - // name of this port within the service. This must be a DNS_LABEL. - // All ports within a ServiceSpec must have unique names. This maps to - // the 'Name' field in EndpointPort objects. - Name string `json:"name,omitempty" description:"the name of this port; optional if only one port is defined"` - - // Optional: The IP protocol for this port. Supports "TCP" and "UDP", - // default is TCP. - Protocol Protocol `json:"protocol,omitempty" description:"the protocol used by this port; must be UDP or TCP; TCP if unspecified"` - - // Required: The port that will be exposed by this service. - Port int `json:"port" description:"the port number that is exposed"` - - // Optional: The target port on pods selected by this service. - // If this is a string, it will be looked up as a named port in the - // target Pod's container ports. If this is not specified, the value - // of Port is used (an identity map). - TargetPort util.IntOrString `json:"targetPort,omitempty" description:"number or name of the port to access on the pods targeted by the service; defaults to the service port; number must be in the range 1 to 65535; name must be a IANA_SVC_NAME"` - - // The port on each node on which this service is exposed. - // Default is to auto-allocate a port if the ServiceType of this Service requires one. - NodePort int `json:"nodePort" description:"the port on each node on which this service is exposed"` -} - -// Service is a named abstraction of software service (for example, mysql) consisting of local port -// (for example 3306) that the proxy listens on, and the selector that determines which pods -// will answer requests sent through the proxy. -type Service struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Spec defines the behavior of a service. - Spec ServiceSpec `json:"spec,omitempty" description:"specification of the desired behavior of the service; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` - - // Status represents the current status of a service. - Status ServiceStatus `json:"status,omitempty" description:"most recently observed status of the service; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` -} - -const ( - // PortalIPNone - do not assign a portal IP - // no proxying required and no environment variables should be created for pods - PortalIPNone = "None" -) - -// ServiceList holds a list of services. -type ServiceList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - Items []Service `json:"items" description:"list of services"` -} - -// ServiceAccount binds together: -// * a name, understood by users, and perhaps by peripheral systems, for an identity -// * a principal that can be authenticated and authorized -// * a set of secrets -type ServiceAccount struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Secrets is the list of secrets allowed to be used by pods running using this ServiceAccount - Secrets []ObjectReference `json:"secrets,omitempty" description:"list of secrets that can be used by pods running as this service account" patchStrategy:"merge" patchMergeKey:"name"` - - // ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images - // in pods that reference this ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets - // can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet. - ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty" description:"list of references to secrets in the same namespace available for pulling container images"` -} - -// ServiceAccountList is a list of ServiceAccount objects -type ServiceAccountList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - Items []ServiceAccount `json:"items" description:"list of ServiceAccounts"` -} - -// Endpoints is a collection of endpoints that implement the actual service. Example: -// Name: "mysvc", -// Subsets: [ -// { -// Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], -// Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] -// }, -// { -// Addresses: [{"ip": "10.10.3.3"}], -// Ports: [{"name": "a", "port": 93}, {"name": "b", "port": 76}] -// }, -// ] -type Endpoints struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // The set of all endpoints is the union of all subsets. - Subsets []EndpointSubset `json:"subsets" description:"sets of addresses and ports that comprise a service"` -} - -// EndpointSubset is a group of addresses with a common set of ports. The -// expanded set of endpoints is the Cartesian product of Addresses x Ports. -// For example, given: -// { -// Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], -// Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] -// } -// The resulting set of endpoints can be viewed as: -// a: [ 10.10.1.1:8675, 10.10.2.2:8675 ], -// b: [ 10.10.1.1:309, 10.10.2.2:309 ] -type EndpointSubset struct { - Addresses []EndpointAddress `json:"addresses,omitempty" description:"IP addresses which offer the related ports"` - Ports []EndpointPort `json:"ports,omitempty" description:"port numbers available on the related IP addresses"` -} - -// EndpointAddress is a tuple that describes single IP address. -type EndpointAddress struct { - // The IP of this endpoint. - // TODO: This should allow hostname or IP, see #4447. - IP string `json:"IP" description:"IP address of the endpoint"` - - // Optional: The kubernetes object related to the entry point. - TargetRef *ObjectReference `json:"targetRef,omitempty" description:"reference to object providing the endpoint"` -} - -// EndpointPort is a tuple that describes a single port. -type EndpointPort struct { - // The name of this port (corresponds to ServicePort.Name). Optional - // if only one port is defined. Must be a DNS_LABEL. - Name string `json:"name,omitempty" description:"name of this port"` - - // The port number. - Port int `json:"port" description:"port number of the endpoint"` - - // The IP protocol for this port. - Protocol Protocol `json:"protocol,omitempty" description:"protocol for this port; must be UDP or TCP; TCP if unspecified"` -} - -// EndpointsList is a list of endpoints. -type EndpointsList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - Items []Endpoints `json:"items" description:"list of endpoints"` -} - -// NodeSpec describes the attributes that a node is created with. -type NodeSpec struct { - // PodCIDR represents the pod IP range assigned to the node - PodCIDR string `json:"podCIDR,omitempty" description:"pod IP range assigned to the node"` - // External ID of the node assigned by some machine database (e.g. a cloud provider) - ExternalID string `json:"externalID,omitempty" description:"deprecated. External ID assigned to the node by some machine database (e.g. a cloud provider). Defaults to node name when empty."` - // ID of the node assigned by the cloud provider - ProviderID string `json:"providerID,omitempty" description:"ID of the node assigned by the cloud provider in the format: ://"` - // Unschedulable controls node schedulability of new pods. By default node is schedulable. - Unschedulable bool `json:"unschedulable,omitempty" description:"disable pod scheduling on the node"` -} - -// NodeSystemInfo is a set of ids/uuids to uniquely identify the node. -type NodeSystemInfo struct { - // MachineID is the machine-id reported by the node - MachineID string `json:"machineID" description:"machine-id reported by the node"` - // SystemUUID is the system-uuid reported by the node - SystemUUID string `json:"systemUUID" description:"system-uuid reported by the node"` - // BootID is the boot-id reported by the node - BootID string `json:"bootID" description:"boot id is the boot-id reported by the node"` - // Kernel version reported by the node - KernelVersion string `json:"kernelVersion" description:"Kernel version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64)"` - // OS image used reported by the node - OsImage string `json:"osImage" description:"OS image used reported by the node from /etc/os-release (e.g. Debian GNU/Linux 7 (wheezy))"` - // Container runtime version reported by the node - ContainerRuntimeVersion string `json:"containerRuntimeVersion" description:"Container runtime version reported by the node through runtime remote API (e.g. docker://1.5.0)"` - // Kubelet version reported by the node - KubeletVersion string `json:"kubeletVersion" description:"Kubelet version reported by the node"` - // Kube-proxy version reported by the node - KubeProxyVersion string `json:"kubeProxyVersion" description:"Kube-proxy version reported by the node"` -} - -// NodeStatus is information about the current status of a node. -type NodeStatus struct { - // Capacity represents the available resources of a node. - // see http://releases.k8s.io/HEAD/docs/resources.md for more details. - Capacity ResourceList `json:"capacity,omitempty" description:"compute resource capacity of the node; http://releases.k8s.io/HEAD/docs/resources.md"` - // NodePhase is the current lifecycle phase of the node. - Phase NodePhase `json:"phase,omitempty" description:"most recently observed lifecycle phase of the node"` - // Conditions is an array of current node conditions. - Conditions []NodeCondition `json:"conditions,omitempty" description:"list of node conditions observed" patchStrategy:"merge" patchMergeKey:"type"` - // Queried from cloud provider, if available. - Addresses []NodeAddress `json:"addresses,omitempty" description:"list of addresses reachable to the node" patchStrategy:"merge" patchMergeKey:"type"` - // NodeSystemInfo is a set of ids/uuids to uniquely identify the node - NodeInfo NodeSystemInfo `json:"nodeInfo,omitempty" description:"set of ids/uuids to uniquely identify the node"` -} - -type NodePhase string - -// These are the valid phases of node. -const ( - // NodePending means the node has been created/added by the system, but not configured. - NodePending NodePhase = "Pending" - // NodeRunning means the node has been configured and has Kubernetes components running. - NodeRunning NodePhase = "Running" - // NodeTerminated means the node has been removed from the cluster. - NodeTerminated NodePhase = "Terminated" -) - -type NodeConditionType string - -// These are valid conditions of node. Currently, we don't have enough information to decide -// node condition. In the future, we will add more. The proposed set of conditions are: -// NodeReachable, NodeLive, NodeReady, NodeSchedulable, NodeRunnable. -const ( - // NodeReady means kubelet is healthy and ready to accept pods. - NodeReady NodeConditionType = "Ready" -) - -type NodeCondition struct { - Type NodeConditionType `json:"type" description:"type of node condition, currently only Ready"` - Status ConditionStatus `json:"status" description:"status of the condition, one of True, False, Unknown"` - LastHeartbeatTime util.Time `json:"lastHeartbeatTime,omitempty" description:"last time we got an update on a given condition"` - LastTransitionTime util.Time `json:"lastTransitionTime,omitempty" description:"last time the condition transit from one status to another"` - Reason string `json:"reason,omitempty" description:"(brief) reason for the condition's last transition"` - Message string `json:"message,omitempty" description:"human readable message indicating details about last transition"` -} - -type NodeAddressType string - -// These are valid address type of node. -const ( - NodeHostName NodeAddressType = "Hostname" - NodeExternalIP NodeAddressType = "ExternalIP" - NodeInternalIP NodeAddressType = "InternalIP" -) - -type NodeAddress struct { - Type NodeAddressType `json:"type" description:"node address type, one of Hostname, ExternalIP or InternalIP"` - Address string `json:"address" description:"the node address"` -} - -// ResourceName is the name identifying various resources in a ResourceList. -type ResourceName string - -const ( - // CPU, in cores. (500m = .5 cores) - ResourceCPU ResourceName = "cpu" - // Memory, in bytes. (500Gi = 500GiB = 500 * 1024 * 1024 * 1024) - ResourceMemory ResourceName = "memory" - // Volume size, in bytes (e,g. 5Gi = 5GiB = 5 * 1024 * 1024 * 1024) - ResourceStorage ResourceName = "storage" -) - -// ResourceList is a set of (resource name, quantity) pairs. -type ResourceList map[ResourceName]resource.Quantity - -// Node is a worker node in Kubernetes. -// The name of the node according to etcd is in ID. -type Node struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Spec defines the behavior of a node. - Spec NodeSpec `json:"spec,omitempty" description:"specification of a node; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` - - // Status describes the current status of a Node - Status NodeStatus `json:"status,omitempty" description:"most recently observed status of the node; populated by the system, read-only; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` -} - -// NodeList is a list of minions. -type NodeList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - Items []Node `json:"items" description:"list of nodes"` -} - -type FinalizerName string - -// These are internal finalizer values to Kubernetes, must be qualified name unless defined here -const ( - FinalizerKubernetes FinalizerName = "kubernetes" -) - -// NamespaceSpec describes the attributes on a Namespace -type NamespaceSpec struct { - // Finalizers is an opaque list of values that must be empty to permanently remove object from storage - Finalizers []FinalizerName `json:"finalizers,omitempty" description:"an opaque list of values that must be empty to permanently remove object from storage"` -} - -// NamespaceStatus is information about the current status of a Namespace. -type NamespaceStatus struct { - // Phase is the current lifecycle phase of the namespace. - Phase NamespacePhase `json:"phase,omitempty" description:"phase is the current lifecycle phase of the namespace"` -} - -type NamespacePhase string - -// These are the valid phases of a namespace. -const ( - // NamespaceActive means the namespace is available for use in the system - NamespaceActive NamespacePhase = "Active" - // NamespaceTerminating means the namespace is undergoing graceful termination - NamespaceTerminating NamespacePhase = "Terminating" -) - -// A namespace provides a scope for Names. -// Use of multiple namespaces is optional -type Namespace struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Spec defines the behavior of the Namespace. - Spec NamespaceSpec `json:"spec,omitempty" description:"spec defines the behavior of the Namespace; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` - - // Status describes the current status of a Namespace - Status NamespaceStatus `json:"status,omitempty" description:"status describes the current status of a Namespace; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` -} - -// NamespaceList is a list of Namespaces. -type NamespaceList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Items is the list of Namespace objects in the list - Items []Namespace `json:"items" description:"items is the list of Namespace objects in the list"` -} - -// Binding ties one object to another - for example, a pod is bound to a node by a scheduler. -type Binding struct { - TypeMeta `json:",inline"` - // ObjectMeta describes the object that is being bound. - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Target is the object to bind to. - Target ObjectReference `json:"target" description:"an object to bind to"` -} - -// DeleteOptions may be provided when deleting an API object -type DeleteOptions struct { - TypeMeta `json:",inline"` - - // Optional 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. - GracePeriodSeconds *int64 `json:"gracePeriodSeconds,omitempty" description:"the duration in seconds to wait before deleting this object; defaults to a per object value if not specified; zero means delete immediately"` -} - -// ListOptions is the query options to a standard REST list call -type ListOptions struct { - TypeMeta `json:",inline"` - - // A selector based on labels - LabelSelector string `json:"labelSelector,omitempty" description:"a selector to restrict the list of returned objects by their labels; defaults to everything"` - // A selector based on fields - FieldSelector string `json:"fieldSelector,omitempty" description:"a selector to restrict the list of returned objects by their fields; defaults to everything"` - // If true, watch for changes to the selected resources - Watch bool `json:"watch,omitempty" description:"watch for changes to the described resources and return them as a stream of add, update, and remove notifications; specify resourceVersion"` - // The desired resource version to watch - ResourceVersion string `json:"resourceVersion,omitempty" 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"` -} - -// PodLogOptions is the query options for a Pod's logs REST call -type PodLogOptions struct { - TypeMeta `json:",inline"` - - // Container for which to return logs - Container string `json:"container,omitempty" description:"the container for which to stream logs; defaults to only container if there is one container in the pod"` - - // If true, follow the logs for the pod - Follow bool `json:"follow,omitempty" description:"follow the log stream of the pod; defaults to false"` - - // If true, return previous terminated container logs - Previous bool `json:"previous,omitempty" description:"return previous terminated container logs; defaults to false"` -} - -// PodExecOptions is the query options to a Pod's remote exec call -type PodExecOptions struct { - TypeMeta `json:",inline"` - - // Stdin if true indicates that stdin is to be redirected for the exec call - Stdin bool `json:"stdin,omitempty" description:"redirect the standard input stream of the pod for this call; defaults to false"` - - // Stdout if true indicates that stdout is to be redirected for the exec call - Stdout bool `json:"stdout,omitempty" description:"redirect the standard output stream of the pod for this call; defaults to true"` - - // Stderr if true indicates that stderr is to be redirected for the exec call - Stderr bool `json:"stderr,omitempty" description:"redirect the standard error stream of the pod for this call; defaults to true"` - - // TTY if true indicates that a tty will be allocated for the exec call - TTY bool `json:"tty,omitempty" description:"allocate a terminal for this exec call; defaults to false"` - - // Container in which to execute the command. - Container string `json:"container,omitempty" description:"the container in which to execute the command. Defaults to only container if there is only one container in the pod."` - - // Command is the remote command to execute; argv array; not executed within a shell. - Command []string `json:"command" description:"the command to execute; argv array; not executed within a shell"` -} - -// PodProxyOptions is the query options to a Pod's proxy call -type PodProxyOptions struct { - TypeMeta `json:",inline"` - - // Path is the URL path to use for the current proxy request - Path string `json:"path,omitempty" description:"URL path to use in proxy request to pod"` -} - -// Status is a return value for calls that don't return other objects. -type Status struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // One of: "Success" or "Failure" - Status string `json:"status,omitempty" description:"status of the operation; either Success, or Failure"` - // A human-readable description of the status of this operation. - Message string `json:"message,omitempty" description:"human-readable description of the status of this operation"` - // A machine-readable description of why this operation is in the - // "Failure" status. If this value is empty there - // is no information available. A Reason clarifies an HTTP status - // code but does not override it. - Reason StatusReason `json:"reason,omitempty" description:"machine-readable description of why this operation is in the 'Failure' status; if this value is empty there is no information available; a reason clarifies an HTTP status code but does not override it"` - // Extended data associated with the reason. Each reason may define its - // own extended details. This field is optional and the data returned - // is not guaranteed to conform to any schema except that defined by - // the reason type. - Details *StatusDetails `json:"details,omitempty" description:"extended data associated with the reason; each reason may define its own extended details; this field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type"` - // Suggested HTTP return code for this status, 0 if not set. - Code int `json:"code,omitempty" description:"suggested HTTP return code for this status; 0 if not set"` -} - -// StatusDetails is a set of additional properties that MAY be set by the -// server to provide additional information about a response. The Reason -// field of a Status object defines what attributes will be set. Clients -// must ignore fields that do not match the defined type of each attribute, -// and should assume that any attribute may be empty, invalid, or under -// defined. -type StatusDetails struct { - // The ID attribute of the resource associated with the status StatusReason - // (when there is a single ID which can be described). - ID string `json:"id,omitempty" description:"the ID attribute of the resource associated with the status StatusReason (when there is a single ID which can be described)"` - // The kind attribute of the resource associated with the status StatusReason. - // On some operations may differ from the requested resource Kind. - Kind string `json:"kind,omitempty" description:"the kind attribute of the resource associated with the status StatusReason; on some operations may differ from the requested resource Kind"` - // The Causes array includes more details associated with the StatusReason - // failure. Not all StatusReasons may provide detailed causes. - Causes []StatusCause `json:"causes,omitempty" description:"the Causes array includes more details associated with the StatusReason failure; not all StatusReasons may provide detailed causes"` - // If specified, the time in seconds before the operation should be retried. - RetryAfterSeconds int `json:"retryAfterSeconds,omitempty" description:"the number of seconds before the client should attempt to retry this operation"` -} - -// Values of Status.Status -const ( - StatusSuccess = "Success" - StatusFailure = "Failure" -) - -// StatusReason is an enumeration of possible failure causes. Each StatusReason -// must map to a single HTTP status code, but multiple reasons may map -// to the same HTTP status code. -// TODO: move to apiserver -type StatusReason string - -const ( - // StatusReasonUnknown means the server has declined to indicate a specific reason. - // The details field may contain other information about this error. - // Status code 500. - StatusReasonUnknown StatusReason = "" - - // StatusReasonNotFound means one or more resources required for this operation - // could not be found. - // Details (optional): - // "kind" string - the kind attribute of the missing resource - // on some operations may differ from the requested - // resource. - // "id" string - the identifier of the missing resource - // Status code 404 - StatusReasonNotFound StatusReason = "NotFound" - - // StatusReasonAlreadyExists means the resource you are creating already exists. - // Details (optional): - // "kind" string - the kind attribute of the conflicting resource - // "id" string - the identifier of the conflicting resource - // Status code 409 - StatusReasonAlreadyExists StatusReason = "AlreadyExists" - - // StatusReasonConflict means the requested update operation cannot be completed - // due to a conflict in the operation. The client may need to alter the request. - // Each resource may define custom details that indicate the nature of the - // conflict. - // Status code 409 - StatusReasonConflict StatusReason = "Conflict" - - // StatusReasonInvalid means the requested create or update operation cannot be - // completed due to invalid data provided as part of the request. The client may - // need to alter the request. When set, the client may use the StatusDetails - // message field as a summary of the issues encountered. - // Details (optional): - // "kind" string - the kind attribute of the invalid resource - // "id" string - the identifier of the invalid resource - // "causes" - one or more StatusCause entries indicating the data in the - // provided resource that was invalid. The code, message, and - // field attributes will be set. - // Status code 422 - StatusReasonInvalid StatusReason = "Invalid" - - // StatusReasonServerTimeout means the server can be reached and understood the request, - // but cannot complete the action in a reasonable time. The client should retry the request. - // This is may be due to temporary server load or a transient communication issue with - // another server. Status code 500 is used because the HTTP spec provides no suitable - // server-requested client retry and the 5xx class represents actionable errors. - // Details (optional): - // "kind" string - the kind attribute of the resource being acted on. - // "id" string - the operation that is being attempted. - // Status code 500 - StatusReasonServerTimeout StatusReason = "ServerTimeout" -) - -// StatusCause provides more information about an api.Status failure, including -// cases when multiple errors are encountered. -type StatusCause struct { - // A machine-readable description of the cause of the error. If this value is - // empty there is no information available. - Type CauseType `json:"reason,omitempty" description:"machine-readable description of the cause of the error; if this value is empty there is no information available"` - // A human-readable description of the cause of the error. This field may be - // presented as-is to a reader. - Message string `json:"message,omitempty" description:"human-readable description of the cause of the error; this field may be presented as-is to a reader"` - // The field of the resource that has caused this error, as named by its JSON - // serialization. May include dot and postfix notation for nested attributes. - // Arrays are zero-indexed. Fields may appear more than once in an array of - // causes due to fields having multiple errors. - // Optional. - // - // Examples: - // "name" - the field "name" on the current resource - // "items[0].name" - the field "name" on the first array entry in "items" - Field string `json:"field,omitempty" description:"field of the resource that has caused this error, as named by its JSON serialization; may include dot and postfix notation for nested attributes; arrays are zero-indexed; fields may appear more than once in an array of causes due to fields having multiple errors"` -} - -// CauseType is a machine readable value providing more detail about what -// occured in a status response. An operation may have multiple causes for a -// status (whether Failure or Success). -type CauseType string - -const ( - // CauseTypeFieldValueNotFound is used to report failure to find a requested value - // (e.g. looking up an ID). - CauseTypeFieldValueNotFound CauseType = "FieldValueNotFound" - // CauseTypeFieldValueRequired is used to report required values that are not - // provided (e.g. empty strings, null values, or empty arrays). - CauseTypeFieldValueRequired CauseType = "FieldValueRequired" - // CauseTypeFieldValueDuplicate is used to report collisions of values that must be - // unique (e.g. unique IDs). - CauseTypeFieldValueDuplicate CauseType = "FieldValueDuplicate" - // CauseTypeFieldValueInvalid is used to report malformed values (e.g. failed regex - // match). - CauseTypeFieldValueInvalid CauseType = "FieldValueInvalid" - // CauseTypeFieldValueNotSupported is used to report valid (as per formatting rules) - // values that can not be handled (e.g. an enumerated string). - CauseTypeFieldValueNotSupported CauseType = "FieldValueNotSupported" -) - -// ObjectReference contains enough information to let you inspect or modify the referred object. -type ObjectReference struct { - Kind string `json:"kind,omitempty" description:"kind of the referent"` - Namespace string `json:"namespace,omitempty" description:"namespace of the referent"` - Name string `json:"name,omitempty" description:"name of the referent"` - UID types.UID `json:"uid,omitempty" description:"uid of the referent"` - APIVersion string `json:"apiVersion,omitempty" description:"API version of the referent"` - ResourceVersion string `json:"resourceVersion,omitempty" description:"specific resourceVersion to which this reference is made, if any: http://releases.k8s.io/HEAD/docs/api-conventions.md#concurrency-control-and-consistency"` - - // Optional. If referring to a piece of an object instead of an entire object, this string - // should contain information to identify the sub-object. For example, if the object - // reference is to a container within a pod, this would take on a value like: - // "spec.containers{name}" (where "name" refers to the name of the container that triggered - // the event) or if no container name is specified "spec.containers[2]" (container with - // index 2 in this pod). This syntax is chosen only to have some well-defined way of - // referencing a part of an object. - // TODO: this design is not final and this field is subject to change in the future. - FieldPath string `json:"fieldPath,omitempty" description:"if referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]"` -} - -// LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. -type LocalObjectReference struct { - //TODO: Add other useful fields. apiVersion, kind, uid? - Name string `json:"name,omitempty" description:"name of the referent"` -} - -type SerializedReference struct { - TypeMeta `json:",inline"` - Reference ObjectReference `json:"reference,omitempty" description:"the reference to an object in the system"` -} - -type EventSource struct { - // Component from which the event is generated. - Component string `json:"component,omitempty" description:"component that generated the event"` - // Host name on which the event is generated. - Host string `json:"host,omitempty" description:"name of the host where the event is generated"` -} - -// Event is a report of an event somewhere in the cluster. -// TODO: Decide whether to store these separately or with the object they apply to. -type Event struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Required. The object that this event is about. - InvolvedObject ObjectReference `json:"involvedObject" description:"object this event is about"` - - // Optional; this should be a short, machine understandable string that gives the reason - // for this event being generated. - // TODO: provide exact specification for format. - Reason string `json:"reason,omitempty" description:"short, machine understandable string that gives the reason for the transition into the object's current status"` - - // Optional. A human-readable description of the status of this operation. - // TODO: decide on maximum length. - Message string `json:"message,omitempty" description:"human-readable description of the status of this operation"` - - // Optional. The component reporting this event. Should be a short machine understandable string. - Source EventSource `json:"source,omitempty" description:"component reporting this event"` - - // The time at which the event was first recorded. (Time of server receipt is in TypeMeta.) - FirstTimestamp util.Time `json:"firstTimestamp,omitempty" description:"the time at which the event was first recorded"` - - // The time at which the most recent occurance of this event was recorded. - LastTimestamp util.Time `json:"lastTimestamp,omitempty" description:"the time at which the most recent occurance of this event was recorded"` - - // The number of times this event has occurred. - Count int `json:"count,omitempty" description:"the number of times this event has occurred"` -} - -// EventList is a list of events. -type EventList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - Items []Event `json:"items" description:"list of events"` -} - -// List holds a list of objects, which may not be known by the server. -type List struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - Items []runtime.RawExtension `json:"items" description:"list of objects"` -} - -// A type of object that is limited -type LimitType string - -const ( - // Limit that applies to all pods in a namespace - LimitTypePod LimitType = "Pod" - // Limit that applies to all containers in a namespace - LimitTypeContainer LimitType = "Container" -) - -// LimitRangeItem defines a min/max usage limit for any resource that matches on kind -type LimitRangeItem struct { - // Type of resource that this limit applies to - Type LimitType `json:"type,omitempty" description:"type of resource that this limit applies to"` - // Max usage constraints on this kind by resource name - Max ResourceList `json:"max,omitempty" description:"max usage constraints on this kind by resource name"` - // Min usage constraints on this kind by resource name - Min ResourceList `json:"min,omitempty" description:"min usage constraints on this kind by resource name"` - // Default usage constraints on this kind by resource name - Default ResourceList `json:"default,omitempty" description:"default values on this kind by resource name if omitted"` -} - -// LimitRangeSpec defines a min/max usage limit for resources that match on kind -type LimitRangeSpec struct { - // Limits is the list of LimitRangeItem objects that are enforced - Limits []LimitRangeItem `json:"limits" description:"limits is the list of LimitRangeItem objects that are enforced"` -} - -// LimitRange sets resource usage limits for each kind of resource in a Namespace -type LimitRange struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Spec defines the limits enforced - Spec LimitRangeSpec `json:"spec,omitempty" description:"spec defines the limits enforced; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` -} - -// LimitRangeList is a list of LimitRange items. -type LimitRangeList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Items is a list of LimitRange objects - Items []LimitRange `json:"items" description:"items is a list of LimitRange objects"` -} - -// The following identify resource constants for Kubernetes object types -const ( - // Pods, number - ResourcePods ResourceName = "pods" - // Services, number - ResourceServices ResourceName = "services" - // ReplicationControllers, number - ResourceReplicationControllers ResourceName = "replicationcontrollers" - // ResourceQuotas, number - ResourceQuotas ResourceName = "resourcequotas" - // ResourceSecrets, number - ResourceSecrets ResourceName = "secrets" - // ResourcePersistentVolumeClaims, number - ResourcePersistentVolumeClaims ResourceName = "persistentvolumeclaims" -) - -// ResourceQuotaSpec defines the desired hard limits to enforce for Quota -type ResourceQuotaSpec struct { - // Hard is the set of desired hard limits for each named resource - Hard ResourceList `json:"hard,omitempty" description:"hard is the set of desired hard limits for each named resource"` -} - -// ResourceQuotaStatus defines the enforced hard limits and observed use -type ResourceQuotaStatus struct { - // Hard is the set of enforced hard limits for each named resource - Hard ResourceList `json:"hard,omitempty" description:"hard is the set of enforced hard limits for each named resource"` - // Used is the current observed total usage of the resource in the namespace - Used ResourceList `json:"used,omitempty" description:"used is the current observed total usage of the resource in the namespace"` -} - -// ResourceQuota sets aggregate quota restrictions enforced per namespace -type ResourceQuota struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Spec defines the desired quota - Spec ResourceQuotaSpec `json:"spec,omitempty" description:"spec defines the desired quota; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` - - // Status defines the actual enforced quota and its current usage - Status ResourceQuotaStatus `json:"status,omitempty" description:"status defines the actual enforced quota and current usage; http://releases.k8s.io/HEAD/docs/api-conventions.md#spec-and-status"` -} - -// ResourceQuotaList is a list of ResourceQuota items -type ResourceQuotaList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Items is a list of ResourceQuota objects - Items []ResourceQuota `json:"items" description:"items is a list of ResourceQuota objects"` -} - -// Secret holds secret data of a certain type. The total bytes of the values in -// the Data field must be less than MaxSecretSize bytes. -type Secret struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - // Data contains the secret data. Each key must be a valid DNS_SUBDOMAIN - // or leading dot followed by valid DNS_SUBDOMAIN. - // The serialized form of the secret data is a base64 encoded string, - // representing the arbitrary (possibly non-string) data value here. - Data map[string][]byte `json:"data,omitempty" description:"data contains the secret data. Each key must be a valid DNS_SUBDOMAIN or leading dot followed by valid DNS_SUBDOMAIN. Each value must be a base64 encoded string as described in https://tools.ietf.org/html/rfc4648#section-4"` - - // Used to facilitate programmatic handling of secret data. - Type SecretType `json:"type,omitempty" description:"type facilitates programmatic handling of secret data"` -} - -const MaxSecretSize = 1 * 1024 * 1024 - -type SecretType string - -const ( - // SecretTypeOpaque is the default; arbitrary user-defined data - SecretTypeOpaque SecretType = "Opaque" - - // SecretTypeServiceAccountToken contains a token that identifies a service account to the API - // - // Required fields: - // - Secret.Annotations["kubernetes.io/service-account.name"] - the name of the ServiceAccount the token identifies - // - Secret.Annotations["kubernetes.io/service-account.uid"] - the UID of the ServiceAccount the token identifies - // - Secret.Data["token"] - a token that identifies the service account to the API - SecretTypeServiceAccountToken SecretType = "kubernetes.io/service-account-token" - - // ServiceAccountNameKey is the key of the required annotation for SecretTypeServiceAccountToken secrets - ServiceAccountNameKey = "kubernetes.io/service-account.name" - // ServiceAccountUIDKey is the key of the required annotation for SecretTypeServiceAccountToken secrets - ServiceAccountUIDKey = "kubernetes.io/service-account.uid" - // ServiceAccountTokenKey is the key of the required data for SecretTypeServiceAccountToken secrets - ServiceAccountTokenKey = "token" - // ServiceAccountKubeconfigKey is the key of the optional kubeconfig data for SecretTypeServiceAccountToken secrets - ServiceAccountKubeconfigKey = "kubernetes.kubeconfig" - // ServiceAccountRootCAKey is the key of the optional root certificate authority for SecretTypeServiceAccountToken secrets - ServiceAccountRootCAKey = "ca.crt" - - // SecretTypeDockercfg contains a dockercfg file that follows the same format rules as ~/.dockercfg - // - // Required fields: - // - Secret.Data[".dockercfg"] - a serialized ~/.dockercfg file - SecretTypeDockercfg SecretType = "kubernetes.io/dockercfg" - - // DockerConfigKey is the key of the required data for SecretTypeDockercfg secrets - DockerConfigKey = ".dockercfg" -) - -type SecretList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - Items []Secret `json:"items" description:"items is a list of secret objects"` -} - -// Type and constants for component health validation. -type ComponentConditionType string - -// These are the valid conditions for the component. -const ( - ComponentHealthy ComponentConditionType = "Healthy" -) - -type ComponentCondition struct { - Type ComponentConditionType `json:"type" description:"type of component condition, currently only Healthy"` - Status ConditionStatus `json:"status" description:"current status of this component condition, one of True, False, Unknown"` - Message string `json:"message,omitempty" description:"health check message received from the component"` - Error string `json:"error,omitempty" description:"error code from health check attempt (if any)"` -} - -// ComponentStatus (and ComponentStatusList) holds the cluster validation info. -type ComponentStatus struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - Conditions []ComponentCondition `json:"conditions,omitempty" description:"list of component conditions observed" patchStrategy:"merge" patchMergeKey:"type"` -} - -type ComponentStatusList struct { - TypeMeta `json:",inline"` - ListMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - Items []ComponentStatus `json:"items" description:"list of component status objects"` -} - -// SecurityContext holds security configuration that will be applied to a container. SecurityContext -// contains duplication of some existing fields from the Container resource. These duplicate fields -// will be populated based on the Container configuration if they are not set. Defining them on -// both the Container AND the SecurityContext will result in an error. -type SecurityContext struct { - // Capabilities are the capabilities to add/drop when running the container - // Must match Container.Capabilities or be unset. Will be defaulted to Container.Capabilities if left unset - Capabilities *Capabilities `json:"capabilities,omitempty" description:"the linux capabilites that should be added or removed"` - - // Run the container in privileged mode - // Must match Container.Privileged or be unset. Will be defaulted to Container.Privileged if left unset - Privileged *bool `json:"privileged,omitempty" description:"run the container in privileged mode"` - - // SELinuxOptions are the labels to be applied to the container - // and volumes - SELinuxOptions *SELinuxOptions `json:"seLinuxOptions,omitempty" description:"options that control the SELinux labels applied"` - - // RunAsUser is the UID to run the entrypoint of the container process. - RunAsUser *int64 `json:"runAsUser,omitempty" description:"the user id that runs the first process in the container"` -} - -// SELinuxOptions are the labels to be applied to the container. -type SELinuxOptions struct { - // SELinux user label - User string `json:"user,omitempty" description:"the user label to apply to the container"` - - // SELinux role label - Role string `json:"role,omitempty" description:"the role label to apply to the container"` - - // SELinux type label - Type string `json:"type,omitempty" description:"the type label to apply to the container"` - - // SELinux level label. - Level string `json:"level,omitempty" description:"the level label to apply to the container"` -} - -// RangeAllocation is not a public type -type RangeAllocation struct { - TypeMeta `json:",inline"` - ObjectMeta `json:"metadata,omitempty" description:"standard list metadata; see http://releases.k8s.io/HEAD/docs/api-conventions.md#metadata"` - - Range string `json:"range" description:"a range string that identifies the range represented by 'data'; required"` - Data []byte `json:"data" description:"a bit array containing all allocated addresses in the previous segment"` -} diff --git a/pkg/api/validation/testdata/v1beta3/invalidPod.yaml b/pkg/api/validation/testdata/v1beta3/invalidPod.yaml deleted file mode 100644 index 386e20becec..00000000000 --- a/pkg/api/validation/testdata/v1beta3/invalidPod.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1beta3 -kind: Pod -metadata: - labels: - name: redis-master - name: name -spec: - containers: - - args: "this is a bad command" - image: redis - name: master diff --git a/pkg/api/validation/testdata/v1beta3/invalidPod1.json b/pkg/api/validation/testdata/v1beta3/invalidPod1.json deleted file mode 100644 index b7f5447bec1..00000000000 --- a/pkg/api/validation/testdata/v1beta3/invalidPod1.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "kind": "Pod", - "apiVersion": "v1beta3", - "metadata": { - "name": "name", - "labels": { - "name": "redis-master" - } - }, - "spec": { - "containers": [ - { - "name": "master", - "image": "redis", - "args": "this is a bad command" - } - ] - } -} diff --git a/pkg/api/validation/testdata/v1beta3/invalidPod2.json b/pkg/api/validation/testdata/v1beta3/invalidPod2.json deleted file mode 100644 index 4f330533019..00000000000 --- a/pkg/api/validation/testdata/v1beta3/invalidPod2.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "kind": "Pod", - "apiVersion": "v1beta3", - "metadata": { - "name": "apache-php", - "labels": { - "name": "apache-php" - } - }, - "spec": { - "volumes": [{ - "name": "shared-disk" - }], - "containers": [ - { - "name": "apache-php", - "image": "php:5.6.2-apache", - "ports": [ - { - "name": "apache", - "hostPort": "13380", - "containerPort": 80, - "protocol": "TCP" - } - ], - "volumeMounts": [ - { - "name": "shared-disk", - "mountPath": "/var/www/html" - } - ] - } - ] - } -} diff --git a/pkg/api/validation/testdata/v1beta3/invalidPod3.json b/pkg/api/validation/testdata/v1beta3/invalidPod3.json deleted file mode 100644 index 457120c6185..00000000000 --- a/pkg/api/validation/testdata/v1beta3/invalidPod3.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "kind": "Pod", - "apiVersion": "v1beta3", - "metadata": { - "name": "apache-php", - "labels": { - "name": "apache-php" - } - }, - "spec": { - "volumes": [ - "name": "shared-disk" - ], - "containers": [ - { - "name": "apache-php", - "image": "php:5.6.2-apache", - "ports": [ - { - "name": "apache", - "hostPort": 13380, - "containerPort": 80, - "protocol": "TCP" - } - ], - "volumeMounts": [ - { - "name": "shared-disk", - "mountPath": "/var/www/html" - } - ] - } - ] - } -} diff --git a/pkg/api/validation/testdata/v1beta3/validPod.yaml b/pkg/api/validation/testdata/v1beta3/validPod.yaml deleted file mode 100644 index 4e6e835f831..00000000000 --- a/pkg/api/validation/testdata/v1beta3/validPod.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1beta3 -kind: Pod -metadata: - labels: - name: redis-master - name: name -spec: - containers: - - args: - - this - - is - - an - - ok - - command - image: redis - name: master diff --git a/pkg/apiserver/apiserver.go b/pkg/apiserver/apiserver.go index 7cb395b5089..6b7e1199ece 100644 --- a/pkg/apiserver/apiserver.go +++ b/pkg/apiserver/apiserver.go @@ -81,7 +81,7 @@ type APIGroupVersion struct { // ServerVersion controls the Kubernetes APIVersion used for common objects in the apiserver // schema like api.Status, api.DeleteOptions, and api.ListOptions. Other implementors may - // define a version "v1beta1" but want to use the Kubernetes "v1beta3" internal objects. If + // define a version "v1beta1" but want to use the Kubernetes "v1" internal objects. If // empty, defaults to Version. ServerVersion string diff --git a/pkg/apiserver/apiserver_test.go b/pkg/apiserver/apiserver_test.go index a9825cc97ef..68b4a30ac98 100644 --- a/pkg/apiserver/apiserver_test.go +++ b/pkg/apiserver/apiserver_test.go @@ -177,7 +177,7 @@ func handle(storage map[string]rest.Storage) http.Handler { return handleInternal(true, storage, admissionControl, selfLinker) } -// uses the default settings for a v1beta3 compatible api +// uses the default settings for a v1 compatible api func handleNew(storage map[string]rest.Storage) http.Handler { return handleInternal(false, storage, admissionControl, selfLinker) } diff --git a/pkg/client/clientcmd/api/types.go b/pkg/client/clientcmd/api/types.go index 698b765848b..fb18e0f1169 100644 --- a/pkg/client/clientcmd/api/types.go +++ b/pkg/client/clientcmd/api/types.go @@ -56,7 +56,7 @@ type Cluster struct { LocationOfOrigin string // Server is the address of the kubernetes cluster (https://hostname:port). Server string `json:"server"` - // APIVersion is the preferred api version for communicating with the kubernetes cluster (v1beta1, v1beta2, v1beta3, etc). + // APIVersion is the preferred api version for communicating with the kubernetes cluster (v1, v2, etc). APIVersion string `json:"api-version,omitempty"` // InsecureSkipTLSVerify skips the validity check for the server's certificate. This will make your HTTPS connections insecure. InsecureSkipTLSVerify bool `json:"insecure-skip-tls-verify,omitempty"` diff --git a/pkg/client/clientcmd/api/v1/types.go b/pkg/client/clientcmd/api/v1/types.go index 146d14dcbbc..0b4d0ab4dde 100644 --- a/pkg/client/clientcmd/api/v1/types.go +++ b/pkg/client/clientcmd/api/v1/types.go @@ -54,7 +54,7 @@ type Preferences struct { type Cluster struct { // Server is the address of the kubernetes cluster (https://hostname:port). Server string `json:"server"` - // APIVersion is the preferred api version for communicating with the kubernetes cluster (v1beta1, v1beta2, v1beta3, etc). + // APIVersion is the preferred api version for communicating with the kubernetes cluster (v1, v2, etc). APIVersion string `json:"api-version,omitempty"` // InsecureSkipTLSVerify skips the validity check for the server's certificate. This will make your HTTPS connections insecure. InsecureSkipTLSVerify bool `json:"insecure-skip-tls-verify,omitempty"` diff --git a/pkg/client/request.go b/pkg/client/request.go index 00a8d9fb79e..105c99a7db7 100644 --- a/pkg/client/request.go +++ b/pkg/client/request.go @@ -312,40 +312,6 @@ func (v versionToResourceToFieldMapping) filterField(apiVersion, resourceType, f } var fieldMappings = versionToResourceToFieldMapping{ - "v1beta3": resourceTypeToFieldMapping{ - "nodes": clientFieldNameToAPIVersionFieldName{ - ObjectNameField: "metadata.name", - NodeUnschedulable: "spec.unschedulable", - }, - "minions": clientFieldNameToAPIVersionFieldName{ - ObjectNameField: "metadata.name", - NodeUnschedulable: "spec.unschedulable", - }, - "pods": clientFieldNameToAPIVersionFieldName{ - PodHost: "spec.host", - }, - "secrets": clientFieldNameToAPIVersionFieldName{ - SecretType: "type", - }, - "serviceAccounts": clientFieldNameToAPIVersionFieldName{ - ObjectNameField: "metadata.name", - }, - "endpoints": clientFieldNameToAPIVersionFieldName{ - ObjectNameField: "metadata.name", - }, - "events": clientFieldNameToAPIVersionFieldName{ - ObjectNameField: "metadata.name", - EventReason: "reason", - EventSource: "source", - EventInvolvedKind: "involvedObject.kind", - EventInvolvedNamespace: "involvedObject.namespace", - EventInvolvedName: "involvedObject.name", - EventInvolvedUID: "involvedObject.uid", - EventInvolvedAPIVersion: "involvedObject.apiVersion", - EventInvolvedResourceVersion: "involvedObject.resourceVersion", - EventInvolvedFieldPath: "involvedObject.fieldPath", - }, - }, "v1": resourceTypeToFieldMapping{ "nodes": clientFieldNameToAPIVersionFieldName{ ObjectNameField: "metadata.name", diff --git a/pkg/client/request_test.go b/pkg/client/request_test.go index 53dcc0d7e45..fa1f459818b 100644 --- a/pkg/client/request_test.go +++ b/pkg/client/request_test.go @@ -1049,13 +1049,6 @@ func TestUnversionedPath(t *testing.T) { t.Errorf("test case %d failed: unexpected path: %s, expected %s", i+1, r.path, tc.expectedPath) } } - for i, tc := range tt { - c := NewOrDie(&Config{Host: tc.host, Prefix: tc.prefix, Version: "v1beta3"}) - r := c.Post().Prefix("/alpha").UnversionedPath(tc.unversioned) - if r.path != tc.expectedPath { - t.Errorf("test case %d failed: unexpected path: %s, expected %s", i+1, r.path, tc.expectedPath) - } - } } func TestAbsPath(t *testing.T) { diff --git a/pkg/kubectl/cmd/get_test.go b/pkg/kubectl/cmd/get_test.go index bf90e66fab3..fa0fbbbe69c 100644 --- a/pkg/kubectl/cmd/get_test.go +++ b/pkg/kubectl/cmd/get_test.go @@ -238,7 +238,7 @@ func TestGetSchemaObject(t *testing.T) { Resp: &http.Response{StatusCode: 200, Body: objBody(codec, &api.ReplicationController{ObjectMeta: api.ObjectMeta{Name: "foo"}})}, } tf.Namespace = "test" - tf.ClientConfig = &client.Config{Version: "v1beta3"} + tf.ClientConfig = &client.Config{Version: "v1"} buf := bytes.NewBuffer([]byte{}) cmd := NewCmdGet(f, buf) diff --git a/pkg/kubectl/cmd/log_test.go b/pkg/kubectl/cmd/log_test.go index a142cdd5e85..d77d562dd5c 100644 --- a/pkg/kubectl/cmd/log_test.go +++ b/pkg/kubectl/cmd/log_test.go @@ -150,18 +150,10 @@ func TestSelectContainer(t *testing.T) { } func TestLog(t *testing.T) { - tests := []struct { name, version, podPath, logPath, container string pod *api.Pod }{ - { - name: "v1beta3 - pod log", - version: "v1beta3", - podPath: "/api/v1beta3/namespaces/test/pods/foo", - logPath: "/api/v1beta3/namespaces/test/pods/foo/log", - pod: testPod(), - }, { name: "v1 - pod log", version: "v1", diff --git a/pkg/kubectl/cmd/rollingupdate.go b/pkg/kubectl/cmd/rollingupdate.go index c3bb899d1fb..13b5e4bcf4c 100644 --- a/pkg/kubectl/cmd/rollingupdate.go +++ b/pkg/kubectl/cmd/rollingupdate.go @@ -27,7 +27,6 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/api" "github.com/GoogleCloudPlatform/kubernetes/pkg/api/errors" "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1" - "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3" "github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl" cmdutil "github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl/cmd/util" "github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl/resource" @@ -304,10 +303,6 @@ func isReplicasDefaulted(info *resource.Info) bool { if rc, ok := info.VersionedObject.(*v1.ReplicationController); ok { return rc.Spec.Replicas == nil } - case "v1beta3": - if rc, ok := info.VersionedObject.(*v1beta3.ReplicationController); ok { - return rc.Spec.Replicas == nil - } } return false } diff --git a/pkg/master/master.go b/pkg/master/master.go index 4b8ce709fad..f8e7c093fa8 100644 --- a/pkg/master/master.go +++ b/pkg/master/master.go @@ -38,7 +38,6 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/api/latest" "github.com/GoogleCloudPlatform/kubernetes/pkg/api/rest" "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1" - "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3" "github.com/GoogleCloudPlatform/kubernetes/pkg/apiserver" "github.com/GoogleCloudPlatform/kubernetes/pkg/auth/authenticator" "github.com/GoogleCloudPlatform/kubernetes/pkg/auth/authorizer" @@ -98,8 +97,6 @@ type Config struct { EnableUISupport bool // allow downstream consumers to disable swagger EnableSwaggerSupport bool - // allow v1beta3 to be conditionally enabled - EnableV1Beta3 bool // allow v1 to be conditionally disabled DisableV1 bool // allow downstream consumers to disable the index route @@ -187,7 +184,6 @@ type Master struct { authorizer authorizer.Authorizer admissionControl admission.Interface masterCount int - v1beta3 bool v1 bool requestContextMapper api.RequestContextMapper @@ -343,7 +339,6 @@ func New(c *Config) *Master { authenticator: c.Authenticator, authorizer: c.Authorizer, admissionControl: c.AdmissionControl, - v1beta3: c.EnableV1Beta3, v1: !c.DisableV1, requestContextMapper: c.RequestContextMapper, @@ -556,12 +551,6 @@ func (m *Master) init(c *Config) { } apiVersions := []string{} - if m.v1beta3 { - if err := m.api_v1beta3().InstallREST(m.handlerContainer); err != nil { - glog.Fatalf("Unable to setup API v1beta3: %v", err) - } - apiVersions = append(apiVersions, "v1beta3") - } if m.v1 { if err := m.api_v1().InstallREST(m.handlerContainer); err != nil { glog.Fatalf("Unable to setup API v1: %v", err) @@ -756,19 +745,6 @@ func (m *Master) defaultAPIGroupVersion() *apiserver.APIGroupVersion { } } -// api_v1beta3 returns the resources and codec for API version v1beta3. -func (m *Master) api_v1beta3() *apiserver.APIGroupVersion { - storage := make(map[string]rest.Storage) - for k, v := range m.storage { - storage[strings.ToLower(k)] = v - } - version := m.defaultAPIGroupVersion() - version.Storage = storage - version.Version = "v1beta3" - version.Codec = v1beta3.Codec - return version -} - // api_v1 returns the resources and codec for API version v1. func (m *Master) api_v1() *apiserver.APIGroupVersion { storage := make(map[string]rest.Storage) diff --git a/pkg/runtime/conversion_generation_test.go b/pkg/runtime/conversion_generation_test.go index 4e89413e5f0..e2ce4f50256 100644 --- a/pkg/runtime/conversion_generation_test.go +++ b/pkg/runtime/conversion_generation_test.go @@ -28,7 +28,6 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/api" "github.com/GoogleCloudPlatform/kubernetes/pkg/api/testapi" _ "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1" - _ "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3" "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" "github.com/golang/glog" diff --git a/pkg/runtime/deep_copy_generation_test.go b/pkg/runtime/deep_copy_generation_test.go index eb28a8160b1..e7cd18b021a 100644 --- a/pkg/runtime/deep_copy_generation_test.go +++ b/pkg/runtime/deep_copy_generation_test.go @@ -27,7 +27,6 @@ import ( "github.com/GoogleCloudPlatform/kubernetes/pkg/api" "github.com/GoogleCloudPlatform/kubernetes/pkg/api/testapi" _ "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1" - _ "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3" "github.com/GoogleCloudPlatform/kubernetes/pkg/runtime" "github.com/golang/glog" diff --git a/plugin/pkg/admission/resourcequota/admission.go b/plugin/pkg/admission/resourcequota/admission.go index cc6133eadb5..f92f7c56675 100644 --- a/plugin/pkg/admission/resourcequota/admission.go +++ b/plugin/pkg/admission/resourcequota/admission.go @@ -20,7 +20,6 @@ import ( "fmt" "io" "math/rand" - "strings" "time" "github.com/GoogleCloudPlatform/kubernetes/pkg/admission" @@ -176,9 +175,7 @@ func IncrementUsage(a admission.Attributes, status *api.ResourceQuotaStatus, cli obj := a.GetObject() // handle max counts for each kind of resource (pods, services, replicationControllers, etc.) if a.GetOperation() == admission.Create { - // TODO v1beta1 had camel case, v1beta3 went to all lower, we can remove this line when we deprecate v1beta1 - resourceNormalized := strings.ToLower(a.GetResource()) - resourceName := resourceToResourceName[resourceNormalized] + resourceName := resourceToResourceName[a.GetResource()] hard, hardFound := status.Hard[resourceName] if hardFound { used, usedFound := status.Used[resourceName] diff --git a/plugin/pkg/admission/resourcequota/admission_test.go b/plugin/pkg/admission/resourcequota/admission_test.go index e072433af9f..807208b6b67 100644 --- a/plugin/pkg/admission/resourcequota/admission_test.go +++ b/plugin/pkg/admission/resourcequota/admission_test.go @@ -423,7 +423,7 @@ func TestIncrementUsageReplicationControllers(t *testing.T) { r := api.ResourceReplicationControllers status.Hard[r] = resource.MustParse("2") status.Used[r] = resource.MustParse("1") - dirty, err := IncrementUsage(admission.NewAttributesRecord(&api.ReplicationController{}, "ReplicationController", namespace, "name", "replicationControllers", "", admission.Create, nil), status, client) + dirty, err := IncrementUsage(admission.NewAttributesRecord(&api.ReplicationController{}, "ReplicationController", namespace, "name", "replicationcontrollers", "", admission.Create, nil), status, client) if err != nil { t.Errorf("Unexpected error: %v", err) } @@ -452,7 +452,7 @@ func TestExceedUsageReplicationControllers(t *testing.T) { r := api.ResourceReplicationControllers status.Hard[r] = resource.MustParse("1") status.Used[r] = resource.MustParse("1") - _, err := IncrementUsage(admission.NewAttributesRecord(&api.ReplicationController{}, "ReplicationController", namespace, "name", "replicationControllers", "", admission.Create, nil), status, client) + _, err := IncrementUsage(admission.NewAttributesRecord(&api.ReplicationController{}, "ReplicationController", namespace, "name", "replicationcontrollers", "", admission.Create, nil), status, client) if err == nil { t.Errorf("Expected error for exceeding hard limits") } @@ -496,7 +496,7 @@ func TestExceedUsagePersistentVolumeClaims(t *testing.T) { r := api.ResourcePersistentVolumeClaims status.Hard[r] = resource.MustParse("1") status.Used[r] = resource.MustParse("1") - _, err := IncrementUsage(admission.NewAttributesRecord(&api.PersistentVolumeClaim{}, "PersistentVolumeClaim", namespace, "name", "persistentVolumeClaims", "", admission.Create, nil), status, client) + _, err := IncrementUsage(admission.NewAttributesRecord(&api.PersistentVolumeClaim{}, "PersistentVolumeClaim", namespace, "name", "persistentvolumeclaims", "", admission.Create, nil), status, client) if err == nil { t.Errorf("Expected error for exceeding hard limits") } diff --git a/plugin/pkg/scheduler/api/v1/types.go b/plugin/pkg/scheduler/api/v1/types.go index 13a99329ad9..ee3b6a50b9e 100644 --- a/plugin/pkg/scheduler/api/v1/types.go +++ b/plugin/pkg/scheduler/api/v1/types.go @@ -17,11 +17,11 @@ limitations under the License. package v1 import ( - "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1beta3" + apiv1 "github.com/GoogleCloudPlatform/kubernetes/pkg/api/v1" ) type Policy struct { - v1beta3.TypeMeta `json:",inline"` + apiv1.TypeMeta `json:",inline"` // Holds the information to configure the fit predicate functions Predicates []PredicatePolicy `json:"predicates"` // Holds the information to configure the priority functions diff --git a/shippable.yml b/shippable.yml index 8df9fa35f65..9af430e1442 100644 --- a/shippable.yml +++ b/shippable.yml @@ -11,7 +11,7 @@ matrix: - KUBE_TEST_API_VERSIONS=v1 KUBE_TEST_ETCD_PREFIXES=registry - go: 1.3 env: - - KUBE_TEST_API_VERSIONS=v1beta3 KUBE_TEST_ETCD_PREFIXES=kubernetes.io/registry + - KUBE_TEST_API_VERSIONS=v1 KUBE_TEST_ETCD_PREFIXES=kubernetes.io/registry before_install: - source $HOME/.gvm/scripts/gvm; diff --git a/test/integration/auth_test.go b/test/integration/auth_test.go index 06756457182..33286e87153 100644 --- a/test/integration/auth_test.go +++ b/test/integration/auth_test.go @@ -393,10 +393,8 @@ func TestAuthModeAlwaysAllow(t *testing.T) { EnableUISupport: false, EnableIndex: true, APIPrefix: "/api", - // enable v1beta3 if we are testing that api version. - EnableV1Beta3: testapi.Version() == "v1beta3", - Authorizer: apiserver.NewAlwaysAllowAuthorizer(), - AdmissionControl: admit.NewAlwaysAdmit(), + Authorizer: apiserver.NewAlwaysAllowAuthorizer(), + AdmissionControl: admit.NewAlwaysAdmit(), }) transport := http.DefaultTransport @@ -511,10 +509,8 @@ func TestAuthModeAlwaysDeny(t *testing.T) { EnableUISupport: false, EnableIndex: true, APIPrefix: "/api", - // enable v1beta3 if we are testing that api version. - EnableV1Beta3: testapi.Version() == "v1beta3", - Authorizer: apiserver.NewAlwaysDenyAuthorizer(), - AdmissionControl: admit.NewAlwaysAdmit(), + Authorizer: apiserver.NewAlwaysDenyAuthorizer(), + AdmissionControl: admit.NewAlwaysAdmit(), }) transport := http.DefaultTransport @@ -580,11 +576,9 @@ func TestAliceNotForbiddenOrUnauthorized(t *testing.T) { EnableUISupport: false, EnableIndex: true, APIPrefix: "/api", - // enable v1beta3 if we are testing that api version. - EnableV1Beta3: testapi.Version() == "v1beta3", - Authenticator: getTestTokenAuth(), - Authorizer: allowAliceAuthorizer{}, - AdmissionControl: admit.NewAlwaysAdmit(), + Authenticator: getTestTokenAuth(), + Authorizer: allowAliceAuthorizer{}, + AdmissionControl: admit.NewAlwaysAdmit(), }) previousResourceVersion := make(map[string]float64) @@ -669,11 +663,9 @@ func TestBobIsForbidden(t *testing.T) { EnableUISupport: false, EnableIndex: true, APIPrefix: "/api", - // enable v1beta3 if we are testing that api version. - EnableV1Beta3: testapi.Version() == "v1beta3", - Authenticator: getTestTokenAuth(), - Authorizer: allowAliceAuthorizer{}, - AdmissionControl: admit.NewAlwaysAdmit(), + Authenticator: getTestTokenAuth(), + Authorizer: allowAliceAuthorizer{}, + AdmissionControl: admit.NewAlwaysAdmit(), }) transport := http.DefaultTransport @@ -732,11 +724,9 @@ func TestUnknownUserIsUnauthorized(t *testing.T) { EnableUISupport: false, EnableIndex: true, APIPrefix: "/api", - // enable v1beta3 if we are testing that api version. - EnableV1Beta3: testapi.Version() == "v1beta3", - Authenticator: getTestTokenAuth(), - Authorizer: allowAliceAuthorizer{}, - AdmissionControl: admit.NewAlwaysAdmit(), + Authenticator: getTestTokenAuth(), + Authorizer: allowAliceAuthorizer{}, + AdmissionControl: admit.NewAlwaysAdmit(), }) transport := http.DefaultTransport @@ -814,11 +804,9 @@ func TestNamespaceAuthorization(t *testing.T) { EnableUISupport: false, EnableIndex: true, APIPrefix: "/api", - // enable v1beta3 if we are testing that api version. - EnableV1Beta3: testapi.Version() == "v1beta3", - Authenticator: getTestTokenAuth(), - Authorizer: a, - AdmissionControl: admit.NewAlwaysAdmit(), + Authenticator: getTestTokenAuth(), + Authorizer: a, + AdmissionControl: admit.NewAlwaysAdmit(), }) previousResourceVersion := make(map[string]float64) @@ -931,11 +919,9 @@ func TestKindAuthorization(t *testing.T) { EnableUISupport: false, EnableIndex: true, APIPrefix: "/api", - // enable v1beta3 if we are testing that api version. - EnableV1Beta3: testapi.Version() == "v1beta3", - Authenticator: getTestTokenAuth(), - Authorizer: a, - AdmissionControl: admit.NewAlwaysAdmit(), + Authenticator: getTestTokenAuth(), + Authorizer: a, + AdmissionControl: admit.NewAlwaysAdmit(), }) previousResourceVersion := make(map[string]float64) @@ -1035,11 +1021,9 @@ func TestReadOnlyAuthorization(t *testing.T) { EnableUISupport: false, EnableIndex: true, APIPrefix: "/api", - // enable v1beta3 if we are testing that api version. - EnableV1Beta3: testapi.Version() == "v1beta3", - Authenticator: getTestTokenAuth(), - Authorizer: a, - AdmissionControl: admit.NewAlwaysAdmit(), + Authenticator: getTestTokenAuth(), + Authorizer: a, + AdmissionControl: admit.NewAlwaysAdmit(), }) transport := http.DefaultTransport diff --git a/test/integration/framework/master_utils.go b/test/integration/framework/master_utils.go index 8da601ba6c7..a8d37955c3d 100644 --- a/test/integration/framework/master_utils.go +++ b/test/integration/framework/master_utils.go @@ -139,10 +139,8 @@ func startMasterOrDie(masterConfig *master.Config) (*master.Master, *httptest.Se EnableProfiling: true, EnableUISupport: false, APIPrefix: "/api", - // Enable v1bewta3 if we are testing that version - EnableV1Beta3: testapi.Version() == "v1beta3", - Authorizer: apiserver.NewAlwaysAllowAuthorizer(), - AdmissionControl: admit.NewAlwaysAdmit(), + Authorizer: apiserver.NewAlwaysAllowAuthorizer(), + AdmissionControl: admit.NewAlwaysAdmit(), } } else { helper = masterConfig.EtcdHelper @@ -272,10 +270,8 @@ func RunAMaster(t *testing.T) (*master.Master, *httptest.Server) { EnableProfiling: true, EnableUISupport: false, APIPrefix: "/api", - // Enable v1bewta3 if we are testing that version - EnableV1Beta3: testapi.Version() == "v1beta3", - Authorizer: apiserver.NewAlwaysAllowAuthorizer(), - AdmissionControl: admit.NewAlwaysAdmit(), + Authorizer: apiserver.NewAlwaysAllowAuthorizer(), + AdmissionControl: admit.NewAlwaysAdmit(), }) s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { diff --git a/test/integration/scheduler_test.go b/test/integration/scheduler_test.go index 809487ea229..e1733929c7e 100644 --- a/test/integration/scheduler_test.go +++ b/test/integration/scheduler_test.go @@ -73,10 +73,8 @@ func TestUnschedulableNodes(t *testing.T) { EnableUISupport: false, EnableIndex: true, APIPrefix: "/api", - // Enable v1beta3 if we are testing that version. - EnableV1Beta3: testapi.Version() == "v1beta3", - Authorizer: apiserver.NewAlwaysAllowAuthorizer(), - AdmissionControl: admit.NewAlwaysAdmit(), + Authorizer: apiserver.NewAlwaysAllowAuthorizer(), + AdmissionControl: admit.NewAlwaysAdmit(), }) restClient := client.NewOrDie(&client.Config{Host: s.URL, Version: testapi.Version()}) diff --git a/test/integration/secret_test.go b/test/integration/secret_test.go index 96b089a6701..b6c0ed7d4df 100644 --- a/test/integration/secret_test.go +++ b/test/integration/secret_test.go @@ -66,10 +66,8 @@ func TestSecrets(t *testing.T) { EnableUISupport: false, EnableIndex: true, APIPrefix: "/api", - // Enable v1beta3 if we are testing that version. - EnableV1Beta3: testapi.Version() == "v1beta3", - Authorizer: apiserver.NewAlwaysAllowAuthorizer(), - AdmissionControl: admit.NewAlwaysAdmit(), + Authorizer: apiserver.NewAlwaysAllowAuthorizer(), + AdmissionControl: admit.NewAlwaysAdmit(), }) framework.DeleteAllEtcdKeys() diff --git a/test/integration/service_account_test.go b/test/integration/service_account_test.go index 0fb53ba8c90..4a955ed2032 100644 --- a/test/integration/service_account_test.go +++ b/test/integration/service_account_test.go @@ -416,11 +416,9 @@ func startServiceAccountTestServer(t *testing.T) (*client.Client, client.Config, EnableUISupport: false, EnableIndex: true, APIPrefix: "/api", - // Enable v1beta3 if we are testing that version. - EnableV1Beta3: testapi.Version() == "v1beta3", - Authenticator: authenticator, - Authorizer: authorizer, - AdmissionControl: serviceAccountAdmission, + Authenticator: authenticator, + Authorizer: authorizer, + AdmissionControl: serviceAccountAdmission, }) // Start the service account and service account token controllers diff --git a/test/integration/utils.go b/test/integration/utils.go index b066d40d12d..d8e5187b485 100644 --- a/test/integration/utils.go +++ b/test/integration/utils.go @@ -80,10 +80,8 @@ func runAMaster(t *testing.T) (*master.Master, *httptest.Server) { EnableProfiling: true, EnableUISupport: false, APIPrefix: "/api", - // Enable v1beta3 if we are testing that version. - EnableV1Beta3: testapi.Version() == "v1beta3", - Authorizer: apiserver.NewAlwaysAllowAuthorizer(), - AdmissionControl: admit.NewAlwaysAdmit(), + Authorizer: apiserver.NewAlwaysAllowAuthorizer(), + AdmissionControl: admit.NewAlwaysAdmit(), }) s := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {