diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json
index f6f20f3fa56..62155def77c 100644
--- a/api/openapi-spec/swagger.json
+++ b/api/openapi-spec/swagger.json
@@ -63074,6 +63074,10 @@
"provisioner": {
"description": "Provisioner indicates the type of the provisioner.",
"type": "string"
+ },
+ "reclaimPolicy": {
+ "description": "Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.",
+ "type": "string"
}
},
"x-kubernetes-group-version-kind": [
@@ -63146,6 +63150,10 @@
"provisioner": {
"description": "Provisioner indicates the type of the provisioner.",
"type": "string"
+ },
+ "reclaimPolicy": {
+ "description": "Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.",
+ "type": "string"
}
},
"x-kubernetes-group-version-kind": [
diff --git a/api/swagger-spec/storage.k8s.io_v1.json b/api/swagger-spec/storage.k8s.io_v1.json
index f86ae454e38..e914d98d2f1 100644
--- a/api/swagger-spec/storage.k8s.io_v1.json
+++ b/api/swagger-spec/storage.k8s.io_v1.json
@@ -716,6 +716,10 @@
"parameters": {
"type": "object",
"description": "Parameters holds the parameters for the provisioner that should create volumes of this storage class."
+ },
+ "reclaimPolicy": {
+ "$ref": "v1.PersistentVolumeReclaimPolicy",
+ "description": "Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete."
}
}
},
@@ -957,6 +961,10 @@
}
}
},
+ "v1.PersistentVolumeReclaimPolicy": {
+ "id": "v1.PersistentVolumeReclaimPolicy",
+ "properties": {}
+ },
"v1.WatchEvent": {
"id": "v1.WatchEvent",
"required": [
diff --git a/api/swagger-spec/storage.k8s.io_v1beta1.json b/api/swagger-spec/storage.k8s.io_v1beta1.json
index 31c31419f2c..cd0e2b8c170 100644
--- a/api/swagger-spec/storage.k8s.io_v1beta1.json
+++ b/api/swagger-spec/storage.k8s.io_v1beta1.json
@@ -716,6 +716,10 @@
"parameters": {
"type": "object",
"description": "Parameters holds the parameters for the provisioner that should create volumes of this storage class."
+ },
+ "reclaimPolicy": {
+ "$ref": "v1.PersistentVolumeReclaimPolicy",
+ "description": "Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete."
}
}
},
@@ -957,6 +961,10 @@
}
}
},
+ "v1.PersistentVolumeReclaimPolicy": {
+ "id": "v1.PersistentVolumeReclaimPolicy",
+ "properties": {}
+ },
"v1.WatchEvent": {
"id": "v1.WatchEvent",
"required": [
diff --git a/docs/api-reference/storage.k8s.io/v1/definitions.html b/docs/api-reference/storage.k8s.io/v1/definitions.html
index 19a38db5df4..63386fb87c7 100755
--- a/docs/api-reference/storage.k8s.io/v1/definitions.html
+++ b/docs/api-reference/storage.k8s.io/v1/definitions.html
@@ -968,6 +968,13 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
object |
|
+
+reclaimPolicy |
+Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete. |
+false |
+v1.PersistentVolumeReclaimPolicy |
+ |
+
@@ -1195,6 +1202,10 @@ When an object is created, the system will populate this list with the current s
+
+
+
v1.PersistentVolumeReclaimPolicy
+
v1.APIResource
diff --git a/docs/api-reference/storage.k8s.io/v1beta1/definitions.html b/docs/api-reference/storage.k8s.io/v1beta1/definitions.html
index c55d3b0c6d2..a8091346e9e 100755
--- a/docs/api-reference/storage.k8s.io/v1beta1/definitions.html
+++ b/docs/api-reference/storage.k8s.io/v1beta1/definitions.html
@@ -436,6 +436,12 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
+
+
+
v1.Patch
+
+
Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.
+
v1beta1.StorageClassList
@@ -491,12 +497,6 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
-
-
-
v1.Patch
-
-
Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.
-
v1.DeleteOptions
@@ -930,6 +930,13 @@ span.icon > [class^="icon-"], span.icon > [class*=" icon-"] { cursor: default; }
object |
|
+
+reclaimPolicy |
+Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete. |
+false |
+v1.PersistentVolumeReclaimPolicy |
+ |
+
@@ -1195,6 +1202,10 @@ When an object is created, the system will populate this list with the current s
+
+
+
v1.PersistentVolumeReclaimPolicy
+
v1.APIResource
diff --git a/pkg/api/testing/BUILD b/pkg/api/testing/BUILD
index 636e289d2ac..c914bec2270 100644
--- a/pkg/api/testing/BUILD
+++ b/pkg/api/testing/BUILD
@@ -26,6 +26,7 @@ go_library(
"//pkg/apis/extensions/v1beta1:go_default_library",
"//pkg/apis/policy/fuzzer:go_default_library",
"//pkg/apis/rbac/fuzzer:go_default_library",
+ "//pkg/apis/storage/fuzzer:go_default_library",
"//vendor/github.com/google/gofuzz:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/testing:go_default_library",
diff --git a/pkg/apis/storage/BUILD b/pkg/apis/storage/BUILD
index f47699e1f7d..cf4b841ba87 100644
--- a/pkg/apis/storage/BUILD
+++ b/pkg/apis/storage/BUILD
@@ -14,6 +14,7 @@ go_library(
"zz_generated.deepcopy.go",
],
deps = [
+ "//pkg/api:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
diff --git a/pkg/apis/storage/fuzzer/BUILD b/pkg/apis/storage/fuzzer/BUILD
index dd0561eec8f..e88684ac21e 100644
--- a/pkg/apis/storage/fuzzer/BUILD
+++ b/pkg/apis/storage/fuzzer/BUILD
@@ -8,7 +8,12 @@ load(
go_library(
name = "go_default_library",
srcs = ["fuzzer.go"],
- deps = ["//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library"],
+ deps = [
+ "//pkg/api:go_default_library",
+ "//pkg/apis/storage:go_default_library",
+ "//vendor/github.com/google/gofuzz:go_default_library",
+ "//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
+ ],
)
filegroup(
diff --git a/pkg/apis/storage/v1/BUILD b/pkg/apis/storage/v1/BUILD
index 1cf3cf86ab3..fc6190e1a6e 100644
--- a/pkg/apis/storage/v1/BUILD
+++ b/pkg/apis/storage/v1/BUILD
@@ -8,13 +8,16 @@ load(
go_library(
name = "go_default_library",
srcs = [
+ "defaults.go",
"doc.go",
"register.go",
"zz_generated.conversion.go",
"zz_generated.defaults.go",
],
deps = [
+ "//pkg/api:go_default_library",
"//pkg/apis/storage:go_default_library",
+ "//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/api/storage/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
diff --git a/pkg/apis/storage/v1/zz_generated.conversion.go b/pkg/apis/storage/v1/zz_generated.conversion.go
index f21171b7af5..6041cff96fa 100644
--- a/pkg/apis/storage/v1/zz_generated.conversion.go
+++ b/pkg/apis/storage/v1/zz_generated.conversion.go
@@ -21,9 +21,11 @@ limitations under the License.
package v1
import (
+ core_v1 "k8s.io/api/core/v1"
v1 "k8s.io/api/storage/v1"
conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime"
+ api "k8s.io/kubernetes/pkg/api"
storage "k8s.io/kubernetes/pkg/apis/storage"
unsafe "unsafe"
)
@@ -47,6 +49,7 @@ func autoConvert_v1_StorageClass_To_storage_StorageClass(in *v1.StorageClass, ou
out.ObjectMeta = in.ObjectMeta
out.Provisioner = in.Provisioner
out.Parameters = *(*map[string]string)(unsafe.Pointer(&in.Parameters))
+ out.ReclaimPolicy = (*api.PersistentVolumeReclaimPolicy)(unsafe.Pointer(in.ReclaimPolicy))
return nil
}
@@ -59,6 +62,7 @@ func autoConvert_storage_StorageClass_To_v1_StorageClass(in *storage.StorageClas
out.ObjectMeta = in.ObjectMeta
out.Provisioner = in.Provisioner
out.Parameters = *(*map[string]string)(unsafe.Pointer(&in.Parameters))
+ out.ReclaimPolicy = (*core_v1.PersistentVolumeReclaimPolicy)(unsafe.Pointer(in.ReclaimPolicy))
return nil
}
diff --git a/pkg/apis/storage/v1/zz_generated.defaults.go b/pkg/apis/storage/v1/zz_generated.defaults.go
index 6df448eb9fd..4db23e8cfba 100644
--- a/pkg/apis/storage/v1/zz_generated.defaults.go
+++ b/pkg/apis/storage/v1/zz_generated.defaults.go
@@ -21,6 +21,7 @@ limitations under the License.
package v1
import (
+ v1 "k8s.io/api/storage/v1"
runtime "k8s.io/apimachinery/pkg/runtime"
)
@@ -28,5 +29,18 @@ import (
// Public to allow building arbitrary schemes.
// All generated defaulters are covering - they call all nested defaulters.
func RegisterDefaults(scheme *runtime.Scheme) error {
+ scheme.AddTypeDefaultingFunc(&v1.StorageClass{}, func(obj interface{}) { SetObjectDefaults_StorageClass(obj.(*v1.StorageClass)) })
+ scheme.AddTypeDefaultingFunc(&v1.StorageClassList{}, func(obj interface{}) { SetObjectDefaults_StorageClassList(obj.(*v1.StorageClassList)) })
return nil
}
+
+func SetObjectDefaults_StorageClass(in *v1.StorageClass) {
+ SetDefaults_StorageClass(in)
+}
+
+func SetObjectDefaults_StorageClassList(in *v1.StorageClassList) {
+ for i := range in.Items {
+ a := &in.Items[i]
+ SetObjectDefaults_StorageClass(a)
+ }
+}
diff --git a/pkg/apis/storage/v1beta1/BUILD b/pkg/apis/storage/v1beta1/BUILD
index 6e9c1695fa7..f0ad28c7ada 100644
--- a/pkg/apis/storage/v1beta1/BUILD
+++ b/pkg/apis/storage/v1beta1/BUILD
@@ -8,13 +8,16 @@ load(
go_library(
name = "go_default_library",
srcs = [
+ "defaults.go",
"doc.go",
"register.go",
"zz_generated.conversion.go",
"zz_generated.defaults.go",
],
deps = [
+ "//pkg/api:go_default_library",
"//pkg/apis/storage:go_default_library",
+ "//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/api/storage/v1beta1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
diff --git a/pkg/apis/storage/v1beta1/zz_generated.conversion.go b/pkg/apis/storage/v1beta1/zz_generated.conversion.go
index b10ff0bc2a0..80bab19cd89 100644
--- a/pkg/apis/storage/v1beta1/zz_generated.conversion.go
+++ b/pkg/apis/storage/v1beta1/zz_generated.conversion.go
@@ -21,9 +21,11 @@ limitations under the License.
package v1beta1
import (
+ v1 "k8s.io/api/core/v1"
v1beta1 "k8s.io/api/storage/v1beta1"
conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime"
+ api "k8s.io/kubernetes/pkg/api"
storage "k8s.io/kubernetes/pkg/apis/storage"
unsafe "unsafe"
)
@@ -47,6 +49,7 @@ func autoConvert_v1beta1_StorageClass_To_storage_StorageClass(in *v1beta1.Storag
out.ObjectMeta = in.ObjectMeta
out.Provisioner = in.Provisioner
out.Parameters = *(*map[string]string)(unsafe.Pointer(&in.Parameters))
+ out.ReclaimPolicy = (*api.PersistentVolumeReclaimPolicy)(unsafe.Pointer(in.ReclaimPolicy))
return nil
}
@@ -59,6 +62,7 @@ func autoConvert_storage_StorageClass_To_v1beta1_StorageClass(in *storage.Storag
out.ObjectMeta = in.ObjectMeta
out.Provisioner = in.Provisioner
out.Parameters = *(*map[string]string)(unsafe.Pointer(&in.Parameters))
+ out.ReclaimPolicy = (*v1.PersistentVolumeReclaimPolicy)(unsafe.Pointer(in.ReclaimPolicy))
return nil
}
diff --git a/pkg/apis/storage/v1beta1/zz_generated.defaults.go b/pkg/apis/storage/v1beta1/zz_generated.defaults.go
index e24e70be38b..1200af6b071 100644
--- a/pkg/apis/storage/v1beta1/zz_generated.defaults.go
+++ b/pkg/apis/storage/v1beta1/zz_generated.defaults.go
@@ -21,6 +21,7 @@ limitations under the License.
package v1beta1
import (
+ v1beta1 "k8s.io/api/storage/v1beta1"
runtime "k8s.io/apimachinery/pkg/runtime"
)
@@ -28,5 +29,18 @@ import (
// Public to allow building arbitrary schemes.
// All generated defaulters are covering - they call all nested defaulters.
func RegisterDefaults(scheme *runtime.Scheme) error {
+ scheme.AddTypeDefaultingFunc(&v1beta1.StorageClass{}, func(obj interface{}) { SetObjectDefaults_StorageClass(obj.(*v1beta1.StorageClass)) })
+ scheme.AddTypeDefaultingFunc(&v1beta1.StorageClassList{}, func(obj interface{}) { SetObjectDefaults_StorageClassList(obj.(*v1beta1.StorageClassList)) })
return nil
}
+
+func SetObjectDefaults_StorageClass(in *v1beta1.StorageClass) {
+ SetDefaults_StorageClass(in)
+}
+
+func SetObjectDefaults_StorageClassList(in *v1beta1.StorageClassList) {
+ for i := range in.Items {
+ a := &in.Items[i]
+ SetObjectDefaults_StorageClass(a)
+ }
+}
diff --git a/pkg/apis/storage/validation/BUILD b/pkg/apis/storage/validation/BUILD
index 2c6b951cf6a..2ce7952d201 100644
--- a/pkg/apis/storage/validation/BUILD
+++ b/pkg/apis/storage/validation/BUILD
@@ -10,8 +10,10 @@ go_library(
name = "go_default_library",
srcs = ["validation.go"],
deps = [
+ "//pkg/api:go_default_library",
"//pkg/api/validation:go_default_library",
"//pkg/apis/storage:go_default_library",
+ "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/validation:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
],
@@ -22,6 +24,7 @@ go_test(
srcs = ["validation_test.go"],
library = ":go_default_library",
deps = [
+ "//pkg/api:go_default_library",
"//pkg/apis/storage:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
],
diff --git a/pkg/apis/storage/zz_generated.deepcopy.go b/pkg/apis/storage/zz_generated.deepcopy.go
index d3dfe0a4d8c..e5fd6432cc8 100644
--- a/pkg/apis/storage/zz_generated.deepcopy.go
+++ b/pkg/apis/storage/zz_generated.deepcopy.go
@@ -23,6 +23,7 @@ package storage
import (
conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime"
+ api "k8s.io/kubernetes/pkg/api"
reflect "reflect"
)
@@ -59,6 +60,15 @@ func (in *StorageClass) DeepCopyInto(out *StorageClass) {
(*out)[key] = val
}
}
+ if in.ReclaimPolicy != nil {
+ in, out := &in.ReclaimPolicy, &out.ReclaimPolicy
+ if *in == nil {
+ *out = nil
+ } else {
+ *out = new(api.PersistentVolumeReclaimPolicy)
+ **out = **in
+ }
+ }
return
}
diff --git a/pkg/registry/storage/storageclass/BUILD b/pkg/registry/storage/storageclass/BUILD
index e3216aa9075..1e906231a19 100644
--- a/pkg/registry/storage/storageclass/BUILD
+++ b/pkg/registry/storage/storageclass/BUILD
@@ -28,6 +28,7 @@ go_test(
srcs = ["strategy_test.go"],
library = ":go_default_library",
deps = [
+ "//pkg/api:go_default_library",
"//pkg/apis/storage:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library",
diff --git a/pkg/registry/storage/storageclass/storage/BUILD b/pkg/registry/storage/storageclass/storage/BUILD
index 481ceb7d59a..578387b6fa1 100644
--- a/pkg/registry/storage/storageclass/storage/BUILD
+++ b/pkg/registry/storage/storageclass/storage/BUILD
@@ -11,6 +11,7 @@ go_test(
srcs = ["storage_test.go"],
library = ":go_default_library",
deps = [
+ "//pkg/api:go_default_library",
"//pkg/apis/storage:go_default_library",
"//pkg/registry/registrytest:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
diff --git a/staging/src/k8s.io/api/storage/v1/BUILD b/staging/src/k8s.io/api/storage/v1/BUILD
index 2c4953766bb..08bdaa7ba37 100644
--- a/staging/src/k8s.io/api/storage/v1/BUILD
+++ b/staging/src/k8s.io/api/storage/v1/BUILD
@@ -20,6 +20,7 @@ go_library(
"//vendor/github.com/gogo/protobuf/proto:go_default_library",
"//vendor/github.com/gogo/protobuf/sortkeys:go_default_library",
"//vendor/github.com/ugorji/go/codec:go_default_library",
+ "//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
diff --git a/staging/src/k8s.io/api/storage/v1/generated.pb.go b/staging/src/k8s.io/api/storage/v1/generated.pb.go
index c83ddad7578..31e18f7f72f 100644
--- a/staging/src/k8s.io/api/storage/v1/generated.pb.go
+++ b/staging/src/k8s.io/api/storage/v1/generated.pb.go
@@ -34,6 +34,8 @@ import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
+import k8s_io_api_core_v1 "k8s.io/api/core/v1"
+
import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
import strings "strings"
@@ -113,6 +115,12 @@ func (m *StorageClass) MarshalTo(dAtA []byte) (int, error) {
i += copy(dAtA[i:], v)
}
}
+ if m.ReclaimPolicy != nil {
+ dAtA[i] = 0x22
+ i++
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.ReclaimPolicy)))
+ i += copy(dAtA[i:], *m.ReclaimPolicy)
+ }
return i, nil
}
@@ -196,6 +204,10 @@ func (m *StorageClass) Size() (n int) {
n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize))
}
}
+ if m.ReclaimPolicy != nil {
+ l = len(*m.ReclaimPolicy)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -244,6 +256,7 @@ func (this *StorageClass) String() string {
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Provisioner:` + fmt.Sprintf("%v", this.Provisioner) + `,`,
`Parameters:` + mapStringForParameters + `,`,
+ `ReclaimPolicy:` + valueToStringGenerated(this.ReclaimPolicy) + `,`,
`}`,
}, "")
return s
@@ -471,6 +484,36 @@ func (m *StorageClass) Unmarshal(dAtA []byte) error {
m.Parameters[mapkey] = mapvalue
}
iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ReclaimPolicy", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := k8s_io_api_core_v1.PersistentVolumeReclaimPolicy(dAtA[iNdEx:postIndex])
+ m.ReclaimPolicy = &s
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -713,35 +756,39 @@ func init() {
}
var fileDescriptorGenerated = []byte{
- // 465 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x91, 0xcf, 0x6e, 0xd3, 0x40,
- 0x10, 0xc6, 0xb3, 0x8e, 0x22, 0xb5, 0x1b, 0x10, 0x91, 0x01, 0x29, 0xca, 0x61, 0x1b, 0x95, 0x4b,
- 0x2e, 0xec, 0x92, 0x16, 0x50, 0x85, 0x04, 0x87, 0x20, 0x24, 0x90, 0x40, 0x54, 0xe6, 0x86, 0x38,
- 0xb0, 0x49, 0x06, 0x67, 0x71, 0xec, 0xb5, 0x76, 0xc7, 0x96, 0x72, 0xe3, 0x11, 0x78, 0x1e, 0x9e,
- 0x20, 0x37, 0x7a, 0xec, 0xa9, 0x22, 0xe6, 0x45, 0x90, 0xff, 0x10, 0x5b, 0x4d, 0xab, 0xf6, 0xe6,
- 0x99, 0xf9, 0x7e, 0xdf, 0xcc, 0x7e, 0xa6, 0xaf, 0x82, 0x13, 0xcb, 0x95, 0x16, 0x41, 0x32, 0x05,
- 0x13, 0x01, 0x82, 0x15, 0x29, 0x44, 0x73, 0x6d, 0x44, 0x35, 0x90, 0xb1, 0x12, 0x16, 0xb5, 0x91,
- 0x3e, 0x88, 0x74, 0x2c, 0x7c, 0x88, 0xc0, 0x48, 0x84, 0x39, 0x8f, 0x8d, 0x46, 0xed, 0x3e, 0x2c,
- 0x65, 0x5c, 0xc6, 0x8a, 0x57, 0x32, 0x9e, 0x8e, 0x07, 0x8f, 0x7d, 0x85, 0x8b, 0x64, 0xca, 0x67,
- 0x3a, 0x14, 0xbe, 0xf6, 0xb5, 0x28, 0xd4, 0xd3, 0xe4, 0x5b, 0x51, 0x15, 0x45, 0xf1, 0x55, 0xba,
- 0x0c, 0x9e, 0xd6, 0xcb, 0x42, 0x39, 0x5b, 0xa8, 0x08, 0xcc, 0x4a, 0xc4, 0x81, 0x9f, 0x37, 0xac,
- 0x08, 0x01, 0xe5, 0x15, 0xbb, 0x07, 0xe2, 0x3a, 0xca, 0x24, 0x11, 0xaa, 0x10, 0x76, 0x80, 0xe7,
- 0x37, 0x01, 0x76, 0xb6, 0x80, 0x50, 0xee, 0x70, 0xc7, 0xd7, 0x71, 0x09, 0xaa, 0xa5, 0x50, 0x11,
- 0x5a, 0x34, 0x97, 0xa1, 0xc3, 0xdf, 0x0e, 0xbd, 0xf3, 0xa9, 0x4c, 0xe4, 0xf5, 0x52, 0x5a, 0xeb,
- 0x7e, 0xa5, 0x7b, 0xf9, 0x4b, 0xe6, 0x12, 0x65, 0x9f, 0x0c, 0xc9, 0xa8, 0x7b, 0xf4, 0x84, 0xd7,
- 0xe9, 0x6d, 0x8d, 0x79, 0x1c, 0xf8, 0x79, 0xc3, 0xf2, 0x5c, 0xcd, 0xd3, 0x31, 0xff, 0x38, 0xfd,
- 0x0e, 0x33, 0xfc, 0x00, 0x28, 0x27, 0xee, 0xfa, 0xe2, 0xa0, 0x95, 0x5d, 0x1c, 0xd0, 0xba, 0xe7,
- 0x6d, 0x5d, 0xdd, 0x67, 0xb4, 0x1b, 0x1b, 0x9d, 0x2a, 0xab, 0x74, 0x04, 0xa6, 0xef, 0x0c, 0xc9,
- 0x68, 0x7f, 0x72, 0xbf, 0x42, 0xba, 0xa7, 0xf5, 0xc8, 0x6b, 0xea, 0x5c, 0x9f, 0xd2, 0x58, 0x1a,
- 0x19, 0x02, 0x82, 0xb1, 0xfd, 0xf6, 0xb0, 0x3d, 0xea, 0x1e, 0x1d, 0xf3, 0x2b, 0x7f, 0x2c, 0x6f,
- 0xbe, 0x88, 0x9f, 0x6e, 0xa9, 0x37, 0x11, 0x9a, 0x55, 0x7d, 0x5d, 0x3d, 0xf0, 0x1a, 0xd6, 0x83,
- 0x97, 0xf4, 0xde, 0x25, 0xc4, 0xed, 0xd1, 0x76, 0x00, 0xab, 0x22, 0x8f, 0x7d, 0x2f, 0xff, 0x74,
- 0x1f, 0xd0, 0x4e, 0x2a, 0x97, 0x09, 0x94, 0xe7, 0x7b, 0x65, 0xf1, 0xc2, 0x39, 0x21, 0x87, 0xbf,
- 0x08, 0xed, 0x35, 0xf7, 0xbf, 0x57, 0x16, 0xdd, 0x2f, 0x3b, 0xa9, 0xf2, 0xdb, 0xa5, 0x9a, 0xd3,
- 0x45, 0xa6, 0xbd, 0xea, 0xea, 0xbd, 0xff, 0x9d, 0x46, 0xa2, 0x6f, 0x69, 0x47, 0x21, 0x84, 0xb6,
- 0xef, 0x14, 0xa9, 0x3c, 0xba, 0x45, 0x2a, 0x93, 0xbb, 0x95, 0x5f, 0xe7, 0x5d, 0x4e, 0x7a, 0xa5,
- 0xc1, 0x64, 0xb4, 0xde, 0xb0, 0xd6, 0xd9, 0x86, 0xb5, 0xce, 0x37, 0xac, 0xf5, 0x23, 0x63, 0x64,
- 0x9d, 0x31, 0x72, 0x96, 0x31, 0x72, 0x9e, 0x31, 0xf2, 0x27, 0x63, 0xe4, 0xe7, 0x5f, 0xd6, 0xfa,
- 0xec, 0xa4, 0xe3, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xba, 0xfb, 0xcc, 0xa9, 0x93, 0x03, 0x00,
+ // 529 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x52, 0xcd, 0x8a, 0x13, 0x41,
+ 0x10, 0xce, 0x24, 0x2e, 0xec, 0x76, 0x0c, 0x86, 0x51, 0x21, 0xe4, 0x30, 0x09, 0xeb, 0x25, 0x08,
+ 0x76, 0x6f, 0x76, 0x55, 0x16, 0x41, 0x0f, 0x91, 0x05, 0x05, 0xc5, 0x30, 0x82, 0x07, 0xf1, 0x60,
+ 0x67, 0x52, 0x4e, 0xda, 0xf9, 0xe9, 0xa1, 0xbb, 0x66, 0x20, 0x37, 0x1f, 0xc1, 0xe7, 0x11, 0x1f,
+ 0x20, 0xc7, 0x3d, 0xee, 0x29, 0x98, 0xf1, 0x2d, 0x3c, 0xc9, 0xcc, 0xc4, 0xcc, 0xec, 0x26, 0x8b,
+ 0x7b, 0xeb, 0xaa, 0xfa, 0xbe, 0xaf, 0xab, 0xea, 0x2b, 0xf2, 0xc2, 0x3b, 0xd5, 0x54, 0x48, 0xe6,
+ 0xc5, 0x13, 0x50, 0x21, 0x20, 0x68, 0x96, 0x40, 0x38, 0x95, 0x8a, 0xad, 0x0b, 0x3c, 0x12, 0x4c,
+ 0xa3, 0x54, 0xdc, 0x05, 0x96, 0x0c, 0x99, 0x0b, 0x21, 0x28, 0x8e, 0x30, 0xa5, 0x91, 0x92, 0x28,
+ 0xcd, 0xfb, 0x05, 0x8c, 0xf2, 0x48, 0xd0, 0x35, 0x8c, 0x26, 0xc3, 0xee, 0x23, 0x57, 0xe0, 0x2c,
+ 0x9e, 0x50, 0x47, 0x06, 0xcc, 0x95, 0xae, 0x64, 0x39, 0x7a, 0x12, 0x7f, 0xc9, 0xa3, 0x3c, 0xc8,
+ 0x5f, 0x85, 0x4a, 0xf7, 0xe1, 0xce, 0xcf, 0x26, 0x80, 0x7c, 0xeb, 0xc7, 0xee, 0xe3, 0x12, 0x1b,
+ 0x70, 0x67, 0x26, 0x42, 0x50, 0x73, 0x16, 0x79, 0x6e, 0x96, 0xd0, 0x2c, 0x00, 0xe4, 0x3b, 0xfa,
+ 0xec, 0xb2, 0xeb, 0x58, 0x2a, 0x0e, 0x51, 0x04, 0xb0, 0x45, 0x78, 0xfa, 0x3f, 0x82, 0x76, 0x66,
+ 0x10, 0xf0, 0x2d, 0xde, 0xc9, 0x75, 0xbc, 0x18, 0x85, 0xcf, 0x44, 0x88, 0x1a, 0xd5, 0x55, 0xd2,
+ 0xe1, 0xcf, 0x06, 0xb9, 0xfd, 0xbe, 0x98, 0xfb, 0xa5, 0xcf, 0xb5, 0x36, 0x3f, 0x93, 0xfd, 0x6c,
+ 0x92, 0x29, 0x47, 0xde, 0x31, 0xfa, 0xc6, 0xa0, 0x79, 0x7c, 0x44, 0xcb, 0x4d, 0x6f, 0x84, 0x69,
+ 0xe4, 0xb9, 0x59, 0x42, 0xd3, 0x0c, 0x4d, 0x93, 0x21, 0x7d, 0x37, 0xf9, 0x0a, 0x0e, 0xbe, 0x05,
+ 0xe4, 0x23, 0x73, 0xb1, 0xec, 0xd5, 0xd2, 0x65, 0x8f, 0x94, 0x39, 0x7b, 0xa3, 0x6a, 0x3e, 0x21,
+ 0xcd, 0x48, 0xc9, 0x44, 0x68, 0x21, 0x43, 0x50, 0x9d, 0x7a, 0xdf, 0x18, 0x1c, 0x8c, 0xee, 0xae,
+ 0x29, 0xcd, 0x71, 0x59, 0xb2, 0xab, 0x38, 0xd3, 0x25, 0x24, 0xe2, 0x8a, 0x07, 0x80, 0xa0, 0x74,
+ 0xa7, 0xd1, 0x6f, 0x0c, 0x9a, 0xc7, 0x27, 0x74, 0xe7, 0x11, 0xd0, 0xea, 0x44, 0x74, 0xbc, 0x61,
+ 0x9d, 0x85, 0xa8, 0xe6, 0x65, 0x77, 0x65, 0xc1, 0xae, 0x48, 0x9b, 0x1e, 0x69, 0x29, 0x70, 0x7c,
+ 0x2e, 0x82, 0xb1, 0xf4, 0x85, 0x33, 0xef, 0xdc, 0xca, 0x3b, 0x3c, 0x4b, 0x97, 0xbd, 0x96, 0x5d,
+ 0x2d, 0xfc, 0x59, 0xf6, 0x8e, 0x2a, 0xe7, 0xe3, 0x48, 0x95, 0xdd, 0x0e, 0x1d, 0x83, 0xd2, 0x42,
+ 0x23, 0x84, 0xf8, 0x41, 0xfa, 0x71, 0x00, 0x97, 0x38, 0xf6, 0x65, 0xed, 0xee, 0x73, 0x72, 0xe7,
+ 0x4a, 0x7f, 0x66, 0x9b, 0x34, 0x3c, 0x98, 0xe7, 0xcb, 0x3f, 0xb0, 0xb3, 0xa7, 0x79, 0x8f, 0xec,
+ 0x25, 0xdc, 0x8f, 0xa1, 0xd8, 0x95, 0x5d, 0x04, 0xcf, 0xea, 0xa7, 0xc6, 0xe1, 0x0f, 0x83, 0xb4,
+ 0xab, 0xc3, 0xbe, 0x11, 0x1a, 0xcd, 0x4f, 0x5b, 0x16, 0xd2, 0x9b, 0x59, 0x98, 0xb1, 0x73, 0x03,
+ 0xdb, 0xeb, 0x15, 0xed, 0xff, 0xcb, 0x54, 0xec, 0x7b, 0x45, 0xf6, 0x04, 0x42, 0xa0, 0x3b, 0xf5,
+ 0xdc, 0x82, 0x07, 0x37, 0xb0, 0x60, 0xd4, 0x5a, 0xeb, 0xed, 0xbd, 0xce, 0x98, 0x76, 0x21, 0x30,
+ 0x1a, 0x2c, 0x56, 0x56, 0xed, 0x7c, 0x65, 0xd5, 0x2e, 0x56, 0x56, 0xed, 0x5b, 0x6a, 0x19, 0x8b,
+ 0xd4, 0x32, 0xce, 0x53, 0xcb, 0xb8, 0x48, 0x2d, 0xe3, 0x57, 0x6a, 0x19, 0xdf, 0x7f, 0x5b, 0xb5,
+ 0x8f, 0xf5, 0x64, 0xf8, 0x37, 0x00, 0x00, 0xff, 0xff, 0xd2, 0x64, 0xc7, 0x7e, 0x2c, 0x04, 0x00,
0x00,
}
diff --git a/staging/src/k8s.io/api/storage/v1/generated.proto b/staging/src/k8s.io/api/storage/v1/generated.proto
index cd66f0b1008..7df04a0b2fa 100644
--- a/staging/src/k8s.io/api/storage/v1/generated.proto
+++ b/staging/src/k8s.io/api/storage/v1/generated.proto
@@ -21,6 +21,7 @@ syntax = 'proto2';
package k8s.io.api.storage.v1;
+import "k8s.io/api/storage/v1beta1/generated.proto";
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
import "k8s.io/apimachinery/pkg/runtime/generated.proto";
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
@@ -47,6 +48,11 @@ message StorageClass {
// create volumes of this storage class.
// +optional
map parameters = 3;
+
+ // Dynamically provisioned PersistentVolumes of this storage class are
+ // created with this reclaimPolicy. Defaults to Delete.
+ // +optional
+ optional string reclaimPolicy = 4;
}
// StorageClassList is a collection of storage classes.
diff --git a/staging/src/k8s.io/api/storage/v1/types.generated.go b/staging/src/k8s.io/api/storage/v1/types.generated.go
index aa667e38e52..c6c8022474c 100644
--- a/staging/src/k8s.io/api/storage/v1/types.generated.go
+++ b/staging/src/k8s.io/api/storage/v1/types.generated.go
@@ -25,6 +25,7 @@ import (
"errors"
"fmt"
codec1978 "github.com/ugorji/go/codec"
+ pkg3_v1 "k8s.io/api/core/v1"
pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
pkg2_types "k8s.io/apimachinery/pkg/types"
"reflect"
@@ -62,10 +63,11 @@ func init() {
panic(err)
}
if false { // reference the types, but skip this branch at build/run time
- var v0 pkg1_v1.TypeMeta
- var v1 pkg2_types.UID
- var v2 time.Time
- _, _, _ = v0, v1, v2
+ var v0 pkg3_v1.PersistentVolumeReclaimPolicy
+ var v1 pkg1_v1.TypeMeta
+ var v2 pkg2_types.UID
+ var v3 time.Time
+ _, _, _, _ = v0, v1, v2, v3
}
}
@@ -83,16 +85,17 @@ func (x *StorageClass) CodecEncodeSelf(e *codec1978.Encoder) {
} else {
yysep2 := !z.EncBinary()
yy2arr2 := z.EncBasicHandle().StructToArray
- var yyq2 [5]bool
+ var yyq2 [6]bool
_, _, _ = yysep2, yyq2, yy2arr2
const yyr2 bool = false
yyq2[0] = x.Kind != ""
yyq2[1] = x.APIVersion != ""
yyq2[2] = true
yyq2[4] = len(x.Parameters) != 0
+ yyq2[5] = x.ReclaimPolicy != nil
var yynn2 int
if yyr2 || yy2arr2 {
- r.EncodeArrayStart(5)
+ r.EncodeArrayStart(6)
} else {
yynn2 = 1
for _, b := range yyq2 {
@@ -234,6 +237,33 @@ func (x *StorageClass) CodecEncodeSelf(e *codec1978.Encoder) {
}
}
}
+ if yyr2 || yy2arr2 {
+ z.EncSendContainerState(codecSelfer_containerArrayElem1234)
+ if yyq2[5] {
+ if x.ReclaimPolicy == nil {
+ r.EncodeNil()
+ } else {
+ yy21 := *x.ReclaimPolicy
+ yysf22 := &yy21
+ yysf22.CodecEncodeSelf(e)
+ }
+ } else {
+ r.EncodeNil()
+ }
+ } else {
+ if yyq2[5] {
+ z.EncSendContainerState(codecSelfer_containerMapKey1234)
+ r.EncodeString(codecSelferC_UTF81234, string("reclaimPolicy"))
+ z.EncSendContainerState(codecSelfer_containerMapValue1234)
+ if x.ReclaimPolicy == nil {
+ r.EncodeNil()
+ } else {
+ yy23 := *x.ReclaimPolicy
+ yysf24 := &yy23
+ yysf24.CodecEncodeSelf(e)
+ }
+ }
+ }
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
@@ -356,6 +386,17 @@ func (x *StorageClass) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
z.F.DecMapStringStringX(yyv12, false, d)
}
}
+ case "reclaimPolicy":
+ if r.TryDecodeAsNil() {
+ if x.ReclaimPolicy != nil {
+ x.ReclaimPolicy = nil
+ }
+ } else {
+ if x.ReclaimPolicy == nil {
+ x.ReclaimPolicy = new(pkg3_v1.PersistentVolumeReclaimPolicy)
+ }
+ x.ReclaimPolicy.CodecDecodeSelf(d)
+ }
default:
z.DecStructFieldNotFound(-1, yys3)
} // end switch yys3
@@ -367,16 +408,16 @@ func (x *StorageClass) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
- var yyj14 int
- var yyb14 bool
- var yyhl14 bool = l >= 0
- yyj14++
- if yyhl14 {
- yyb14 = yyj14 > l
+ var yyj15 int
+ var yyb15 bool
+ var yyhl15 bool = l >= 0
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
} else {
- yyb14 = r.CheckBreak()
+ yyb15 = r.CheckBreak()
}
- if yyb14 {
+ if yyb15 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
@@ -384,21 +425,21 @@ func (x *StorageClass) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.Kind = ""
} else {
- yyv15 := &x.Kind
- yym16 := z.DecBinary()
- _ = yym16
+ yyv16 := &x.Kind
+ yym17 := z.DecBinary()
+ _ = yym17
if false {
} else {
- *((*string)(yyv15)) = r.DecodeString()
+ *((*string)(yyv16)) = r.DecodeString()
}
}
- yyj14++
- if yyhl14 {
- yyb14 = yyj14 > l
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
} else {
- yyb14 = r.CheckBreak()
+ yyb15 = r.CheckBreak()
}
- if yyb14 {
+ if yyb15 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
@@ -406,21 +447,21 @@ func (x *StorageClass) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.APIVersion = ""
} else {
- yyv17 := &x.APIVersion
- yym18 := z.DecBinary()
- _ = yym18
+ yyv18 := &x.APIVersion
+ yym19 := z.DecBinary()
+ _ = yym19
if false {
} else {
- *((*string)(yyv17)) = r.DecodeString()
+ *((*string)(yyv18)) = r.DecodeString()
}
}
- yyj14++
- if yyhl14 {
- yyb14 = yyj14 > l
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
} else {
- yyb14 = r.CheckBreak()
+ yyb15 = r.CheckBreak()
}
- if yyb14 {
+ if yyb15 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
@@ -428,22 +469,22 @@ func (x *StorageClass) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg1_v1.ObjectMeta{}
} else {
- yyv19 := &x.ObjectMeta
- yym20 := z.DecBinary()
- _ = yym20
+ yyv20 := &x.ObjectMeta
+ yym21 := z.DecBinary()
+ _ = yym21
if false {
- } else if z.HasExtensions() && z.DecExt(yyv19) {
+ } else if z.HasExtensions() && z.DecExt(yyv20) {
} else {
- z.DecFallback(yyv19, false)
+ z.DecFallback(yyv20, false)
}
}
- yyj14++
- if yyhl14 {
- yyb14 = yyj14 > l
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
} else {
- yyb14 = r.CheckBreak()
+ yyb15 = r.CheckBreak()
}
- if yyb14 {
+ if yyb15 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
@@ -451,21 +492,21 @@ func (x *StorageClass) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.Provisioner = ""
} else {
- yyv21 := &x.Provisioner
- yym22 := z.DecBinary()
- _ = yym22
+ yyv22 := &x.Provisioner
+ yym23 := z.DecBinary()
+ _ = yym23
if false {
} else {
- *((*string)(yyv21)) = r.DecodeString()
+ *((*string)(yyv22)) = r.DecodeString()
}
}
- yyj14++
- if yyhl14 {
- yyb14 = yyj14 > l
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
} else {
- yyb14 = r.CheckBreak()
+ yyb15 = r.CheckBreak()
}
- if yyb14 {
+ if yyb15 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
@@ -473,26 +514,47 @@ func (x *StorageClass) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.Parameters = nil
} else {
- yyv23 := &x.Parameters
- yym24 := z.DecBinary()
- _ = yym24
+ yyv24 := &x.Parameters
+ yym25 := z.DecBinary()
+ _ = yym25
if false {
} else {
- z.F.DecMapStringStringX(yyv23, false, d)
+ z.F.DecMapStringStringX(yyv24, false, d)
}
}
- for {
- yyj14++
- if yyhl14 {
- yyb14 = yyj14 > l
- } else {
- yyb14 = r.CheckBreak()
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
+ } else {
+ yyb15 = r.CheckBreak()
+ }
+ if yyb15 {
+ z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
+ return
+ }
+ z.DecSendContainerState(codecSelfer_containerArrayElem1234)
+ if r.TryDecodeAsNil() {
+ if x.ReclaimPolicy != nil {
+ x.ReclaimPolicy = nil
}
- if yyb14 {
+ } else {
+ if x.ReclaimPolicy == nil {
+ x.ReclaimPolicy = new(pkg3_v1.PersistentVolumeReclaimPolicy)
+ }
+ x.ReclaimPolicy.CodecDecodeSelf(d)
+ }
+ for {
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
+ } else {
+ yyb15 = r.CheckBreak()
+ }
+ if yyb15 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
- z.DecStructFieldNotFound(yyj14-1, "")
+ z.DecStructFieldNotFound(yyj15-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
@@ -904,7 +966,7 @@ func (x codecSelfer1234) decSliceStorageClass(v *[]StorageClass, d *codec1978.De
yyrg1 := len(yyv1) > 0
yyv21 := yyv1
- yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 288)
+ yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 296)
if yyrt1 {
if yyrl1 <= cap(yyv1) {
yyv1 = yyv1[:yyrl1]
diff --git a/staging/src/k8s.io/api/storage/v1/types_swagger_doc_generated.go b/staging/src/k8s.io/api/storage/v1/types_swagger_doc_generated.go
index a13106fa3c6..82a5eb61646 100644
--- a/staging/src/k8s.io/api/storage/v1/types_swagger_doc_generated.go
+++ b/staging/src/k8s.io/api/storage/v1/types_swagger_doc_generated.go
@@ -28,10 +28,11 @@ package v1
// AUTO-GENERATED FUNCTIONS START HERE
var map_StorageClass = map[string]string{
- "": "StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.\n\nStorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
- "provisioner": "Provisioner indicates the type of the provisioner.",
- "parameters": "Parameters holds the parameters for the provisioner that should create volumes of this storage class.",
+ "": "StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.\n\nStorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.",
+ "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
+ "provisioner": "Provisioner indicates the type of the provisioner.",
+ "parameters": "Parameters holds the parameters for the provisioner that should create volumes of this storage class.",
+ "reclaimPolicy": "Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.",
}
func (StorageClass) SwaggerDoc() map[string]string {
diff --git a/staging/src/k8s.io/api/storage/v1/zz_generated.deepcopy.go b/staging/src/k8s.io/api/storage/v1/zz_generated.deepcopy.go
index cd5c5d16239..3f8d5771e41 100644
--- a/staging/src/k8s.io/api/storage/v1/zz_generated.deepcopy.go
+++ b/staging/src/k8s.io/api/storage/v1/zz_generated.deepcopy.go
@@ -21,6 +21,7 @@ limitations under the License.
package v1
import (
+ core_v1 "k8s.io/api/core/v1"
conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime"
reflect "reflect"
@@ -59,6 +60,15 @@ func (in *StorageClass) DeepCopyInto(out *StorageClass) {
(*out)[key] = val
}
}
+ if in.ReclaimPolicy != nil {
+ in, out := &in.ReclaimPolicy, &out.ReclaimPolicy
+ if *in == nil {
+ *out = nil
+ } else {
+ *out = new(core_v1.PersistentVolumeReclaimPolicy)
+ **out = **in
+ }
+ }
return
}
diff --git a/staging/src/k8s.io/api/storage/v1beta1/BUILD b/staging/src/k8s.io/api/storage/v1beta1/BUILD
index 2c4953766bb..08bdaa7ba37 100644
--- a/staging/src/k8s.io/api/storage/v1beta1/BUILD
+++ b/staging/src/k8s.io/api/storage/v1beta1/BUILD
@@ -20,6 +20,7 @@ go_library(
"//vendor/github.com/gogo/protobuf/proto:go_default_library",
"//vendor/github.com/gogo/protobuf/sortkeys:go_default_library",
"//vendor/github.com/ugorji/go/codec:go_default_library",
+ "//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/conversion:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
diff --git a/staging/src/k8s.io/api/storage/v1beta1/generated.pb.go b/staging/src/k8s.io/api/storage/v1beta1/generated.pb.go
index b858a8c5c67..20ef9a29e17 100644
--- a/staging/src/k8s.io/api/storage/v1beta1/generated.pb.go
+++ b/staging/src/k8s.io/api/storage/v1beta1/generated.pb.go
@@ -34,6 +34,8 @@ import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
+import k8s_io_api_core_v1 "k8s.io/api/core/v1"
+
import github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
import strings "strings"
@@ -113,6 +115,12 @@ func (m *StorageClass) MarshalTo(dAtA []byte) (int, error) {
i += copy(dAtA[i:], v)
}
}
+ if m.ReclaimPolicy != nil {
+ dAtA[i] = 0x22
+ i++
+ i = encodeVarintGenerated(dAtA, i, uint64(len(*m.ReclaimPolicy)))
+ i += copy(dAtA[i:], *m.ReclaimPolicy)
+ }
return i, nil
}
@@ -196,6 +204,10 @@ func (m *StorageClass) Size() (n int) {
n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize))
}
}
+ if m.ReclaimPolicy != nil {
+ l = len(*m.ReclaimPolicy)
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -244,6 +256,7 @@ func (this *StorageClass) String() string {
`ObjectMeta:` + strings.Replace(strings.Replace(this.ObjectMeta.String(), "ObjectMeta", "k8s_io_apimachinery_pkg_apis_meta_v1.ObjectMeta", 1), `&`, ``, 1) + `,`,
`Provisioner:` + fmt.Sprintf("%v", this.Provisioner) + `,`,
`Parameters:` + mapStringForParameters + `,`,
+ `ReclaimPolicy:` + valueToStringGenerated(this.ReclaimPolicy) + `,`,
`}`,
}, "")
return s
@@ -471,6 +484,36 @@ func (m *StorageClass) Unmarshal(dAtA []byte) error {
m.Parameters[mapkey] = mapvalue
}
iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field ReclaimPolicy", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ s := k8s_io_api_core_v1.PersistentVolumeReclaimPolicy(dAtA[iNdEx:postIndex])
+ m.ReclaimPolicy = &s
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -713,35 +756,38 @@ func init() {
}
var fileDescriptorGenerated = []byte{
- // 468 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x91, 0xbf, 0x8e, 0xd3, 0x40,
- 0x10, 0xc6, 0xbd, 0x89, 0x22, 0xee, 0x36, 0x20, 0x22, 0x43, 0x11, 0xb9, 0xf0, 0x45, 0x57, 0xa5,
- 0xb9, 0x5d, 0x72, 0xfc, 0x51, 0x84, 0x44, 0x93, 0x13, 0x05, 0x12, 0x27, 0x4e, 0xa6, 0x43, 0x14,
- 0xac, 0x93, 0xc1, 0x59, 0x1c, 0x7b, 0xad, 0xdd, 0xb1, 0xa5, 0x74, 0x3c, 0x02, 0x6f, 0x44, 0x9b,
- 0xf2, 0x0a, 0x8a, 0xab, 0x4e, 0xc4, 0xbc, 0x08, 0xf2, 0x1f, 0x62, 0xeb, 0xa2, 0x88, 0xeb, 0x3c,
- 0x33, 0xdf, 0xef, 0xdb, 0x99, 0xcf, 0xf4, 0x22, 0x9c, 0x1a, 0x26, 0x15, 0x0f, 0x53, 0x1f, 0x74,
- 0x0c, 0x08, 0x86, 0x67, 0x10, 0x2f, 0x94, 0xe6, 0xf5, 0x40, 0x24, 0x92, 0x1b, 0x54, 0x5a, 0x04,
- 0xc0, 0xb3, 0x89, 0x0f, 0x28, 0x26, 0x3c, 0x80, 0x18, 0xb4, 0x40, 0x58, 0xb0, 0x44, 0x2b, 0x54,
- 0xb6, 0x53, 0x69, 0x99, 0x48, 0x24, 0xab, 0xb5, 0xac, 0xd6, 0x3a, 0x67, 0x81, 0xc4, 0x65, 0xea,
- 0xb3, 0xb9, 0x8a, 0x78, 0xa0, 0x02, 0xc5, 0x4b, 0xc4, 0x4f, 0xbf, 0x96, 0x55, 0x59, 0x94, 0x5f,
- 0x95, 0x95, 0xf3, 0xa2, 0x79, 0x36, 0x12, 0xf3, 0xa5, 0x8c, 0x41, 0xaf, 0x79, 0x12, 0x06, 0x45,
- 0xc3, 0xf0, 0x08, 0x50, 0xf0, 0x6c, 0x6f, 0x01, 0x87, 0x1f, 0xa2, 0x74, 0x1a, 0xa3, 0x8c, 0x60,
- 0x0f, 0x78, 0xf5, 0x3f, 0xc0, 0xcc, 0x97, 0x10, 0x89, 0x3d, 0xee, 0xf9, 0x21, 0x2e, 0x45, 0xb9,
- 0xe2, 0x32, 0x46, 0x83, 0xfa, 0x2e, 0x74, 0xfa, 0xab, 0x43, 0x1f, 0x7e, 0xac, 0x62, 0xb9, 0x58,
- 0x09, 0x63, 0xec, 0x2f, 0xf4, 0xa8, 0xb8, 0x64, 0x21, 0x50, 0x0c, 0xc9, 0x88, 0x8c, 0xfb, 0xe7,
- 0xcf, 0x58, 0x13, 0xe1, 0xce, 0x98, 0x25, 0x61, 0x50, 0x34, 0x0c, 0x2b, 0xd4, 0x2c, 0x9b, 0xb0,
- 0x0f, 0xfe, 0x37, 0x98, 0xe3, 0x25, 0xa0, 0x98, 0xd9, 0x9b, 0xdb, 0x13, 0x2b, 0xbf, 0x3d, 0xa1,
- 0x4d, 0xcf, 0xdb, 0xb9, 0xda, 0x2f, 0x69, 0x3f, 0xd1, 0x2a, 0x93, 0x46, 0xaa, 0x18, 0xf4, 0xb0,
- 0x33, 0x22, 0xe3, 0xe3, 0xd9, 0x93, 0x1a, 0xe9, 0x5f, 0x35, 0x23, 0xaf, 0xad, 0xb3, 0x57, 0x94,
- 0x26, 0x42, 0x8b, 0x08, 0x10, 0xb4, 0x19, 0x76, 0x47, 0xdd, 0x71, 0xff, 0x7c, 0xca, 0x0e, 0xff,
- 0x5d, 0xd6, 0x3e, 0x8b, 0x5d, 0xed, 0xd0, 0xb7, 0x31, 0xea, 0x75, 0xb3, 0x62, 0x33, 0xf0, 0x5a,
- 0xfe, 0xce, 0x1b, 0xfa, 0xf8, 0x0e, 0x62, 0x0f, 0x68, 0x37, 0x84, 0x75, 0x19, 0xca, 0xb1, 0x57,
- 0x7c, 0xda, 0x4f, 0x69, 0x2f, 0x13, 0xab, 0x14, 0xaa, 0x1b, 0xbc, 0xaa, 0x78, 0xdd, 0x99, 0x92,
- 0xd3, 0x9f, 0x84, 0x0e, 0xda, 0xef, 0xbf, 0x97, 0x06, 0xed, 0xcf, 0x7b, 0xd1, 0xb2, 0xfb, 0x45,
- 0x5b, 0xd0, 0x65, 0xb0, 0x83, 0x7a, 0xeb, 0xa3, 0x7f, 0x9d, 0x56, 0xac, 0x97, 0xb4, 0x27, 0x11,
- 0x22, 0x33, 0xec, 0x94, 0xd1, 0x8c, 0xef, 0x1b, 0xcd, 0xec, 0x51, 0x6d, 0xda, 0x7b, 0x57, 0xe0,
- 0x5e, 0xe5, 0x32, 0x3b, 0xdb, 0x6c, 0x5d, 0xeb, 0x7a, 0xeb, 0x5a, 0x37, 0x5b, 0xd7, 0xfa, 0x9e,
- 0xbb, 0x64, 0x93, 0xbb, 0xe4, 0x3a, 0x77, 0xc9, 0x4d, 0xee, 0x92, 0xdf, 0xb9, 0x4b, 0x7e, 0xfc,
- 0x71, 0xad, 0x4f, 0x0f, 0x6a, 0xc7, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x31, 0xec, 0x16, 0x3f,
- 0xac, 0x03, 0x00, 0x00,
+ // 527 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xbb, 0x8e, 0x13, 0x3f,
+ 0x14, 0xc6, 0xe3, 0xe4, 0x1f, 0xfd, 0x77, 0x1d, 0x22, 0xa2, 0x81, 0x22, 0x4a, 0x31, 0x89, 0x52,
+ 0xa5, 0x59, 0x7b, 0xb3, 0x5c, 0x14, 0x21, 0xd1, 0x64, 0xb5, 0x05, 0x12, 0x2b, 0xa2, 0x41, 0xa2,
+ 0x40, 0x14, 0x38, 0x93, 0xc3, 0xc4, 0xcc, 0xc5, 0x23, 0xdb, 0x33, 0x52, 0x3a, 0x1e, 0x81, 0x37,
+ 0x42, 0x74, 0x29, 0xb7, 0xdc, 0x2a, 0x22, 0xc3, 0x5b, 0x50, 0xa1, 0xb9, 0x90, 0x99, 0x4d, 0x88,
+ 0xd8, 0xce, 0x3e, 0xe7, 0xfb, 0x7d, 0xb6, 0xcf, 0x67, 0x7c, 0xe9, 0x4e, 0x14, 0xe1, 0x82, 0xba,
+ 0xd1, 0x1c, 0x64, 0x00, 0x1a, 0x14, 0x8d, 0x21, 0x58, 0x08, 0x49, 0x8b, 0x06, 0x0b, 0x39, 0x55,
+ 0x5a, 0x48, 0xe6, 0x00, 0x8d, 0xc7, 0x73, 0xd0, 0x6c, 0x4c, 0x1d, 0x08, 0x40, 0x32, 0x0d, 0x0b,
+ 0x12, 0x4a, 0xa1, 0x85, 0xd1, 0xcb, 0xb5, 0x84, 0x85, 0x9c, 0x14, 0x5a, 0x52, 0x68, 0x7b, 0x67,
+ 0x0e, 0xd7, 0xcb, 0x68, 0x4e, 0x6c, 0xe1, 0x53, 0x47, 0x38, 0x82, 0x66, 0xc8, 0x3c, 0xfa, 0x94,
+ 0xed, 0xb2, 0x4d, 0xb6, 0xca, 0xad, 0x7a, 0xc3, 0xca, 0xb1, 0xb6, 0x90, 0xe9, 0x99, 0xfb, 0xc7,
+ 0xf5, 0x9e, 0x96, 0x1a, 0x9f, 0xd9, 0x4b, 0x1e, 0x80, 0x5c, 0xd1, 0xd0, 0x75, 0xd2, 0x82, 0xa2,
+ 0x3e, 0x68, 0xf6, 0x37, 0x8a, 0x1e, 0xa3, 0x64, 0x14, 0x68, 0xee, 0xc3, 0x01, 0xf0, 0xfc, 0x5f,
+ 0x80, 0xb2, 0x97, 0xe0, 0xb3, 0x03, 0xee, 0xc9, 0x31, 0x2e, 0xd2, 0xdc, 0xa3, 0x3c, 0xd0, 0x4a,
+ 0xcb, 0x7d, 0x68, 0xf8, 0xbd, 0x81, 0x1f, 0xbc, 0xcd, 0x47, 0x77, 0xe9, 0x31, 0xa5, 0x8c, 0x8f,
+ 0xf8, 0x24, 0x7d, 0xc9, 0x82, 0x69, 0xd6, 0x45, 0x03, 0x34, 0x6a, 0x5d, 0x9c, 0x93, 0x72, 0xcc,
+ 0x3b, 0x63, 0x12, 0xba, 0x4e, 0x5a, 0x50, 0x24, 0x55, 0x93, 0x78, 0x4c, 0xde, 0xcc, 0x3f, 0x83,
+ 0xad, 0xaf, 0x41, 0xb3, 0xa9, 0xb1, 0xde, 0xf4, 0x6b, 0xc9, 0xa6, 0x8f, 0xcb, 0x9a, 0xb5, 0x73,
+ 0x35, 0x9e, 0xe1, 0x56, 0x28, 0x45, 0xcc, 0x15, 0x17, 0x01, 0xc8, 0x6e, 0x7d, 0x80, 0x46, 0xa7,
+ 0xd3, 0x47, 0x05, 0xd2, 0x9a, 0x95, 0x2d, 0xab, 0xaa, 0x33, 0x3c, 0x8c, 0x43, 0x26, 0x99, 0x0f,
+ 0x1a, 0xa4, 0xea, 0x36, 0x06, 0x8d, 0x51, 0xeb, 0x62, 0x42, 0x8e, 0xff, 0x00, 0x52, 0x7d, 0x16,
+ 0x99, 0xed, 0xd0, 0xab, 0x40, 0xcb, 0x55, 0x79, 0xc5, 0xb2, 0x61, 0x55, 0xfc, 0x0d, 0x17, 0xb7,
+ 0x25, 0xd8, 0x1e, 0xe3, 0xfe, 0x4c, 0x78, 0xdc, 0x5e, 0x75, 0xff, 0xcb, 0xae, 0x79, 0x95, 0x6c,
+ 0xfa, 0x6d, 0xab, 0xda, 0xf8, 0xb5, 0xe9, 0x9f, 0x1f, 0xfe, 0x1d, 0x32, 0x03, 0xa9, 0xb8, 0xd2,
+ 0x10, 0xe8, 0x77, 0xc2, 0x8b, 0x7c, 0xb8, 0xc3, 0x58, 0x77, 0xbd, 0x7b, 0x2f, 0xf1, 0xc3, 0xbd,
+ 0xfb, 0x19, 0x1d, 0xdc, 0x70, 0x61, 0x95, 0x25, 0x70, 0x6a, 0xa5, 0x4b, 0xe3, 0x31, 0x6e, 0xc6,
+ 0xcc, 0x8b, 0x20, 0x1f, 0x98, 0x95, 0x6f, 0x5e, 0xd4, 0x27, 0x68, 0xf8, 0x0d, 0xe1, 0x4e, 0xf5,
+ 0xb1, 0xaf, 0xb9, 0xd2, 0xc6, 0x87, 0x83, 0x1c, 0xc9, 0xfd, 0x72, 0x4c, 0xe9, 0x2c, 0xc5, 0x4e,
+ 0x31, 0xa2, 0x93, 0x3f, 0x95, 0x4a, 0x86, 0xd7, 0xb8, 0xc9, 0x35, 0xf8, 0xaa, 0x5b, 0xcf, 0x72,
+ 0x18, 0xdd, 0x37, 0x87, 0x69, 0xbb, 0x30, 0x6d, 0xbe, 0x4a, 0x71, 0x2b, 0x77, 0x99, 0x9e, 0xad,
+ 0xb7, 0x66, 0xed, 0x66, 0x6b, 0xd6, 0x6e, 0xb7, 0x66, 0xed, 0x4b, 0x62, 0xa2, 0x75, 0x62, 0xa2,
+ 0x9b, 0xc4, 0x44, 0xb7, 0x89, 0x89, 0x7e, 0x24, 0x26, 0xfa, 0xfa, 0xd3, 0xac, 0xbd, 0xff, 0xbf,
+ 0x70, 0xfc, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x94, 0xc8, 0xc6, 0xb6, 0x3d, 0x04, 0x00, 0x00,
}
diff --git a/staging/src/k8s.io/api/storage/v1beta1/generated.proto b/staging/src/k8s.io/api/storage/v1beta1/generated.proto
index 689ad4de26b..a5978d2438a 100644
--- a/staging/src/k8s.io/api/storage/v1beta1/generated.proto
+++ b/staging/src/k8s.io/api/storage/v1beta1/generated.proto
@@ -21,6 +21,7 @@ syntax = 'proto2';
package k8s.io.api.storage.v1beta1;
+import "k8s.io/api/core/v1/generated.proto";
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
import "k8s.io/apimachinery/pkg/runtime/generated.proto";
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
@@ -47,6 +48,11 @@ message StorageClass {
// create volumes of this storage class.
// +optional
map parameters = 3;
+
+ // Dynamically provisioned PersistentVolumes of this storage class are
+ // created with this reclaimPolicy. Defaults to Delete.
+ // +optional
+ optional string reclaimPolicy = 4;
}
// StorageClassList is a collection of storage classes.
diff --git a/staging/src/k8s.io/api/storage/v1beta1/types.generated.go b/staging/src/k8s.io/api/storage/v1beta1/types.generated.go
index d9f5d5f77dc..3caaac55851 100644
--- a/staging/src/k8s.io/api/storage/v1beta1/types.generated.go
+++ b/staging/src/k8s.io/api/storage/v1beta1/types.generated.go
@@ -25,6 +25,7 @@ import (
"errors"
"fmt"
codec1978 "github.com/ugorji/go/codec"
+ pkg3_v1 "k8s.io/api/core/v1"
pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
pkg2_types "k8s.io/apimachinery/pkg/types"
"reflect"
@@ -62,10 +63,11 @@ func init() {
panic(err)
}
if false { // reference the types, but skip this branch at build/run time
- var v0 pkg1_v1.TypeMeta
- var v1 pkg2_types.UID
- var v2 time.Time
- _, _, _ = v0, v1, v2
+ var v0 pkg3_v1.PersistentVolumeReclaimPolicy
+ var v1 pkg1_v1.TypeMeta
+ var v2 pkg2_types.UID
+ var v3 time.Time
+ _, _, _, _ = v0, v1, v2, v3
}
}
@@ -83,16 +85,17 @@ func (x *StorageClass) CodecEncodeSelf(e *codec1978.Encoder) {
} else {
yysep2 := !z.EncBinary()
yy2arr2 := z.EncBasicHandle().StructToArray
- var yyq2 [5]bool
+ var yyq2 [6]bool
_, _, _ = yysep2, yyq2, yy2arr2
const yyr2 bool = false
yyq2[0] = x.Kind != ""
yyq2[1] = x.APIVersion != ""
yyq2[2] = true
yyq2[4] = len(x.Parameters) != 0
+ yyq2[5] = x.ReclaimPolicy != nil
var yynn2 int
if yyr2 || yy2arr2 {
- r.EncodeArrayStart(5)
+ r.EncodeArrayStart(6)
} else {
yynn2 = 1
for _, b := range yyq2 {
@@ -234,6 +237,33 @@ func (x *StorageClass) CodecEncodeSelf(e *codec1978.Encoder) {
}
}
}
+ if yyr2 || yy2arr2 {
+ z.EncSendContainerState(codecSelfer_containerArrayElem1234)
+ if yyq2[5] {
+ if x.ReclaimPolicy == nil {
+ r.EncodeNil()
+ } else {
+ yy21 := *x.ReclaimPolicy
+ yysf22 := &yy21
+ yysf22.CodecEncodeSelf(e)
+ }
+ } else {
+ r.EncodeNil()
+ }
+ } else {
+ if yyq2[5] {
+ z.EncSendContainerState(codecSelfer_containerMapKey1234)
+ r.EncodeString(codecSelferC_UTF81234, string("reclaimPolicy"))
+ z.EncSendContainerState(codecSelfer_containerMapValue1234)
+ if x.ReclaimPolicy == nil {
+ r.EncodeNil()
+ } else {
+ yy23 := *x.ReclaimPolicy
+ yysf24 := &yy23
+ yysf24.CodecEncodeSelf(e)
+ }
+ }
+ }
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else {
@@ -356,6 +386,17 @@ func (x *StorageClass) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
z.F.DecMapStringStringX(yyv12, false, d)
}
}
+ case "reclaimPolicy":
+ if r.TryDecodeAsNil() {
+ if x.ReclaimPolicy != nil {
+ x.ReclaimPolicy = nil
+ }
+ } else {
+ if x.ReclaimPolicy == nil {
+ x.ReclaimPolicy = new(pkg3_v1.PersistentVolumeReclaimPolicy)
+ }
+ x.ReclaimPolicy.CodecDecodeSelf(d)
+ }
default:
z.DecStructFieldNotFound(-1, yys3)
} // end switch yys3
@@ -367,16 +408,16 @@ func (x *StorageClass) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r
- var yyj14 int
- var yyb14 bool
- var yyhl14 bool = l >= 0
- yyj14++
- if yyhl14 {
- yyb14 = yyj14 > l
+ var yyj15 int
+ var yyb15 bool
+ var yyhl15 bool = l >= 0
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
} else {
- yyb14 = r.CheckBreak()
+ yyb15 = r.CheckBreak()
}
- if yyb14 {
+ if yyb15 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
@@ -384,21 +425,21 @@ func (x *StorageClass) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.Kind = ""
} else {
- yyv15 := &x.Kind
- yym16 := z.DecBinary()
- _ = yym16
+ yyv16 := &x.Kind
+ yym17 := z.DecBinary()
+ _ = yym17
if false {
} else {
- *((*string)(yyv15)) = r.DecodeString()
+ *((*string)(yyv16)) = r.DecodeString()
}
}
- yyj14++
- if yyhl14 {
- yyb14 = yyj14 > l
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
} else {
- yyb14 = r.CheckBreak()
+ yyb15 = r.CheckBreak()
}
- if yyb14 {
+ if yyb15 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
@@ -406,21 +447,21 @@ func (x *StorageClass) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.APIVersion = ""
} else {
- yyv17 := &x.APIVersion
- yym18 := z.DecBinary()
- _ = yym18
+ yyv18 := &x.APIVersion
+ yym19 := z.DecBinary()
+ _ = yym19
if false {
} else {
- *((*string)(yyv17)) = r.DecodeString()
+ *((*string)(yyv18)) = r.DecodeString()
}
}
- yyj14++
- if yyhl14 {
- yyb14 = yyj14 > l
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
} else {
- yyb14 = r.CheckBreak()
+ yyb15 = r.CheckBreak()
}
- if yyb14 {
+ if yyb15 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
@@ -428,22 +469,22 @@ func (x *StorageClass) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.ObjectMeta = pkg1_v1.ObjectMeta{}
} else {
- yyv19 := &x.ObjectMeta
- yym20 := z.DecBinary()
- _ = yym20
+ yyv20 := &x.ObjectMeta
+ yym21 := z.DecBinary()
+ _ = yym21
if false {
- } else if z.HasExtensions() && z.DecExt(yyv19) {
+ } else if z.HasExtensions() && z.DecExt(yyv20) {
} else {
- z.DecFallback(yyv19, false)
+ z.DecFallback(yyv20, false)
}
}
- yyj14++
- if yyhl14 {
- yyb14 = yyj14 > l
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
} else {
- yyb14 = r.CheckBreak()
+ yyb15 = r.CheckBreak()
}
- if yyb14 {
+ if yyb15 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
@@ -451,21 +492,21 @@ func (x *StorageClass) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.Provisioner = ""
} else {
- yyv21 := &x.Provisioner
- yym22 := z.DecBinary()
- _ = yym22
+ yyv22 := &x.Provisioner
+ yym23 := z.DecBinary()
+ _ = yym23
if false {
} else {
- *((*string)(yyv21)) = r.DecodeString()
+ *((*string)(yyv22)) = r.DecodeString()
}
}
- yyj14++
- if yyhl14 {
- yyb14 = yyj14 > l
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
} else {
- yyb14 = r.CheckBreak()
+ yyb15 = r.CheckBreak()
}
- if yyb14 {
+ if yyb15 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
@@ -473,26 +514,47 @@ func (x *StorageClass) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() {
x.Parameters = nil
} else {
- yyv23 := &x.Parameters
- yym24 := z.DecBinary()
- _ = yym24
+ yyv24 := &x.Parameters
+ yym25 := z.DecBinary()
+ _ = yym25
if false {
} else {
- z.F.DecMapStringStringX(yyv23, false, d)
+ z.F.DecMapStringStringX(yyv24, false, d)
}
}
- for {
- yyj14++
- if yyhl14 {
- yyb14 = yyj14 > l
- } else {
- yyb14 = r.CheckBreak()
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
+ } else {
+ yyb15 = r.CheckBreak()
+ }
+ if yyb15 {
+ z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
+ return
+ }
+ z.DecSendContainerState(codecSelfer_containerArrayElem1234)
+ if r.TryDecodeAsNil() {
+ if x.ReclaimPolicy != nil {
+ x.ReclaimPolicy = nil
}
- if yyb14 {
+ } else {
+ if x.ReclaimPolicy == nil {
+ x.ReclaimPolicy = new(pkg3_v1.PersistentVolumeReclaimPolicy)
+ }
+ x.ReclaimPolicy.CodecDecodeSelf(d)
+ }
+ for {
+ yyj15++
+ if yyhl15 {
+ yyb15 = yyj15 > l
+ } else {
+ yyb15 = r.CheckBreak()
+ }
+ if yyb15 {
break
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
- z.DecStructFieldNotFound(yyj14-1, "")
+ z.DecStructFieldNotFound(yyj15-1, "")
}
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
}
@@ -904,7 +966,7 @@ func (x codecSelfer1234) decSliceStorageClass(v *[]StorageClass, d *codec1978.De
yyrg1 := len(yyv1) > 0
yyv21 := yyv1
- yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 288)
+ yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 296)
if yyrt1 {
if yyrl1 <= cap(yyv1) {
yyv1 = yyv1[:yyrl1]
diff --git a/staging/src/k8s.io/api/storage/v1beta1/types_swagger_doc_generated.go b/staging/src/k8s.io/api/storage/v1beta1/types_swagger_doc_generated.go
index 0d43bb03c3d..7a4942e437b 100644
--- a/staging/src/k8s.io/api/storage/v1beta1/types_swagger_doc_generated.go
+++ b/staging/src/k8s.io/api/storage/v1beta1/types_swagger_doc_generated.go
@@ -28,10 +28,11 @@ package v1beta1
// AUTO-GENERATED FUNCTIONS START HERE
var map_StorageClass = map[string]string{
- "": "StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.\n\nStorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.",
- "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
- "provisioner": "Provisioner indicates the type of the provisioner.",
- "parameters": "Parameters holds the parameters for the provisioner that should create volumes of this storage class.",
+ "": "StorageClass describes the parameters for a class of storage for which PersistentVolumes can be dynamically provisioned.\n\nStorageClasses are non-namespaced; the name of the storage class according to etcd is in ObjectMeta.Name.",
+ "metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata",
+ "provisioner": "Provisioner indicates the type of the provisioner.",
+ "parameters": "Parameters holds the parameters for the provisioner that should create volumes of this storage class.",
+ "reclaimPolicy": "Dynamically provisioned PersistentVolumes of this storage class are created with this reclaimPolicy. Defaults to Delete.",
}
func (StorageClass) SwaggerDoc() map[string]string {
diff --git a/staging/src/k8s.io/api/storage/v1beta1/zz_generated.deepcopy.go b/staging/src/k8s.io/api/storage/v1beta1/zz_generated.deepcopy.go
index 2a1afe1cd62..e89661c18f5 100644
--- a/staging/src/k8s.io/api/storage/v1beta1/zz_generated.deepcopy.go
+++ b/staging/src/k8s.io/api/storage/v1beta1/zz_generated.deepcopy.go
@@ -21,6 +21,7 @@ limitations under the License.
package v1beta1
import (
+ v1 "k8s.io/api/core/v1"
conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime"
reflect "reflect"
@@ -59,6 +60,15 @@ func (in *StorageClass) DeepCopyInto(out *StorageClass) {
(*out)[key] = val
}
}
+ if in.ReclaimPolicy != nil {
+ in, out := &in.ReclaimPolicy, &out.ReclaimPolicy
+ if *in == nil {
+ *out = nil
+ } else {
+ *out = new(v1.PersistentVolumeReclaimPolicy)
+ **out = **in
+ }
+ }
return
}