[VOL-1866] Changed module dependency to v12.0.0 of k8s client-go and v1.15.4 of k8s api/apimachinery in sync with other voltha components

Had to use pseudo-version corresponding to v12.0.0 of k8s client-go
because golang proxy is no longer serving the modules not complying
to Semantic Import Versioning rules including client-go v12.0.0.
Refer to https://github.com/kubernetes/client-go/issues/631 and
https://github.com/golang/go/issues/33558

Change-Id: I2e558bab7f0702f230761319eb5392a7d0532ea3
diff --git a/vendor/k8s.io/api/policy/v1beta1/generated.proto b/vendor/k8s.io/api/policy/v1beta1/generated.proto
index e9df3c1..a1173a6 100644
--- a/vendor/k8s.io/api/policy/v1beta1/generated.proto
+++ b/vendor/k8s.io/api/policy/v1beta1/generated.proto
@@ -30,6 +30,12 @@
 // Package-wide variables from generator "generated".
 option go_package = "v1beta1";
 
+// AllowedCSIDriver represents a single inline CSI Driver that is allowed to be used.
+message AllowedCSIDriver {
+  // Name is the registered name of the CSI driver
+  optional string name = 1;
+}
+
 // AllowedFlexVolume represents a single Flexvolume that is allowed to be used.
 message AllowedFlexVolume {
   // driver is the name of the Flexvolume driver.
@@ -292,6 +298,12 @@
   // +optional
   repeated AllowedFlexVolume allowedFlexVolumes = 18;
 
+  // AllowedCSIDrivers is a whitelist of inline CSI drivers that must be explicitly set to be embedded within a pod spec.
+  // An empty value indicates that any CSI driver can be used for inline ephemeral volumes.
+  // This is an alpha field, and is only honored if the API server enables the CSIInlineVolume feature gate.
+  // +optional
+  repeated AllowedCSIDriver allowedCSIDrivers = 23;
+
   // allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none.
   // Each entry is either a plain sysctl name or ends in "*" in which case it is considered
   // as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed.
@@ -318,6 +330,12 @@
   // This requires the ProcMountType feature flag to be enabled.
   // +optional
   repeated string allowedProcMountTypes = 21;
+
+  // runtimeClass is the strategy that will dictate the allowable RuntimeClasses for a pod.
+  // If this field is omitted, the pod's runtimeClassName field is unrestricted.
+  // Enforcement of this field depends on the RuntimeClass feature gate being enabled.
+  // +optional
+  optional RuntimeClassStrategyOptions runtimeClass = 24;
 }
 
 // RunAsGroupStrategyOptions defines the strategy type and any options used to create the strategy.
@@ -342,6 +360,21 @@
   repeated IDRange ranges = 2;
 }
 
+// RuntimeClassStrategyOptions define the strategy that will dictate the allowable RuntimeClasses
+// for a pod.
+message RuntimeClassStrategyOptions {
+  // allowedRuntimeClassNames is a whitelist of RuntimeClass names that may be specified on a pod.
+  // A value of "*" means that any RuntimeClass name is allowed, and must be the only item in the
+  // list. An empty list requires the RuntimeClassName field to be unset.
+  repeated string allowedRuntimeClassNames = 1;
+
+  // defaultRuntimeClassName is the default RuntimeClassName to set on the pod.
+  // The default MUST be allowed by the allowedRuntimeClassNames list.
+  // A value of nil does not mutate the Pod.
+  // +optional
+  optional string defaultRuntimeClassName = 2;
+}
+
 // SELinuxStrategyOptions defines the strategy type and any options used to create the strategy.
 message SELinuxStrategyOptions {
   // rule is the strategy that will dictate the allowable labels that may be set.