Merge pull request #40829 from mbohlool/separation

Automatic merge from submit-queue

Move post processing/backward compatibility of openapi out of generic package

Post processing step was put into generic package and was the same for both k8s api server and federation api server. They have different backward compatibility list of types. This PR move that step out of generic package and put it in each server's file.
This commit is contained in:
Kubernetes Submit Queue 2017-02-02 06:15:30 -08:00 committed by GitHub
commit 0e5cda9893
8 changed files with 1094 additions and 308 deletions

View File

@ -54,10 +54,12 @@ go_library(
"//plugin/pkg/admission/securitycontext/scdeny:go_default_library",
"//plugin/pkg/admission/serviceaccount:go_default_library",
"//plugin/pkg/admission/storageclass/default:go_default_library",
"//vendor:github.com/go-openapi/spec",
"//vendor:github.com/golang/glog",
"//vendor:github.com/pborman/uuid",
"//vendor:github.com/spf13/cobra",
"//vendor:github.com/spf13/pflag",
"//vendor:k8s.io/apimachinery/pkg/openapi",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/util/errors",
"//vendor:k8s.io/apimachinery/pkg/util/net",

View File

@ -30,11 +30,13 @@ import (
"strings"
"time"
"github.com/go-openapi/spec"
"github.com/golang/glog"
"github.com/pborman/uuid"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
"k8s.io/apimachinery/pkg/openapi"
"k8s.io/apimachinery/pkg/runtime/schema"
utilerrors "k8s.io/apimachinery/pkg/util/errors"
utilnet "k8s.io/apimachinery/pkg/util/net"
@ -296,6 +298,7 @@ func Run(s *options.ServerRunOptions) error {
genericConfig.Authorizer = apiAuthorizer
genericConfig.AdmissionControl = admissionController
genericConfig.OpenAPIConfig = genericapiserver.DefaultOpenAPIConfig(generatedopenapi.GetOpenAPIDefinitions)
genericConfig.OpenAPIConfig.PostProcessSpec = postProcessOpenAPISpecForBackwardCompatibility
genericConfig.OpenAPIConfig.SecurityDefinitions = securityDefinitions
genericConfig.OpenAPIConfig.Info.Title = "Kubernetes"
genericConfig.SwaggerConfig = genericapiserver.DefaultSwaggerConfig()
@ -346,3 +349,308 @@ func Run(s *options.ServerRunOptions) error {
m.GenericAPIServer.PrepareRun().Run(wait.NeverStop)
return nil
}
// PostProcessSpec adds removed definitions for backward compatibility
func postProcessOpenAPISpecForBackwardCompatibility(s *spec.Swagger) (*spec.Swagger, error) {
compatibilityMap := map[string]string{
"v1beta1.DeploymentStatus": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DeploymentStatus",
"v1beta1.ReplicaSetList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ReplicaSetList",
"v1beta1.Eviction": "k8s.io/kubernetes/pkg/apis/policy/v1beta1.Eviction",
"v1beta1.StatefulSetList": "k8s.io/kubernetes/pkg/apis/apps/v1beta1.StatefulSetList",
"v1beta1.RoleBinding": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.RoleBinding",
"v1beta1.PodSecurityPolicyList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.PodSecurityPolicyList",
"v1.NodeSpec": "k8s.io/kubernetes/pkg/api/v1.NodeSpec",
"v1.FlockerVolumeSource": "k8s.io/kubernetes/pkg/api/v1.FlockerVolumeSource",
"v1.ContainerState": "k8s.io/kubernetes/pkg/api/v1.ContainerState",
"v1beta1.ClusterRole": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.ClusterRole",
"v1beta1.StorageClass": "k8s.io/kubernetes/pkg/apis/storage/v1beta1.StorageClass",
"v1.FlexVolumeSource": "k8s.io/kubernetes/pkg/api/v1.FlexVolumeSource",
"v1.SecretKeySelector": "k8s.io/kubernetes/pkg/api/v1.SecretKeySelector",
"v1.DeleteOptions": "k8s.io/kubernetes/pkg/api/v1.DeleteOptions",
"v1.PodStatus": "k8s.io/kubernetes/pkg/api/v1.PodStatus",
"v1.NodeStatus": "k8s.io/kubernetes/pkg/api/v1.NodeStatus",
"v1.ServiceSpec": "k8s.io/kubernetes/pkg/api/v1.ServiceSpec",
"v1.AttachedVolume": "k8s.io/kubernetes/pkg/api/v1.AttachedVolume",
"v1.PersistentVolume": "k8s.io/kubernetes/pkg/api/v1.PersistentVolume",
"v1.LimitRangeList": "k8s.io/kubernetes/pkg/api/v1.LimitRangeList",
"v1alpha1.Role": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.Role",
"v1.Affinity": "k8s.io/kubernetes/pkg/api/v1.Affinity",
"v1beta1.PodDisruptionBudget": "k8s.io/kubernetes/pkg/apis/policy/v1beta1.PodDisruptionBudget",
"v1alpha1.RoleBindingList": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.RoleBindingList",
"v1.PodAffinity": "k8s.io/kubernetes/pkg/api/v1.PodAffinity",
"v1beta1.SELinuxStrategyOptions": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.SELinuxStrategyOptions",
"v1.ResourceQuotaList": "k8s.io/kubernetes/pkg/api/v1.ResourceQuotaList",
"v1.PodList": "k8s.io/kubernetes/pkg/api/v1.PodList",
"v1.EnvVarSource": "k8s.io/kubernetes/pkg/api/v1.EnvVarSource",
"v1beta1.TokenReviewStatus": "k8s.io/kubernetes/pkg/apis/authentication/v1beta1.TokenReviewStatus",
"v1.PersistentVolumeClaimList": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaimList",
"v1beta1.RoleList": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.RoleList",
"v1.ListMeta": "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta",
"v1.ObjectMeta": "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta",
"v1.APIGroupList": "k8s.io/apimachinery/pkg/apis/meta/v1.APIGroupList",
"v2alpha1.Job": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.Job",
"v1.EnvFromSource": "k8s.io/kubernetes/pkg/api/v1.EnvFromSource",
"v1beta1.IngressStatus": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IngressStatus",
"v1.Service": "k8s.io/kubernetes/pkg/api/v1.Service",
"v1beta1.DaemonSetStatus": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DaemonSetStatus",
"v1alpha1.Subject": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.Subject",
"v1.HorizontalPodAutoscaler": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.HorizontalPodAutoscaler",
"v1.StatusCause": "k8s.io/apimachinery/pkg/apis/meta/v1.StatusCause",
"v1.NodeSelectorRequirement": "k8s.io/kubernetes/pkg/api/v1.NodeSelectorRequirement",
"v1beta1.NetworkPolicyIngressRule": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.NetworkPolicyIngressRule",
"v1beta1.ThirdPartyResource": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ThirdPartyResource",
"v1beta1.PodSecurityPolicy": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.PodSecurityPolicy",
"v1beta1.StatefulSet": "k8s.io/kubernetes/pkg/apis/apps/v1beta1.StatefulSet",
"v1.LabelSelector": "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector",
"v1.ScaleSpec": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.ScaleSpec",
"v1.DownwardAPIVolumeFile": "k8s.io/kubernetes/pkg/api/v1.DownwardAPIVolumeFile",
"v1beta1.HorizontalPodAutoscaler": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HorizontalPodAutoscaler",
"v1.AWSElasticBlockStoreVolumeSource": "k8s.io/kubernetes/pkg/api/v1.AWSElasticBlockStoreVolumeSource",
"v1.ComponentStatus": "k8s.io/kubernetes/pkg/api/v1.ComponentStatus",
"v2alpha1.JobSpec": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.JobSpec",
"v1.ContainerImage": "k8s.io/kubernetes/pkg/api/v1.ContainerImage",
"v1.ReplicationControllerStatus": "k8s.io/kubernetes/pkg/api/v1.ReplicationControllerStatus",
"v1.ResourceQuota": "k8s.io/kubernetes/pkg/api/v1.ResourceQuota",
"v1beta1.NetworkPolicyList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.NetworkPolicyList",
"v1beta1.NonResourceAttributes": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.NonResourceAttributes",
"v1.JobCondition": "k8s.io/kubernetes/pkg/apis/batch/v1.JobCondition",
"v1.LabelSelectorRequirement": "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelectorRequirement",
"v1beta1.Deployment": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.Deployment",
"v1.LoadBalancerIngress": "k8s.io/kubernetes/pkg/api/v1.LoadBalancerIngress",
"v1.SecretList": "k8s.io/kubernetes/pkg/api/v1.SecretList",
"v1beta1.ReplicaSetSpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ReplicaSetSpec",
"v1beta1.RoleBindingList": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.RoleBindingList",
"v1.ServicePort": "k8s.io/kubernetes/pkg/api/v1.ServicePort",
"v1.Namespace": "k8s.io/kubernetes/pkg/api/v1.Namespace",
"v1beta1.NetworkPolicyPeer": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.NetworkPolicyPeer",
"v1.ReplicationControllerList": "k8s.io/kubernetes/pkg/api/v1.ReplicationControllerList",
"v1beta1.ReplicaSetCondition": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ReplicaSetCondition",
"v1.ReplicationControllerCondition": "k8s.io/kubernetes/pkg/api/v1.ReplicationControllerCondition",
"v1.DaemonEndpoint": "k8s.io/kubernetes/pkg/api/v1.DaemonEndpoint",
"v1beta1.NetworkPolicyPort": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.NetworkPolicyPort",
"v1.NodeSystemInfo": "k8s.io/kubernetes/pkg/api/v1.NodeSystemInfo",
"v1.LimitRangeItem": "k8s.io/kubernetes/pkg/api/v1.LimitRangeItem",
"v1.ConfigMapVolumeSource": "k8s.io/kubernetes/pkg/api/v1.ConfigMapVolumeSource",
"v1beta1.ClusterRoleList": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.ClusterRoleList",
"v1beta1.ResourceAttributes": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.ResourceAttributes",
"v1.Pod": "k8s.io/kubernetes/pkg/api/v1.Pod",
"v1.FCVolumeSource": "k8s.io/kubernetes/pkg/api/v1.FCVolumeSource",
"v1beta1.SubresourceReference": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.SubresourceReference",
"v1.ResourceQuotaStatus": "k8s.io/kubernetes/pkg/api/v1.ResourceQuotaStatus",
"v1alpha1.RoleBinding": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.RoleBinding",
"v1.PodCondition": "k8s.io/kubernetes/pkg/api/v1.PodCondition",
"v1.GroupVersionForDiscovery": "k8s.io/apimachinery/pkg/apis/meta/v1.GroupVersionForDiscovery",
"v1.NamespaceStatus": "k8s.io/kubernetes/pkg/api/v1.NamespaceStatus",
"v1.Job": "k8s.io/kubernetes/pkg/apis/batch/v1.Job",
"v1.PersistentVolumeClaimVolumeSource": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaimVolumeSource",
"v1.Handler": "k8s.io/kubernetes/pkg/api/v1.Handler",
"v1.ComponentStatusList": "k8s.io/kubernetes/pkg/api/v1.ComponentStatusList",
"v1.ServerAddressByClientCIDR": "k8s.io/apimachinery/pkg/apis/meta/v1.ServerAddressByClientCIDR",
"v1.PodAntiAffinity": "k8s.io/kubernetes/pkg/api/v1.PodAntiAffinity",
"v1.ISCSIVolumeSource": "k8s.io/kubernetes/pkg/api/v1.ISCSIVolumeSource",
"v1.ContainerStateRunning": "k8s.io/kubernetes/pkg/api/v1.ContainerStateRunning",
"v1.WeightedPodAffinityTerm": "k8s.io/kubernetes/pkg/api/v1.WeightedPodAffinityTerm",
"v1beta1.HostPortRange": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HostPortRange",
"v1.HorizontalPodAutoscalerSpec": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.HorizontalPodAutoscalerSpec",
"v1.HorizontalPodAutoscalerList": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.HorizontalPodAutoscalerList",
"v1beta1.RoleRef": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.RoleRef",
"v1.Probe": "k8s.io/kubernetes/pkg/api/v1.Probe",
"v1beta1.IngressTLS": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IngressTLS",
"v1beta1.ThirdPartyResourceList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ThirdPartyResourceList",
"v1beta1.DaemonSet": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DaemonSet",
"v1.APIGroup": "k8s.io/apimachinery/pkg/apis/meta/v1.APIGroup",
"v1beta1.Subject": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.Subject",
"v1beta1.DeploymentList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DeploymentList",
"v1.NodeAffinity": "k8s.io/kubernetes/pkg/api/v1.NodeAffinity",
"v1beta1.RollingUpdateDeployment": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.RollingUpdateDeployment",
"v1beta1.APIVersion": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.APIVersion",
"v1alpha1.CertificateSigningRequest": "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1.CertificateSigningRequest",
"v1.CinderVolumeSource": "k8s.io/kubernetes/pkg/api/v1.CinderVolumeSource",
"v1.NamespaceSpec": "k8s.io/kubernetes/pkg/api/v1.NamespaceSpec",
"v1beta1.PodDisruptionBudgetSpec": "k8s.io/kubernetes/pkg/apis/policy/v1beta1.PodDisruptionBudgetSpec",
"v1.Patch": "k8s.io/apimachinery/pkg/apis/meta/v1.Patch",
"v1beta1.ClusterRoleBinding": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.ClusterRoleBinding",
"v1beta1.HorizontalPodAutoscalerSpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HorizontalPodAutoscalerSpec",
"v1.PersistentVolumeClaimSpec": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaimSpec",
"v1.Secret": "k8s.io/kubernetes/pkg/api/v1.Secret",
"v1.NodeCondition": "k8s.io/kubernetes/pkg/api/v1.NodeCondition",
"v1.LocalObjectReference": "k8s.io/kubernetes/pkg/api/v1.LocalObjectReference",
"runtime.RawExtension": "k8s.io/apimachinery/pkg/runtime.RawExtension",
"v1.PreferredSchedulingTerm": "k8s.io/kubernetes/pkg/api/v1.PreferredSchedulingTerm",
"v1.RBDVolumeSource": "k8s.io/kubernetes/pkg/api/v1.RBDVolumeSource",
"v1.KeyToPath": "k8s.io/kubernetes/pkg/api/v1.KeyToPath",
"v1.ScaleStatus": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.ScaleStatus",
"v1alpha1.PolicyRule": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.PolicyRule",
"v1.EndpointPort": "k8s.io/kubernetes/pkg/api/v1.EndpointPort",
"v1beta1.IngressList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IngressList",
"v1.EndpointAddress": "k8s.io/kubernetes/pkg/api/v1.EndpointAddress",
"v1.NodeSelector": "k8s.io/kubernetes/pkg/api/v1.NodeSelector",
"v1beta1.StorageClassList": "k8s.io/kubernetes/pkg/apis/storage/v1beta1.StorageClassList",
"v1.ServiceList": "k8s.io/kubernetes/pkg/api/v1.ServiceList",
"v2alpha1.CronJobSpec": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.CronJobSpec",
"v1.ContainerStateTerminated": "k8s.io/kubernetes/pkg/api/v1.ContainerStateTerminated",
"v1beta1.TokenReview": "k8s.io/kubernetes/pkg/apis/authentication/v1beta1.TokenReview",
"v1beta1.IngressBackend": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IngressBackend",
"v1.Time": "k8s.io/apimachinery/pkg/apis/meta/v1.Time",
"v1beta1.IngressSpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IngressSpec",
"v2alpha1.JobTemplateSpec": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.JobTemplateSpec",
"v1.LimitRange": "k8s.io/kubernetes/pkg/api/v1.LimitRange",
"v1beta1.UserInfo": "k8s.io/kubernetes/pkg/apis/authentication/v1beta1.UserInfo",
"v1.ResourceQuotaSpec": "k8s.io/kubernetes/pkg/api/v1.ResourceQuotaSpec",
"v1.ContainerPort": "k8s.io/kubernetes/pkg/api/v1.ContainerPort",
"v1beta1.HTTPIngressRuleValue": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HTTPIngressRuleValue",
"v1.AzureFileVolumeSource": "k8s.io/kubernetes/pkg/api/v1.AzureFileVolumeSource",
"v1beta1.NetworkPolicySpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.NetworkPolicySpec",
"v1.PodTemplateSpec": "k8s.io/kubernetes/pkg/api/v1.PodTemplateSpec",
"v1.SecretVolumeSource": "k8s.io/kubernetes/pkg/api/v1.SecretVolumeSource",
"v1.PodSpec": "k8s.io/kubernetes/pkg/api/v1.PodSpec",
"v1.CephFSVolumeSource": "k8s.io/kubernetes/pkg/api/v1.CephFSVolumeSource",
"v1beta1.CPUTargetUtilization": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.CPUTargetUtilization",
"v1.Volume": "k8s.io/kubernetes/pkg/api/v1.Volume",
"v1beta1.Ingress": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.Ingress",
"v1beta1.HorizontalPodAutoscalerList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HorizontalPodAutoscalerList",
"v1.PersistentVolumeStatus": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeStatus",
"v1beta1.IDRange": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IDRange",
"v2alpha1.JobCondition": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.JobCondition",
"v1beta1.IngressRule": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IngressRule",
"v1alpha1.RoleRef": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.RoleRef",
"v1.PodAffinityTerm": "k8s.io/kubernetes/pkg/api/v1.PodAffinityTerm",
"v1.ObjectReference": "k8s.io/kubernetes/pkg/api/v1.ObjectReference",
"v1.ServiceStatus": "k8s.io/kubernetes/pkg/api/v1.ServiceStatus",
"v1.APIResource": "k8s.io/apimachinery/pkg/apis/meta/v1.APIResource",
"v1beta1.Scale": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.Scale",
"v1.AzureDiskVolumeSource": "k8s.io/kubernetes/pkg/api/v1.AzureDiskVolumeSource",
"v1beta1.SubjectAccessReviewStatus": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.SubjectAccessReviewStatus",
"v1.ConfigMap": "k8s.io/kubernetes/pkg/api/v1.ConfigMap",
"v1.CrossVersionObjectReference": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.CrossVersionObjectReference",
"v1.APIVersions": "k8s.io/apimachinery/pkg/apis/meta/v1.APIVersions",
"v1alpha1.ClusterRoleList": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.ClusterRoleList",
"v1.Node": "k8s.io/kubernetes/pkg/api/v1.Node",
"resource.Quantity": "k8s.io/kubernetes/pkg/api/resource.Quantity",
"v1.Event": "k8s.io/kubernetes/pkg/api/v1.Event",
"v1.JobStatus": "k8s.io/kubernetes/pkg/apis/batch/v1.JobStatus",
"v1.PersistentVolumeSpec": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeSpec",
"v1beta1.SubjectAccessReviewSpec": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.SubjectAccessReviewSpec",
"v1.ResourceFieldSelector": "k8s.io/kubernetes/pkg/api/v1.ResourceFieldSelector",
"v1.EndpointSubset": "k8s.io/kubernetes/pkg/api/v1.EndpointSubset",
"v1alpha1.CertificateSigningRequestSpec": "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1.CertificateSigningRequestSpec",
"v1.HostPathVolumeSource": "k8s.io/kubernetes/pkg/api/v1.HostPathVolumeSource",
"v1.LoadBalancerStatus": "k8s.io/kubernetes/pkg/api/v1.LoadBalancerStatus",
"v1beta1.HTTPIngressPath": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HTTPIngressPath",
"v1beta1.Role": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.Role",
"v1beta1.DeploymentStrategy": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DeploymentStrategy",
"v1beta1.RunAsUserStrategyOptions": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.RunAsUserStrategyOptions",
"v1beta1.DeploymentSpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DeploymentSpec",
"v1.ExecAction": "k8s.io/kubernetes/pkg/api/v1.ExecAction",
"v1beta1.PodSecurityPolicySpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.PodSecurityPolicySpec",
"v1.HorizontalPodAutoscalerStatus": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.HorizontalPodAutoscalerStatus",
"v1.PersistentVolumeList": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeList",
"v1alpha1.ClusterRole": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.ClusterRole",
"v1.JobSpec": "k8s.io/kubernetes/pkg/apis/batch/v1.JobSpec",
"v1beta1.DaemonSetSpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DaemonSetSpec",
"v2alpha1.CronJobList": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.CronJobList",
"v1.Endpoints": "k8s.io/kubernetes/pkg/api/v1.Endpoints",
"v1.SELinuxOptions": "k8s.io/kubernetes/pkg/api/v1.SELinuxOptions",
"v1beta1.SelfSubjectAccessReviewSpec": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.SelfSubjectAccessReviewSpec",
"v1beta1.ScaleStatus": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ScaleStatus",
"v1.NodeSelectorTerm": "k8s.io/kubernetes/pkg/api/v1.NodeSelectorTerm",
"v1alpha1.CertificateSigningRequestStatus": "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1.CertificateSigningRequestStatus",
"v1.StatusDetails": "k8s.io/apimachinery/pkg/apis/meta/v1.StatusDetails",
"v2alpha1.JobStatus": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.JobStatus",
"v1beta1.DeploymentRollback": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DeploymentRollback",
"v1.GlusterfsVolumeSource": "k8s.io/kubernetes/pkg/api/v1.GlusterfsVolumeSource",
"v1.ServiceAccountList": "k8s.io/kubernetes/pkg/api/v1.ServiceAccountList",
"v1.JobList": "k8s.io/kubernetes/pkg/apis/batch/v1.JobList",
"v1.EventList": "k8s.io/kubernetes/pkg/api/v1.EventList",
"v1.ContainerStateWaiting": "k8s.io/kubernetes/pkg/api/v1.ContainerStateWaiting",
"v1.APIResourceList": "k8s.io/apimachinery/pkg/apis/meta/v1.APIResourceList",
"v1.ContainerStatus": "k8s.io/kubernetes/pkg/api/v1.ContainerStatus",
"v2alpha1.JobList": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.JobList",
"v1.ConfigMapKeySelector": "k8s.io/kubernetes/pkg/api/v1.ConfigMapKeySelector",
"v1.PhotonPersistentDiskVolumeSource": "k8s.io/kubernetes/pkg/api/v1.PhotonPersistentDiskVolumeSource",
"v1.PodTemplateList": "k8s.io/kubernetes/pkg/api/v1.PodTemplateList",
"v1.PersistentVolumeClaimStatus": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaimStatus",
"v1.ServiceAccount": "k8s.io/kubernetes/pkg/api/v1.ServiceAccount",
"v1alpha1.CertificateSigningRequestList": "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1.CertificateSigningRequestList",
"v1beta1.SupplementalGroupsStrategyOptions": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.SupplementalGroupsStrategyOptions",
"v1.HTTPHeader": "k8s.io/kubernetes/pkg/api/v1.HTTPHeader",
"version.Info": "k8s.io/apimachinery/pkg/version.Info",
"v1.EventSource": "k8s.io/kubernetes/pkg/api/v1.EventSource",
"v1alpha1.ClusterRoleBindingList": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.ClusterRoleBindingList",
"v1.OwnerReference": "k8s.io/apimachinery/pkg/apis/meta/v1.OwnerReference",
"v1beta1.ClusterRoleBindingList": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.ClusterRoleBindingList",
"v1beta1.ScaleSpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ScaleSpec",
"v1.GitRepoVolumeSource": "k8s.io/kubernetes/pkg/api/v1.GitRepoVolumeSource",
"v1beta1.NetworkPolicy": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.NetworkPolicy",
"v1.ConfigMapEnvSource": "k8s.io/kubernetes/pkg/api/v1.ConfigMapEnvSource",
"v1.PodTemplate": "k8s.io/kubernetes/pkg/api/v1.PodTemplate",
"v1beta1.DeploymentCondition": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DeploymentCondition",
"v1beta1.PodDisruptionBudgetStatus": "k8s.io/kubernetes/pkg/apis/policy/v1beta1.PodDisruptionBudgetStatus",
"v1.EnvVar": "k8s.io/kubernetes/pkg/api/v1.EnvVar",
"v1.LimitRangeSpec": "k8s.io/kubernetes/pkg/api/v1.LimitRangeSpec",
"v1.DownwardAPIVolumeSource": "k8s.io/kubernetes/pkg/api/v1.DownwardAPIVolumeSource",
"v1.NodeDaemonEndpoints": "k8s.io/kubernetes/pkg/api/v1.NodeDaemonEndpoints",
"v1.ComponentCondition": "k8s.io/kubernetes/pkg/api/v1.ComponentCondition",
"v1alpha1.CertificateSigningRequestCondition": "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1.CertificateSigningRequestCondition",
"v1.SecurityContext": "k8s.io/kubernetes/pkg/api/v1.SecurityContext",
"v1beta1.LocalSubjectAccessReview": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.LocalSubjectAccessReview",
"v1beta1.StatefulSetSpec": "k8s.io/kubernetes/pkg/apis/apps/v1beta1.StatefulSetSpec",
"v1.NodeAddress": "k8s.io/kubernetes/pkg/api/v1.NodeAddress",
"v1.QuobyteVolumeSource": "k8s.io/kubernetes/pkg/api/v1.QuobyteVolumeSource",
"v1.Capabilities": "k8s.io/kubernetes/pkg/api/v1.Capabilities",
"v1.GCEPersistentDiskVolumeSource": "k8s.io/kubernetes/pkg/api/v1.GCEPersistentDiskVolumeSource",
"v1beta1.ReplicaSet": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ReplicaSet",
"v1beta1.HorizontalPodAutoscalerStatus": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HorizontalPodAutoscalerStatus",
"v1beta1.PolicyRule": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.PolicyRule",
"v1.ConfigMapList": "k8s.io/kubernetes/pkg/api/v1.ConfigMapList",
"v1.Lifecycle": "k8s.io/kubernetes/pkg/api/v1.Lifecycle",
"v1beta1.SelfSubjectAccessReview": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.SelfSubjectAccessReview",
"v2alpha1.CronJob": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.CronJob",
"v2alpha1.CronJobStatus": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.CronJobStatus",
"v1beta1.SubjectAccessReview": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.SubjectAccessReview",
"v1.Preconditions": "k8s.io/kubernetes/pkg/api/v1.Preconditions",
"v1beta1.DaemonSetList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DaemonSetList",
"v1.PersistentVolumeClaim": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaim",
"v1.Scale": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.Scale",
"v1beta1.StatefulSetStatus": "k8s.io/kubernetes/pkg/apis/apps/v1beta1.StatefulSetStatus",
"v1.NFSVolumeSource": "k8s.io/kubernetes/pkg/api/v1.NFSVolumeSource",
"v1.ObjectFieldSelector": "k8s.io/kubernetes/pkg/api/v1.ObjectFieldSelector",
"v1.ResourceRequirements": "k8s.io/kubernetes/pkg/api/v1.ResourceRequirements",
"v1.WatchEvent": "k8s.io/apimachinery/pkg/apis/meta/v1.WatchEvent",
"v1.ReplicationControllerSpec": "k8s.io/kubernetes/pkg/api/v1.ReplicationControllerSpec",
"v1.HTTPGetAction": "k8s.io/kubernetes/pkg/api/v1.HTTPGetAction",
"v1beta1.RollbackConfig": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.RollbackConfig",
"v1beta1.TokenReviewSpec": "k8s.io/kubernetes/pkg/apis/authentication/v1beta1.TokenReviewSpec",
"v1.PodSecurityContext": "k8s.io/kubernetes/pkg/api/v1.PodSecurityContext",
"v1beta1.PodDisruptionBudgetList": "k8s.io/kubernetes/pkg/apis/policy/v1beta1.PodDisruptionBudgetList",
"v1.VolumeMount": "k8s.io/kubernetes/pkg/api/v1.VolumeMount",
"v1.ReplicationController": "k8s.io/kubernetes/pkg/api/v1.ReplicationController",
"v1.NamespaceList": "k8s.io/kubernetes/pkg/api/v1.NamespaceList",
"v1alpha1.ClusterRoleBinding": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.ClusterRoleBinding",
"v1.TCPSocketAction": "k8s.io/kubernetes/pkg/api/v1.TCPSocketAction",
"v1.Binding": "k8s.io/kubernetes/pkg/api/v1.Binding",
"v1beta1.ReplicaSetStatus": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ReplicaSetStatus",
"intstr.IntOrString": "k8s.io/kubernetes/pkg/util/intstr.IntOrString",
"v1.EndpointsList": "k8s.io/kubernetes/pkg/api/v1.EndpointsList",
"v1.Container": "k8s.io/kubernetes/pkg/api/v1.Container",
"v1alpha1.RoleList": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.RoleList",
"v1.VsphereVirtualDiskVolumeSource": "k8s.io/kubernetes/pkg/api/v1.VsphereVirtualDiskVolumeSource",
"v1.NodeList": "k8s.io/kubernetes/pkg/api/v1.NodeList",
"v1.EmptyDirVolumeSource": "k8s.io/kubernetes/pkg/api/v1.EmptyDirVolumeSource",
"v1beta1.FSGroupStrategyOptions": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.FSGroupStrategyOptions",
"v1.Status": "k8s.io/apimachinery/pkg/apis/meta/v1.Status",
}
for k, v := range compatibilityMap {
if _, found := s.Definitions[v]; !found {
continue
}
s.Definitions[k] = spec.Schema{
SchemaProps: spec.SchemaProps{
Ref: spec.MustCreateRef("#/definitions/" + openapi.EscapeJsonPointer(v)),
Description: fmt.Sprintf("Deprecated. Please use %s instead.", v),
},
}
}
return s, nil
}

View File

@ -10384,6 +10384,10 @@
}
},
"definitions": {
"intstr.IntOrString": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.util.intstr.IntOrString instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
},
"io.k8s.apimachinery.pkg.api.resource.Quantity": {
"type": "string"
},
@ -14335,6 +14339,610 @@
"type": "string"
}
}
},
"resource.Quantity": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.api.resource.Quantity instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
},
"runtime.RawExtension": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.runtime.RawExtension instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension"
},
"v1.APIGroup": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup"
},
"v1.APIGroupList": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.APIGroupList instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroupList"
},
"v1.APIResource": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.APIResource instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource"
},
"v1.APIResourceList": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList"
},
"v1.APIVersions": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.APIVersions instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIVersions"
},
"v1.AWSElasticBlockStoreVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.AWSElasticBlockStoreVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.AWSElasticBlockStoreVolumeSource"
},
"v1.Affinity": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.Affinity instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Affinity"
},
"v1.AzureDiskVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.AzureDiskVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.AzureDiskVolumeSource"
},
"v1.AzureFileVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.AzureFileVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.AzureFileVolumeSource"
},
"v1.Capabilities": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.Capabilities instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Capabilities"
},
"v1.CephFSVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.CephFSVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.CephFSVolumeSource"
},
"v1.CinderVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.CinderVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.CinderVolumeSource"
},
"v1.ConfigMap": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ConfigMap instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMap"
},
"v1.ConfigMapEnvSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ConfigMapEnvSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMapEnvSource"
},
"v1.ConfigMapKeySelector": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ConfigMapKeySelector instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMapKeySelector"
},
"v1.ConfigMapList": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ConfigMapList instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMapList"
},
"v1.ConfigMapVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ConfigMapVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ConfigMapVolumeSource"
},
"v1.Container": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.Container instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Container"
},
"v1.ContainerPort": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ContainerPort instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ContainerPort"
},
"v1.CrossVersionObjectReference": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.autoscaling.v1.CrossVersionObjectReference instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.CrossVersionObjectReference"
},
"v1.DeleteOptions": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions"
},
"v1.DownwardAPIVolumeFile": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeFile instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeFile"
},
"v1.DownwardAPIVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeSource"
},
"v1.EmptyDirVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.EmptyDirVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EmptyDirVolumeSource"
},
"v1.EnvFromSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.EnvFromSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EnvFromSource"
},
"v1.EnvVar": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.EnvVar instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EnvVar"
},
"v1.EnvVarSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.EnvVarSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EnvVarSource"
},
"v1.Event": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.Event instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Event"
},
"v1.EventList": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.EventList instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EventList"
},
"v1.EventSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.EventSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.EventSource"
},
"v1.ExecAction": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ExecAction instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ExecAction"
},
"v1.FCVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.FCVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.FCVolumeSource"
},
"v1.FlexVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.FlexVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.FlexVolumeSource"
},
"v1.FlockerVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.FlockerVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.FlockerVolumeSource"
},
"v1.GCEPersistentDiskVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.GCEPersistentDiskVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.GCEPersistentDiskVolumeSource"
},
"v1.GitRepoVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.GitRepoVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.GitRepoVolumeSource"
},
"v1.GlusterfsVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.GlusterfsVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.GlusterfsVolumeSource"
},
"v1.GroupVersionForDiscovery": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery"
},
"v1.HTTPGetAction": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.HTTPGetAction instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.HTTPGetAction"
},
"v1.HTTPHeader": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.HTTPHeader instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.HTTPHeader"
},
"v1.Handler": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.Handler instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Handler"
},
"v1.HorizontalPodAutoscaler": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler"
},
"v1.HorizontalPodAutoscalerList": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerList instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerList"
},
"v1.HorizontalPodAutoscalerSpec": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerSpec instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerSpec"
},
"v1.HorizontalPodAutoscalerStatus": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerStatus instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerStatus"
},
"v1.HostPathVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.HostPathVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.HostPathVolumeSource"
},
"v1.ISCSIVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ISCSIVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ISCSIVolumeSource"
},
"v1.Job": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.batch.v1.Job instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.Job"
},
"v1.JobCondition": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.batch.v1.JobCondition instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.JobCondition"
},
"v1.JobList": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.batch.v1.JobList instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.JobList"
},
"v1.JobSpec": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.batch.v1.JobSpec instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.JobSpec"
},
"v1.JobStatus": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.batch.v1.JobStatus instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.batch.v1.JobStatus"
},
"v1.KeyToPath": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.KeyToPath instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.KeyToPath"
},
"v1.LabelSelector": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
},
"v1.LabelSelectorRequirement": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement"
},
"v1.Lifecycle": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.Lifecycle instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Lifecycle"
},
"v1.ListMeta": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta"
},
"v1.LoadBalancerIngress": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.LoadBalancerIngress instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LoadBalancerIngress"
},
"v1.LoadBalancerStatus": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.LoadBalancerStatus instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LoadBalancerStatus"
},
"v1.LocalObjectReference": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.LocalObjectReference instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.LocalObjectReference"
},
"v1.NFSVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.NFSVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NFSVolumeSource"
},
"v1.Namespace": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.Namespace instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Namespace"
},
"v1.NamespaceList": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.NamespaceList instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NamespaceList"
},
"v1.NamespaceSpec": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.NamespaceSpec instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NamespaceSpec"
},
"v1.NamespaceStatus": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.NamespaceStatus instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NamespaceStatus"
},
"v1.NodeAffinity": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.NodeAffinity instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeAffinity"
},
"v1.NodeSelector": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.NodeSelector instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeSelector"
},
"v1.NodeSelectorRequirement": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.NodeSelectorRequirement instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeSelectorRequirement"
},
"v1.NodeSelectorTerm": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.NodeSelectorTerm instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.NodeSelectorTerm"
},
"v1.ObjectFieldSelector": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ObjectFieldSelector instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ObjectFieldSelector"
},
"v1.ObjectMeta": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
},
"v1.ObjectReference": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ObjectReference instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ObjectReference"
},
"v1.OwnerReference": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
},
"v1.Patch": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.Patch instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch"
},
"v1.PersistentVolumeClaimVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimVolumeSource"
},
"v1.PhotonPersistentDiskVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.PhotonPersistentDiskVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PhotonPersistentDiskVolumeSource"
},
"v1.PodAffinity": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.PodAffinity instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodAffinity"
},
"v1.PodAffinityTerm": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.PodAffinityTerm instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodAffinityTerm"
},
"v1.PodAntiAffinity": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.PodAntiAffinity instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodAntiAffinity"
},
"v1.PodSecurityContext": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.PodSecurityContext instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodSecurityContext"
},
"v1.PodSpec": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.PodSpec instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodSpec"
},
"v1.PodTemplateSpec": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.PodTemplateSpec instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PodTemplateSpec"
},
"v1.Preconditions": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions"
},
"v1.PreferredSchedulingTerm": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.PreferredSchedulingTerm instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.PreferredSchedulingTerm"
},
"v1.Probe": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.Probe instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Probe"
},
"v1.QuobyteVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.QuobyteVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.QuobyteVolumeSource"
},
"v1.RBDVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.RBDVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.RBDVolumeSource"
},
"v1.ResourceFieldSelector": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ResourceFieldSelector instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceFieldSelector"
},
"v1.ResourceRequirements": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ResourceRequirements instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ResourceRequirements"
},
"v1.SELinuxOptions": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.SELinuxOptions instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SELinuxOptions"
},
"v1.Secret": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.Secret instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Secret"
},
"v1.SecretEnvSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.SecretEnvSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecretEnvSource"
},
"v1.SecretKeySelector": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.SecretKeySelector instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecretKeySelector"
},
"v1.SecretList": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.SecretList instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecretList"
},
"v1.SecretVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.SecretVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecretVolumeSource"
},
"v1.SecurityContext": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.SecurityContext instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.SecurityContext"
},
"v1.ServerAddressByClientCIDR": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR"
},
"v1.Service": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.Service instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Service"
},
"v1.ServiceList": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ServiceList instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceList"
},
"v1.ServicePort": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ServicePort instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServicePort"
},
"v1.ServiceSpec": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ServiceSpec instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceSpec"
},
"v1.ServiceStatus": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.ServiceStatus instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.ServiceStatus"
},
"v1.Status": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.Status instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status"
},
"v1.StatusCause": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause"
},
"v1.StatusDetails": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails"
},
"v1.TCPSocketAction": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.TCPSocketAction instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.TCPSocketAction"
},
"v1.Time": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.Time instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
},
"v1.Volume": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.Volume instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.Volume"
},
"v1.VolumeMount": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.VolumeMount instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.VolumeMount"
},
"v1.VsphereVirtualDiskVolumeSource": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.VsphereVirtualDiskVolumeSource instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.VsphereVirtualDiskVolumeSource"
},
"v1.WatchEvent": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent"
},
"v1.WeightedPodAffinityTerm": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.api.v1.WeightedPodAffinityTerm instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.api.v1.WeightedPodAffinityTerm"
},
"v1beta1.Cluster": {
"description": "Deprecated. Please use io.k8s.kubernetes.federation.apis.federation.v1beta1.Cluster instead.",
"$ref": "#/definitions/io.k8s.kubernetes.federation.apis.federation.v1beta1.Cluster"
},
"v1beta1.ClusterCondition": {
"description": "Deprecated. Please use io.k8s.kubernetes.federation.apis.federation.v1beta1.ClusterCondition instead.",
"$ref": "#/definitions/io.k8s.kubernetes.federation.apis.federation.v1beta1.ClusterCondition"
},
"v1beta1.ClusterList": {
"description": "Deprecated. Please use io.k8s.kubernetes.federation.apis.federation.v1beta1.ClusterList instead.",
"$ref": "#/definitions/io.k8s.kubernetes.federation.apis.federation.v1beta1.ClusterList"
},
"v1beta1.ClusterSpec": {
"description": "Deprecated. Please use io.k8s.kubernetes.federation.apis.federation.v1beta1.ClusterSpec instead.",
"$ref": "#/definitions/io.k8s.kubernetes.federation.apis.federation.v1beta1.ClusterSpec"
},
"v1beta1.ClusterStatus": {
"description": "Deprecated. Please use io.k8s.kubernetes.federation.apis.federation.v1beta1.ClusterStatus instead.",
"$ref": "#/definitions/io.k8s.kubernetes.federation.apis.federation.v1beta1.ClusterStatus"
},
"v1beta1.DaemonSet": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet"
},
"v1beta1.DaemonSetList": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetList instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetList"
},
"v1beta1.DaemonSetSpec": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetSpec instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetSpec"
},
"v1beta1.DaemonSetStatus": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetStatus instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetStatus"
},
"v1beta1.Deployment": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment"
},
"v1beta1.DeploymentCondition": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentCondition instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentCondition"
},
"v1beta1.DeploymentList": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentList instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentList"
},
"v1beta1.DeploymentRollback": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentRollback instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentRollback"
},
"v1beta1.DeploymentSpec": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentSpec instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentSpec"
},
"v1beta1.DeploymentStatus": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentStatus instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentStatus"
},
"v1beta1.DeploymentStrategy": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentStrategy instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentStrategy"
},
"v1beta1.HTTPIngressPath": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.HTTPIngressPath instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.HTTPIngressPath"
},
"v1beta1.HTTPIngressRuleValue": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.HTTPIngressRuleValue instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.HTTPIngressRuleValue"
},
"v1beta1.Ingress": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress"
},
"v1beta1.IngressBackend": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressBackend instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressBackend"
},
"v1beta1.IngressList": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressList instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressList"
},
"v1beta1.IngressRule": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressRule instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressRule"
},
"v1beta1.IngressSpec": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressSpec instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressSpec"
},
"v1beta1.IngressStatus": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressStatus instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressStatus"
},
"v1beta1.IngressTLS": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressTLS instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressTLS"
},
"v1beta1.ReplicaSet": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet"
},
"v1beta1.ReplicaSetCondition": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetCondition instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetCondition"
},
"v1beta1.ReplicaSetList": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetList instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetList"
},
"v1beta1.ReplicaSetSpec": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetSpec instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetSpec"
},
"v1beta1.ReplicaSetStatus": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetStatus instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetStatus"
},
"v1beta1.RollbackConfig": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RollbackConfig instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RollbackConfig"
},
"v1beta1.RollingUpdateDeployment": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RollingUpdateDeployment instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RollingUpdateDeployment"
},
"v1beta1.Scale": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale"
},
"v1beta1.ScaleSpec": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ScaleSpec instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ScaleSpec"
},
"v1beta1.ScaleStatus": {
"description": "Deprecated. Please use io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ScaleStatus instead.",
"$ref": "#/definitions/io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ScaleStatus"
},
"v1beta1.ServerAddressByClientCIDR": {
"description": "Deprecated. Please use io.k8s.kubernetes.federation.apis.federation.v1beta1.ServerAddressByClientCIDR instead.",
"$ref": "#/definitions/io.k8s.kubernetes.federation.apis.federation.v1beta1.ServerAddressByClientCIDR"
},
"version.Info": {
"description": "Deprecated. Please use io.k8s.apimachinery.pkg.version.Info instead.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.version.Info"
}
},
"securityDefinitions": {

View File

@ -63,10 +63,12 @@ go_library(
"//plugin/pkg/admission/deny:go_default_library",
"//plugin/pkg/admission/gc:go_default_library",
"//plugin/pkg/admission/namespace/lifecycle:go_default_library",
"//vendor:github.com/go-openapi/spec",
"//vendor:github.com/golang/glog",
"//vendor:github.com/pborman/uuid",
"//vendor:github.com/spf13/cobra",
"//vendor:github.com/spf13/pflag",
"//vendor:k8s.io/apimachinery/pkg/openapi",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apimachinery/pkg/util/errors",
"//vendor:k8s.io/apimachinery/pkg/util/sets",

View File

@ -24,11 +24,13 @@ import (
"strings"
"time"
"github.com/go-openapi/spec"
"github.com/golang/glog"
"github.com/pborman/uuid"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
apimachineryopenapi "k8s.io/apimachinery/pkg/openapi"
"k8s.io/apimachinery/pkg/runtime/schema"
utilerrors "k8s.io/apimachinery/pkg/util/errors"
"k8s.io/apimachinery/pkg/util/sets"
@ -176,6 +178,7 @@ func Run(s *options.ServerRunOptions) error {
genericConfig.Authorizer = apiAuthorizer
genericConfig.AdmissionControl = admissionController
genericConfig.OpenAPIConfig = genericapiserver.DefaultOpenAPIConfig(openapi.GetOpenAPIDefinitions)
genericConfig.OpenAPIConfig.PostProcessSpec = postProcessOpenAPISpecForBackwardCompatibility
genericConfig.OpenAPIConfig.SecurityDefinitions = securityDefinitions
genericConfig.SwaggerConfig = genericapiserver.DefaultSwaggerConfig()
genericConfig.LongRunningFunc = filters.BasicLongRunningRequestCheck(
@ -240,3 +243,174 @@ func (f *restOptionsFactory) GetRESTOptions(resource schema.GroupResource) (gene
ResourcePrefix: f.storageFactory.ResourcePrefix(resource),
}, nil
}
// PostProcessSpec adds removed definitions for backward compatibility
func postProcessOpenAPISpecForBackwardCompatibility(s *spec.Swagger) (*spec.Swagger, error) {
compatibilityMap := map[string]string{
"v1beta1.ReplicaSetList": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetList",
"v1.FlockerVolumeSource": "io.k8s.kubernetes.pkg.api.v1.FlockerVolumeSource",
"v1.FlexVolumeSource": "io.k8s.kubernetes.pkg.api.v1.FlexVolumeSource",
"v1.SecretKeySelector": "io.k8s.kubernetes.pkg.api.v1.SecretKeySelector",
"v1.DeleteOptions": "io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions",
"v1.ServiceSpec": "io.k8s.kubernetes.pkg.api.v1.ServiceSpec",
"v1.NamespaceStatus": "io.k8s.kubernetes.pkg.api.v1.NamespaceStatus",
"v1.Affinity": "io.k8s.kubernetes.pkg.api.v1.Affinity",
"v1.PodAffinity": "io.k8s.kubernetes.pkg.api.v1.PodAffinity",
"v1.EnvVarSource": "io.k8s.kubernetes.pkg.api.v1.EnvVarSource",
"v1.ListMeta": "io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta",
"v1.ObjectMeta": "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta",
"v1.APIGroupList": "io.k8s.apimachinery.pkg.apis.meta.v1.APIGroupList",
"v1.EnvFromSource": "io.k8s.kubernetes.pkg.api.v1.EnvFromSource",
"v1.Service": "io.k8s.kubernetes.pkg.api.v1.Service",
"v1.HorizontalPodAutoscaler": "io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscaler",
"v1.StatusCause": "io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause",
"v1.ObjectFieldSelector": "io.k8s.kubernetes.pkg.api.v1.ObjectFieldSelector",
"v1.QuobyteVolumeSource": "io.k8s.kubernetes.pkg.api.v1.QuobyteVolumeSource",
"v1beta1.ReplicaSetSpec": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetSpec",
"v1.LabelSelector": "io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector",
"v1.DownwardAPIVolumeFile": "io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeFile",
"v1.GCEPersistentDiskVolumeSource": "io.k8s.kubernetes.pkg.api.v1.GCEPersistentDiskVolumeSource",
"v1beta1.ClusterCondition": "io.k8s.kubernetes.federation.apis.federation.v1beta1.ClusterCondition",
"v1.JobCondition": "io.k8s.kubernetes.pkg.apis.batch.v1.JobCondition",
"v1.LabelSelectorRequirement": "io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement",
"v1beta1.Deployment": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Deployment",
"v1.LoadBalancerIngress": "io.k8s.kubernetes.pkg.api.v1.LoadBalancerIngress",
"v1.SecretList": "io.k8s.kubernetes.pkg.api.v1.SecretList",
"v1.ServicePort": "io.k8s.kubernetes.pkg.api.v1.ServicePort",
"v1.Namespace": "io.k8s.kubernetes.pkg.api.v1.Namespace",
"v1beta1.ReplicaSetCondition": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetCondition",
"v1.CrossVersionObjectReference": "io.k8s.kubernetes.pkg.apis.autoscaling.v1.CrossVersionObjectReference",
"v1.ConfigMapVolumeSource": "io.k8s.kubernetes.pkg.api.v1.ConfigMapVolumeSource",
"v1.FCVolumeSource": "io.k8s.kubernetes.pkg.api.v1.FCVolumeSource",
"v1.GroupVersionForDiscovery": "io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery",
"v1beta1.ClusterStatus": "io.k8s.kubernetes.federation.apis.federation.v1beta1.ClusterStatus",
"v1.Job": "io.k8s.kubernetes.pkg.apis.batch.v1.Job",
"v1.PersistentVolumeClaimVolumeSource": "io.k8s.kubernetes.pkg.api.v1.PersistentVolumeClaimVolumeSource",
"v1.Handler": "io.k8s.kubernetes.pkg.api.v1.Handler",
"v1.ServerAddressByClientCIDR": "io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR",
"v1.PodAntiAffinity": "io.k8s.kubernetes.pkg.api.v1.PodAntiAffinity",
"v1.ISCSIVolumeSource": "io.k8s.kubernetes.pkg.api.v1.ISCSIVolumeSource",
"v1.WeightedPodAffinityTerm": "io.k8s.kubernetes.pkg.api.v1.WeightedPodAffinityTerm",
"v1.HorizontalPodAutoscalerSpec": "io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerSpec",
"v1.HorizontalPodAutoscalerList": "io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerList",
"v1.Probe": "io.k8s.kubernetes.pkg.api.v1.Probe",
"v1.APIGroup": "io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup",
"v1beta1.DeploymentList": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentList",
"v1.NodeAffinity": "io.k8s.kubernetes.pkg.api.v1.NodeAffinity",
"v1.SecretEnvSource": "io.k8s.kubernetes.pkg.api.v1.SecretEnvSource",
"v1beta1.DeploymentStatus": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentStatus",
"v1.CinderVolumeSource": "io.k8s.kubernetes.pkg.api.v1.CinderVolumeSource",
"v1.NodeSelectorTerm": "io.k8s.kubernetes.pkg.api.v1.NodeSelectorTerm",
"v1.Patch": "io.k8s.apimachinery.pkg.apis.meta.v1.Patch",
"v1.SecretVolumeSource": "io.k8s.kubernetes.pkg.api.v1.SecretVolumeSource",
"v1.Secret": "io.k8s.kubernetes.pkg.api.v1.Secret",
"v1.NodeSelector": "io.k8s.kubernetes.pkg.api.v1.NodeSelector",
"runtime.RawExtension": "io.k8s.apimachinery.pkg.runtime.RawExtension",
"v1.PreferredSchedulingTerm": "io.k8s.kubernetes.pkg.api.v1.PreferredSchedulingTerm",
"v1beta1.ClusterList": "io.k8s.kubernetes.federation.apis.federation.v1beta1.ClusterList",
"v1.KeyToPath": "io.k8s.kubernetes.pkg.api.v1.KeyToPath",
"intstr.IntOrString": "io.k8s.apimachinery.pkg.util.intstr.IntOrString",
"v1beta1.ClusterSpec": "io.k8s.kubernetes.federation.apis.federation.v1beta1.ClusterSpec",
"v1.ServiceList": "io.k8s.kubernetes.pkg.api.v1.ServiceList",
"v1beta1.DeploymentStrategy": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentStrategy",
"v1beta1.IngressBackend": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressBackend",
"v1.Time": "io.k8s.apimachinery.pkg.apis.meta.v1.Time",
"v1.ContainerPort": "io.k8s.kubernetes.pkg.api.v1.ContainerPort",
"v1beta1.HTTPIngressRuleValue": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.HTTPIngressRuleValue",
"v1.AzureFileVolumeSource": "io.k8s.kubernetes.pkg.api.v1.AzureFileVolumeSource",
"v1.PodTemplateSpec": "io.k8s.kubernetes.pkg.api.v1.PodTemplateSpec",
"v1.PodSpec": "io.k8s.kubernetes.pkg.api.v1.PodSpec",
"v1beta1.ReplicaSetStatus": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSetStatus",
"v1.CephFSVolumeSource": "io.k8s.kubernetes.pkg.api.v1.CephFSVolumeSource",
"v1.Volume": "io.k8s.kubernetes.pkg.api.v1.Volume",
"v1beta1.Ingress": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress",
"v1.PodAffinityTerm": "io.k8s.kubernetes.pkg.api.v1.PodAffinityTerm",
"v1.ObjectReference": "io.k8s.kubernetes.pkg.api.v1.ObjectReference",
"v1.ServiceStatus": "io.k8s.kubernetes.pkg.api.v1.ServiceStatus",
"v1.APIResource": "io.k8s.apimachinery.pkg.apis.meta.v1.APIResource",
"v1.AzureDiskVolumeSource": "io.k8s.kubernetes.pkg.api.v1.AzureDiskVolumeSource",
"v1.ConfigMap": "io.k8s.kubernetes.pkg.api.v1.ConfigMap",
"v1beta1.IngressSpec": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressSpec",
"v1.APIVersions": "io.k8s.apimachinery.pkg.apis.meta.v1.APIVersions",
"resource.Quantity": "io.k8s.apimachinery.pkg.api.resource.Quantity",
"v1.Event": "io.k8s.kubernetes.pkg.api.v1.Event",
"v1.JobStatus": "io.k8s.kubernetes.pkg.apis.batch.v1.JobStatus",
"v1beta1.ServerAddressByClientCIDR": "io.k8s.kubernetes.federation.apis.federation.v1beta1.ServerAddressByClientCIDR",
"v1.LocalObjectReference": "io.k8s.kubernetes.pkg.api.v1.LocalObjectReference",
"v1.HostPathVolumeSource": "io.k8s.kubernetes.pkg.api.v1.HostPathVolumeSource",
"v1.LoadBalancerStatus": "io.k8s.kubernetes.pkg.api.v1.LoadBalancerStatus",
"v1beta1.HTTPIngressPath": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.HTTPIngressPath",
"v1beta1.DeploymentSpec": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentSpec",
"v1.ExecAction": "io.k8s.kubernetes.pkg.api.v1.ExecAction",
"v1.HorizontalPodAutoscalerStatus": "io.k8s.kubernetes.pkg.apis.autoscaling.v1.HorizontalPodAutoscalerStatus",
"v1.JobSpec": "io.k8s.kubernetes.pkg.apis.batch.v1.JobSpec",
"v1beta1.DaemonSetSpec": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetSpec",
"v1.SELinuxOptions": "io.k8s.kubernetes.pkg.api.v1.SELinuxOptions",
"v1beta1.IngressTLS": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressTLS",
"v1beta1.ScaleStatus": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ScaleStatus",
"v1.NamespaceSpec": "io.k8s.kubernetes.pkg.api.v1.NamespaceSpec",
"v1.StatusDetails": "io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails",
"v1beta1.IngressList": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressList",
"v1beta1.DeploymentRollback": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentRollback",
"v1.GlusterfsVolumeSource": "io.k8s.kubernetes.pkg.api.v1.GlusterfsVolumeSource",
"v1.JobList": "io.k8s.kubernetes.pkg.apis.batch.v1.JobList",
"v1.EventList": "io.k8s.kubernetes.pkg.api.v1.EventList",
"v1beta1.IngressRule": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressRule",
"v1.APIResourceList": "io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList",
"v1.ConfigMapKeySelector": "io.k8s.kubernetes.pkg.api.v1.ConfigMapKeySelector",
"v1.PhotonPersistentDiskVolumeSource": "io.k8s.kubernetes.pkg.api.v1.PhotonPersistentDiskVolumeSource",
"v1.HTTPHeader": "io.k8s.kubernetes.pkg.api.v1.HTTPHeader",
"version.Info": "io.k8s.apimachinery.pkg.version.Info",
"v1.EventSource": "io.k8s.kubernetes.pkg.api.v1.EventSource",
"v1.OwnerReference": "io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference",
"v1beta1.ScaleSpec": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ScaleSpec",
"v1.GitRepoVolumeSource": "io.k8s.kubernetes.pkg.api.v1.GitRepoVolumeSource",
"v1.ConfigMapEnvSource": "io.k8s.kubernetes.pkg.api.v1.ConfigMapEnvSource",
"v1beta1.DeploymentCondition": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DeploymentCondition",
"v1.EnvVar": "io.k8s.kubernetes.pkg.api.v1.EnvVar",
"v1.DownwardAPIVolumeSource": "io.k8s.kubernetes.pkg.api.v1.DownwardAPIVolumeSource",
"v1.SecurityContext": "io.k8s.kubernetes.pkg.api.v1.SecurityContext",
"v1beta1.IngressStatus": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.IngressStatus",
"v1beta1.Cluster": "io.k8s.kubernetes.federation.apis.federation.v1beta1.Cluster",
"v1.Capabilities": "io.k8s.kubernetes.pkg.api.v1.Capabilities",
"v1.AWSElasticBlockStoreVolumeSource": "io.k8s.kubernetes.pkg.api.v1.AWSElasticBlockStoreVolumeSource",
"v1beta1.ReplicaSet": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.ReplicaSet",
"v1.ConfigMapList": "io.k8s.kubernetes.pkg.api.v1.ConfigMapList",
"v1.Lifecycle": "io.k8s.kubernetes.pkg.api.v1.Lifecycle",
"v1beta1.Scale": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Scale",
"v1beta1.DaemonSet": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSet",
"v1beta1.RollingUpdateDeployment": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RollingUpdateDeployment",
"v1beta1.DaemonSetStatus": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetStatus",
"v1.Preconditions": "io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions",
"v1beta1.DaemonSetList": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.DaemonSetList",
"v1.RBDVolumeSource": "io.k8s.kubernetes.pkg.api.v1.RBDVolumeSource",
"v1.NFSVolumeSource": "io.k8s.kubernetes.pkg.api.v1.NFSVolumeSource",
"v1.NodeSelectorRequirement": "io.k8s.kubernetes.pkg.api.v1.NodeSelectorRequirement",
"v1.ResourceRequirements": "io.k8s.kubernetes.pkg.api.v1.ResourceRequirements",
"v1.WatchEvent": "io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent",
"v1.HTTPGetAction": "io.k8s.kubernetes.pkg.api.v1.HTTPGetAction",
"v1beta1.RollbackConfig": "io.k8s.kubernetes.pkg.apis.extensions.v1beta1.RollbackConfig",
"v1.PodSecurityContext": "io.k8s.kubernetes.pkg.api.v1.PodSecurityContext",
"v1.VolumeMount": "io.k8s.kubernetes.pkg.api.v1.VolumeMount",
"v1.NamespaceList": "io.k8s.kubernetes.pkg.api.v1.NamespaceList",
"v1.TCPSocketAction": "io.k8s.kubernetes.pkg.api.v1.TCPSocketAction",
"v1.ResourceFieldSelector": "io.k8s.kubernetes.pkg.api.v1.ResourceFieldSelector",
"v1.Container": "io.k8s.kubernetes.pkg.api.v1.Container",
"v1.VsphereVirtualDiskVolumeSource": "io.k8s.kubernetes.pkg.api.v1.VsphereVirtualDiskVolumeSource",
"v1.EmptyDirVolumeSource": "io.k8s.kubernetes.pkg.api.v1.EmptyDirVolumeSource",
"v1.Status": "io.k8s.apimachinery.pkg.apis.meta.v1.Status",
}
for k, v := range compatibilityMap {
if _, found := s.Definitions[v]; !found {
continue
}
s.Definitions[k] = spec.Schema{
SchemaProps: spec.SchemaProps{
Ref: spec.MustCreateRef("#/definitions/" + apimachineryopenapi.EscapeJsonPointer(v)),
Description: fmt.Sprintf("Deprecated. Please use %s instead.", v),
},
}
}
return s, nil
}

View File

@ -16,7 +16,6 @@ go_library(
"//vendor:github.com/emicklei/go-restful",
"//vendor:github.com/go-openapi/spec",
"//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
"//vendor:k8s.io/apimachinery/pkg/openapi",
"//vendor:k8s.io/apimachinery/pkg/runtime",
"//vendor:k8s.io/apimachinery/pkg/runtime/schema",
"//vendor:k8s.io/apiserver/pkg/util/trie",

View File

@ -27,7 +27,6 @@ import (
"github.com/go-openapi/spec"
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/openapi"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apiserver/pkg/util/trie"
@ -170,308 +169,3 @@ func (d *DefinitionNamer) GetDefinitionName(servePath string, name string) (stri
}
return friendlyName(name), nil
}
// PostProcessSpec finalize OpenAPI spec and add removed definition for backward compatibility
func PostProcessSpec(s *spec.Swagger) (*spec.Swagger, error) {
compatibilityMap := map[string]string{
"v1beta1.DeploymentStatus": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DeploymentStatus",
"v1beta1.ReplicaSetList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ReplicaSetList",
"v1beta1.Eviction": "k8s.io/kubernetes/pkg/apis/policy/v1beta1.Eviction",
"v1beta1.StatefulSetList": "k8s.io/kubernetes/pkg/apis/apps/v1beta1.StatefulSetList",
"v1beta1.RoleBinding": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.RoleBinding",
"v1beta1.PodSecurityPolicyList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.PodSecurityPolicyList",
"v1.NodeSpec": "k8s.io/kubernetes/pkg/api/v1.NodeSpec",
"v1.FlockerVolumeSource": "k8s.io/kubernetes/pkg/api/v1.FlockerVolumeSource",
"v1.ContainerState": "k8s.io/kubernetes/pkg/api/v1.ContainerState",
"v1beta1.ClusterRole": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.ClusterRole",
"v1beta1.StorageClass": "k8s.io/kubernetes/pkg/apis/storage/v1beta1.StorageClass",
"v1.FlexVolumeSource": "k8s.io/kubernetes/pkg/api/v1.FlexVolumeSource",
"v1.SecretKeySelector": "k8s.io/kubernetes/pkg/api/v1.SecretKeySelector",
"v1.DeleteOptions": "k8s.io/kubernetes/pkg/api/v1.DeleteOptions",
"v1.PodStatus": "k8s.io/kubernetes/pkg/api/v1.PodStatus",
"v1.NodeStatus": "k8s.io/kubernetes/pkg/api/v1.NodeStatus",
"v1.ServiceSpec": "k8s.io/kubernetes/pkg/api/v1.ServiceSpec",
"v1.AttachedVolume": "k8s.io/kubernetes/pkg/api/v1.AttachedVolume",
"v1.PersistentVolume": "k8s.io/kubernetes/pkg/api/v1.PersistentVolume",
"v1.LimitRangeList": "k8s.io/kubernetes/pkg/api/v1.LimitRangeList",
"v1alpha1.Role": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.Role",
"v1.Affinity": "k8s.io/kubernetes/pkg/api/v1.Affinity",
"v1beta1.PodDisruptionBudget": "k8s.io/kubernetes/pkg/apis/policy/v1beta1.PodDisruptionBudget",
"v1alpha1.RoleBindingList": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.RoleBindingList",
"v1.PodAffinity": "k8s.io/kubernetes/pkg/api/v1.PodAffinity",
"v1beta1.SELinuxStrategyOptions": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.SELinuxStrategyOptions",
"v1.ResourceQuotaList": "k8s.io/kubernetes/pkg/api/v1.ResourceQuotaList",
"v1.PodList": "k8s.io/kubernetes/pkg/api/v1.PodList",
"v1.EnvVarSource": "k8s.io/kubernetes/pkg/api/v1.EnvVarSource",
"v1beta1.TokenReviewStatus": "k8s.io/kubernetes/pkg/apis/authentication/v1beta1.TokenReviewStatus",
"v1.PersistentVolumeClaimList": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaimList",
"v1beta1.RoleList": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.RoleList",
"v1.ListMeta": "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta",
"v1.ObjectMeta": "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta",
"v1.APIGroupList": "k8s.io/apimachinery/pkg/apis/meta/v1.APIGroupList",
"v2alpha1.Job": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.Job",
"v1.EnvFromSource": "k8s.io/kubernetes/pkg/api/v1.EnvFromSource",
"v1beta1.IngressStatus": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IngressStatus",
"v1.Service": "k8s.io/kubernetes/pkg/api/v1.Service",
"v1beta1.DaemonSetStatus": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DaemonSetStatus",
"v1alpha1.Subject": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.Subject",
"v1.HorizontalPodAutoscaler": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.HorizontalPodAutoscaler",
"v1.StatusCause": "k8s.io/apimachinery/pkg/apis/meta/v1.StatusCause",
"v1.NodeSelectorRequirement": "k8s.io/kubernetes/pkg/api/v1.NodeSelectorRequirement",
"v1beta1.NetworkPolicyIngressRule": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.NetworkPolicyIngressRule",
"v1beta1.ThirdPartyResource": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ThirdPartyResource",
"v1beta1.PodSecurityPolicy": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.PodSecurityPolicy",
"v1beta1.StatefulSet": "k8s.io/kubernetes/pkg/apis/apps/v1beta1.StatefulSet",
"v1.LabelSelector": "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector",
"v1.ScaleSpec": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.ScaleSpec",
"v1.DownwardAPIVolumeFile": "k8s.io/kubernetes/pkg/api/v1.DownwardAPIVolumeFile",
"v1beta1.HorizontalPodAutoscaler": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HorizontalPodAutoscaler",
"v1.AWSElasticBlockStoreVolumeSource": "k8s.io/kubernetes/pkg/api/v1.AWSElasticBlockStoreVolumeSource",
"v1.ComponentStatus": "k8s.io/kubernetes/pkg/api/v1.ComponentStatus",
"v2alpha1.JobSpec": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.JobSpec",
"v1.ContainerImage": "k8s.io/kubernetes/pkg/api/v1.ContainerImage",
"v1.ReplicationControllerStatus": "k8s.io/kubernetes/pkg/api/v1.ReplicationControllerStatus",
"v1.ResourceQuota": "k8s.io/kubernetes/pkg/api/v1.ResourceQuota",
"v1beta1.NetworkPolicyList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.NetworkPolicyList",
"v1beta1.NonResourceAttributes": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.NonResourceAttributes",
"v1.JobCondition": "k8s.io/kubernetes/pkg/apis/batch/v1.JobCondition",
"v1.LabelSelectorRequirement": "k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelectorRequirement",
"v1beta1.Deployment": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.Deployment",
"v1.LoadBalancerIngress": "k8s.io/kubernetes/pkg/api/v1.LoadBalancerIngress",
"v1.SecretList": "k8s.io/kubernetes/pkg/api/v1.SecretList",
"v1beta1.ReplicaSetSpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ReplicaSetSpec",
"v1beta1.RoleBindingList": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.RoleBindingList",
"v1.ServicePort": "k8s.io/kubernetes/pkg/api/v1.ServicePort",
"v1.Namespace": "k8s.io/kubernetes/pkg/api/v1.Namespace",
"v1beta1.NetworkPolicyPeer": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.NetworkPolicyPeer",
"v1.ReplicationControllerList": "k8s.io/kubernetes/pkg/api/v1.ReplicationControllerList",
"v1beta1.ReplicaSetCondition": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ReplicaSetCondition",
"v1.ReplicationControllerCondition": "k8s.io/kubernetes/pkg/api/v1.ReplicationControllerCondition",
"v1.DaemonEndpoint": "k8s.io/kubernetes/pkg/api/v1.DaemonEndpoint",
"v1beta1.NetworkPolicyPort": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.NetworkPolicyPort",
"v1.NodeSystemInfo": "k8s.io/kubernetes/pkg/api/v1.NodeSystemInfo",
"v1.LimitRangeItem": "k8s.io/kubernetes/pkg/api/v1.LimitRangeItem",
"v1.ConfigMapVolumeSource": "k8s.io/kubernetes/pkg/api/v1.ConfigMapVolumeSource",
"v1beta1.ClusterRoleList": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.ClusterRoleList",
"v1beta1.ResourceAttributes": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.ResourceAttributes",
"v1.Pod": "k8s.io/kubernetes/pkg/api/v1.Pod",
"v1.FCVolumeSource": "k8s.io/kubernetes/pkg/api/v1.FCVolumeSource",
"v1beta1.SubresourceReference": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.SubresourceReference",
"v1.ResourceQuotaStatus": "k8s.io/kubernetes/pkg/api/v1.ResourceQuotaStatus",
"v1alpha1.RoleBinding": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.RoleBinding",
"v1.PodCondition": "k8s.io/kubernetes/pkg/api/v1.PodCondition",
"v1.GroupVersionForDiscovery": "k8s.io/apimachinery/pkg/apis/meta/v1.GroupVersionForDiscovery",
"v1.NamespaceStatus": "k8s.io/kubernetes/pkg/api/v1.NamespaceStatus",
"v1.Job": "k8s.io/kubernetes/pkg/apis/batch/v1.Job",
"v1.PersistentVolumeClaimVolumeSource": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaimVolumeSource",
"v1.Handler": "k8s.io/kubernetes/pkg/api/v1.Handler",
"v1.ComponentStatusList": "k8s.io/kubernetes/pkg/api/v1.ComponentStatusList",
"v1.ServerAddressByClientCIDR": "k8s.io/apimachinery/pkg/apis/meta/v1.ServerAddressByClientCIDR",
"v1.PodAntiAffinity": "k8s.io/kubernetes/pkg/api/v1.PodAntiAffinity",
"v1.ISCSIVolumeSource": "k8s.io/kubernetes/pkg/api/v1.ISCSIVolumeSource",
"v1.ContainerStateRunning": "k8s.io/kubernetes/pkg/api/v1.ContainerStateRunning",
"v1.WeightedPodAffinityTerm": "k8s.io/kubernetes/pkg/api/v1.WeightedPodAffinityTerm",
"v1beta1.HostPortRange": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HostPortRange",
"v1.HorizontalPodAutoscalerSpec": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.HorizontalPodAutoscalerSpec",
"v1.HorizontalPodAutoscalerList": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.HorizontalPodAutoscalerList",
"v1beta1.RoleRef": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.RoleRef",
"v1.Probe": "k8s.io/kubernetes/pkg/api/v1.Probe",
"v1beta1.IngressTLS": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IngressTLS",
"v1beta1.ThirdPartyResourceList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ThirdPartyResourceList",
"v1beta1.DaemonSet": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DaemonSet",
"v1.APIGroup": "k8s.io/apimachinery/pkg/apis/meta/v1.APIGroup",
"v1beta1.Subject": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.Subject",
"v1beta1.DeploymentList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DeploymentList",
"v1.NodeAffinity": "k8s.io/kubernetes/pkg/api/v1.NodeAffinity",
"v1beta1.RollingUpdateDeployment": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.RollingUpdateDeployment",
"v1beta1.APIVersion": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.APIVersion",
"v1alpha1.CertificateSigningRequest": "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1.CertificateSigningRequest",
"v1.CinderVolumeSource": "k8s.io/kubernetes/pkg/api/v1.CinderVolumeSource",
"v1.NamespaceSpec": "k8s.io/kubernetes/pkg/api/v1.NamespaceSpec",
"v1beta1.PodDisruptionBudgetSpec": "k8s.io/kubernetes/pkg/apis/policy/v1beta1.PodDisruptionBudgetSpec",
"v1.Patch": "k8s.io/apimachinery/pkg/apis/meta/v1.Patch",
"v1beta1.ClusterRoleBinding": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.ClusterRoleBinding",
"v1beta1.HorizontalPodAutoscalerSpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HorizontalPodAutoscalerSpec",
"v1.PersistentVolumeClaimSpec": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaimSpec",
"v1.Secret": "k8s.io/kubernetes/pkg/api/v1.Secret",
"v1.NodeCondition": "k8s.io/kubernetes/pkg/api/v1.NodeCondition",
"v1.LocalObjectReference": "k8s.io/kubernetes/pkg/api/v1.LocalObjectReference",
"runtime.RawExtension": "k8s.io/apimachinery/pkg/runtime.RawExtension",
"v1.PreferredSchedulingTerm": "k8s.io/kubernetes/pkg/api/v1.PreferredSchedulingTerm",
"v1.RBDVolumeSource": "k8s.io/kubernetes/pkg/api/v1.RBDVolumeSource",
"v1.KeyToPath": "k8s.io/kubernetes/pkg/api/v1.KeyToPath",
"v1.ScaleStatus": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.ScaleStatus",
"v1alpha1.PolicyRule": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.PolicyRule",
"v1.EndpointPort": "k8s.io/kubernetes/pkg/api/v1.EndpointPort",
"v1beta1.IngressList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IngressList",
"v1.EndpointAddress": "k8s.io/kubernetes/pkg/api/v1.EndpointAddress",
"v1.NodeSelector": "k8s.io/kubernetes/pkg/api/v1.NodeSelector",
"v1beta1.StorageClassList": "k8s.io/kubernetes/pkg/apis/storage/v1beta1.StorageClassList",
"v1.ServiceList": "k8s.io/kubernetes/pkg/api/v1.ServiceList",
"v2alpha1.CronJobSpec": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.CronJobSpec",
"v1.ContainerStateTerminated": "k8s.io/kubernetes/pkg/api/v1.ContainerStateTerminated",
"v1beta1.TokenReview": "k8s.io/kubernetes/pkg/apis/authentication/v1beta1.TokenReview",
"v1beta1.IngressBackend": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IngressBackend",
"v1.Time": "k8s.io/apimachinery/pkg/apis/meta/v1.Time",
"v1beta1.IngressSpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IngressSpec",
"v2alpha1.JobTemplateSpec": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.JobTemplateSpec",
"v1.LimitRange": "k8s.io/kubernetes/pkg/api/v1.LimitRange",
"v1beta1.UserInfo": "k8s.io/kubernetes/pkg/apis/authentication/v1beta1.UserInfo",
"v1.ResourceQuotaSpec": "k8s.io/kubernetes/pkg/api/v1.ResourceQuotaSpec",
"v1.ContainerPort": "k8s.io/kubernetes/pkg/api/v1.ContainerPort",
"v1beta1.HTTPIngressRuleValue": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HTTPIngressRuleValue",
"v1.AzureFileVolumeSource": "k8s.io/kubernetes/pkg/api/v1.AzureFileVolumeSource",
"v1beta1.NetworkPolicySpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.NetworkPolicySpec",
"v1.PodTemplateSpec": "k8s.io/kubernetes/pkg/api/v1.PodTemplateSpec",
"v1.SecretVolumeSource": "k8s.io/kubernetes/pkg/api/v1.SecretVolumeSource",
"v1.PodSpec": "k8s.io/kubernetes/pkg/api/v1.PodSpec",
"v1.CephFSVolumeSource": "k8s.io/kubernetes/pkg/api/v1.CephFSVolumeSource",
"v1beta1.CPUTargetUtilization": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.CPUTargetUtilization",
"v1.Volume": "k8s.io/kubernetes/pkg/api/v1.Volume",
"v1beta1.Ingress": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.Ingress",
"v1beta1.HorizontalPodAutoscalerList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HorizontalPodAutoscalerList",
"v1.PersistentVolumeStatus": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeStatus",
"v1beta1.IDRange": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IDRange",
"v2alpha1.JobCondition": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.JobCondition",
"v1beta1.IngressRule": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.IngressRule",
"v1alpha1.RoleRef": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.RoleRef",
"v1.PodAffinityTerm": "k8s.io/kubernetes/pkg/api/v1.PodAffinityTerm",
"v1.ObjectReference": "k8s.io/kubernetes/pkg/api/v1.ObjectReference",
"v1.ServiceStatus": "k8s.io/kubernetes/pkg/api/v1.ServiceStatus",
"v1.APIResource": "k8s.io/apimachinery/pkg/apis/meta/v1.APIResource",
"v1beta1.Scale": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.Scale",
"v1.AzureDiskVolumeSource": "k8s.io/kubernetes/pkg/api/v1.AzureDiskVolumeSource",
"v1beta1.SubjectAccessReviewStatus": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.SubjectAccessReviewStatus",
"v1.ConfigMap": "k8s.io/kubernetes/pkg/api/v1.ConfigMap",
"v1.CrossVersionObjectReference": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.CrossVersionObjectReference",
"v1.APIVersions": "k8s.io/apimachinery/pkg/apis/meta/v1.APIVersions",
"v1alpha1.ClusterRoleList": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.ClusterRoleList",
"v1.Node": "k8s.io/kubernetes/pkg/api/v1.Node",
"resource.Quantity": "k8s.io/kubernetes/pkg/api/resource.Quantity",
"v1.Event": "k8s.io/kubernetes/pkg/api/v1.Event",
"v1.JobStatus": "k8s.io/kubernetes/pkg/apis/batch/v1.JobStatus",
"v1.PersistentVolumeSpec": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeSpec",
"v1beta1.SubjectAccessReviewSpec": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.SubjectAccessReviewSpec",
"v1.ResourceFieldSelector": "k8s.io/kubernetes/pkg/api/v1.ResourceFieldSelector",
"v1.EndpointSubset": "k8s.io/kubernetes/pkg/api/v1.EndpointSubset",
"v1alpha1.CertificateSigningRequestSpec": "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1.CertificateSigningRequestSpec",
"v1.HostPathVolumeSource": "k8s.io/kubernetes/pkg/api/v1.HostPathVolumeSource",
"v1.LoadBalancerStatus": "k8s.io/kubernetes/pkg/api/v1.LoadBalancerStatus",
"v1beta1.HTTPIngressPath": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HTTPIngressPath",
"v1beta1.Role": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.Role",
"v1beta1.DeploymentStrategy": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DeploymentStrategy",
"v1beta1.RunAsUserStrategyOptions": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.RunAsUserStrategyOptions",
"v1beta1.DeploymentSpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DeploymentSpec",
"v1.ExecAction": "k8s.io/kubernetes/pkg/api/v1.ExecAction",
"v1beta1.PodSecurityPolicySpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.PodSecurityPolicySpec",
"v1.HorizontalPodAutoscalerStatus": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.HorizontalPodAutoscalerStatus",
"v1.PersistentVolumeList": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeList",
"v1alpha1.ClusterRole": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.ClusterRole",
"v1.JobSpec": "k8s.io/kubernetes/pkg/apis/batch/v1.JobSpec",
"v1beta1.DaemonSetSpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DaemonSetSpec",
"v2alpha1.CronJobList": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.CronJobList",
"v1.Endpoints": "k8s.io/kubernetes/pkg/api/v1.Endpoints",
"v1.SELinuxOptions": "k8s.io/kubernetes/pkg/api/v1.SELinuxOptions",
"v1beta1.SelfSubjectAccessReviewSpec": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.SelfSubjectAccessReviewSpec",
"v1beta1.ScaleStatus": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ScaleStatus",
"v1.NodeSelectorTerm": "k8s.io/kubernetes/pkg/api/v1.NodeSelectorTerm",
"v1alpha1.CertificateSigningRequestStatus": "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1.CertificateSigningRequestStatus",
"v1.StatusDetails": "k8s.io/apimachinery/pkg/apis/meta/v1.StatusDetails",
"v2alpha1.JobStatus": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.JobStatus",
"v1beta1.DeploymentRollback": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DeploymentRollback",
"v1.GlusterfsVolumeSource": "k8s.io/kubernetes/pkg/api/v1.GlusterfsVolumeSource",
"v1.ServiceAccountList": "k8s.io/kubernetes/pkg/api/v1.ServiceAccountList",
"v1.JobList": "k8s.io/kubernetes/pkg/apis/batch/v1.JobList",
"v1.EventList": "k8s.io/kubernetes/pkg/api/v1.EventList",
"v1.ContainerStateWaiting": "k8s.io/kubernetes/pkg/api/v1.ContainerStateWaiting",
"v1.APIResourceList": "k8s.io/apimachinery/pkg/apis/meta/v1.APIResourceList",
"v1.ContainerStatus": "k8s.io/kubernetes/pkg/api/v1.ContainerStatus",
"v2alpha1.JobList": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.JobList",
"v1.ConfigMapKeySelector": "k8s.io/kubernetes/pkg/api/v1.ConfigMapKeySelector",
"v1.PhotonPersistentDiskVolumeSource": "k8s.io/kubernetes/pkg/api/v1.PhotonPersistentDiskVolumeSource",
"v1.PodTemplateList": "k8s.io/kubernetes/pkg/api/v1.PodTemplateList",
"v1.PersistentVolumeClaimStatus": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaimStatus",
"v1.ServiceAccount": "k8s.io/kubernetes/pkg/api/v1.ServiceAccount",
"v1alpha1.CertificateSigningRequestList": "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1.CertificateSigningRequestList",
"v1beta1.SupplementalGroupsStrategyOptions": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.SupplementalGroupsStrategyOptions",
"v1.HTTPHeader": "k8s.io/kubernetes/pkg/api/v1.HTTPHeader",
"version.Info": "k8s.io/apimachinery/pkg/version.Info",
"v1.EventSource": "k8s.io/kubernetes/pkg/api/v1.EventSource",
"v1alpha1.ClusterRoleBindingList": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.ClusterRoleBindingList",
"v1.OwnerReference": "k8s.io/apimachinery/pkg/apis/meta/v1.OwnerReference",
"v1beta1.ClusterRoleBindingList": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.ClusterRoleBindingList",
"v1beta1.ScaleSpec": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ScaleSpec",
"v1.GitRepoVolumeSource": "k8s.io/kubernetes/pkg/api/v1.GitRepoVolumeSource",
"v1beta1.NetworkPolicy": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.NetworkPolicy",
"v1.ConfigMapEnvSource": "k8s.io/kubernetes/pkg/api/v1.ConfigMapEnvSource",
"v1.PodTemplate": "k8s.io/kubernetes/pkg/api/v1.PodTemplate",
"v1beta1.DeploymentCondition": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DeploymentCondition",
"v1beta1.PodDisruptionBudgetStatus": "k8s.io/kubernetes/pkg/apis/policy/v1beta1.PodDisruptionBudgetStatus",
"v1.EnvVar": "k8s.io/kubernetes/pkg/api/v1.EnvVar",
"v1.LimitRangeSpec": "k8s.io/kubernetes/pkg/api/v1.LimitRangeSpec",
"v1.DownwardAPIVolumeSource": "k8s.io/kubernetes/pkg/api/v1.DownwardAPIVolumeSource",
"v1.NodeDaemonEndpoints": "k8s.io/kubernetes/pkg/api/v1.NodeDaemonEndpoints",
"v1.ComponentCondition": "k8s.io/kubernetes/pkg/api/v1.ComponentCondition",
"v1alpha1.CertificateSigningRequestCondition": "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1.CertificateSigningRequestCondition",
"v1.SecurityContext": "k8s.io/kubernetes/pkg/api/v1.SecurityContext",
"v1beta1.LocalSubjectAccessReview": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.LocalSubjectAccessReview",
"v1beta1.StatefulSetSpec": "k8s.io/kubernetes/pkg/apis/apps/v1beta1.StatefulSetSpec",
"v1.NodeAddress": "k8s.io/kubernetes/pkg/api/v1.NodeAddress",
"v1.QuobyteVolumeSource": "k8s.io/kubernetes/pkg/api/v1.QuobyteVolumeSource",
"v1.Capabilities": "k8s.io/kubernetes/pkg/api/v1.Capabilities",
"v1.GCEPersistentDiskVolumeSource": "k8s.io/kubernetes/pkg/api/v1.GCEPersistentDiskVolumeSource",
"v1beta1.ReplicaSet": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ReplicaSet",
"v1beta1.HorizontalPodAutoscalerStatus": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.HorizontalPodAutoscalerStatus",
"v1beta1.PolicyRule": "k8s.io/kubernetes/pkg/apis/rbac/v1beta1.PolicyRule",
"v1.ConfigMapList": "k8s.io/kubernetes/pkg/api/v1.ConfigMapList",
"v1.Lifecycle": "k8s.io/kubernetes/pkg/api/v1.Lifecycle",
"v1beta1.SelfSubjectAccessReview": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.SelfSubjectAccessReview",
"v2alpha1.CronJob": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.CronJob",
"v2alpha1.CronJobStatus": "k8s.io/kubernetes/pkg/apis/batch/v2alpha1.CronJobStatus",
"v1beta1.SubjectAccessReview": "k8s.io/kubernetes/pkg/apis/authorization/v1beta1.SubjectAccessReview",
"v1.Preconditions": "k8s.io/kubernetes/pkg/api/v1.Preconditions",
"v1beta1.DaemonSetList": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.DaemonSetList",
"v1.PersistentVolumeClaim": "k8s.io/kubernetes/pkg/api/v1.PersistentVolumeClaim",
"v1.Scale": "k8s.io/kubernetes/pkg/apis/autoscaling/v1.Scale",
"v1beta1.StatefulSetStatus": "k8s.io/kubernetes/pkg/apis/apps/v1beta1.StatefulSetStatus",
"v1.NFSVolumeSource": "k8s.io/kubernetes/pkg/api/v1.NFSVolumeSource",
"v1.ObjectFieldSelector": "k8s.io/kubernetes/pkg/api/v1.ObjectFieldSelector",
"v1.ResourceRequirements": "k8s.io/kubernetes/pkg/api/v1.ResourceRequirements",
"v1.WatchEvent": "k8s.io/apimachinery/pkg/apis/meta/v1.WatchEvent",
"v1.ReplicationControllerSpec": "k8s.io/kubernetes/pkg/api/v1.ReplicationControllerSpec",
"v1.HTTPGetAction": "k8s.io/kubernetes/pkg/api/v1.HTTPGetAction",
"v1beta1.RollbackConfig": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.RollbackConfig",
"v1beta1.TokenReviewSpec": "k8s.io/kubernetes/pkg/apis/authentication/v1beta1.TokenReviewSpec",
"v1.PodSecurityContext": "k8s.io/kubernetes/pkg/api/v1.PodSecurityContext",
"v1beta1.PodDisruptionBudgetList": "k8s.io/kubernetes/pkg/apis/policy/v1beta1.PodDisruptionBudgetList",
"v1.VolumeMount": "k8s.io/kubernetes/pkg/api/v1.VolumeMount",
"v1.ReplicationController": "k8s.io/kubernetes/pkg/api/v1.ReplicationController",
"v1.NamespaceList": "k8s.io/kubernetes/pkg/api/v1.NamespaceList",
"v1alpha1.ClusterRoleBinding": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.ClusterRoleBinding",
"v1.TCPSocketAction": "k8s.io/kubernetes/pkg/api/v1.TCPSocketAction",
"v1.Binding": "k8s.io/kubernetes/pkg/api/v1.Binding",
"v1beta1.ReplicaSetStatus": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.ReplicaSetStatus",
"intstr.IntOrString": "k8s.io/kubernetes/pkg/util/intstr.IntOrString",
"v1.EndpointsList": "k8s.io/kubernetes/pkg/api/v1.EndpointsList",
"v1.Container": "k8s.io/kubernetes/pkg/api/v1.Container",
"v1alpha1.RoleList": "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1.RoleList",
"v1.VsphereVirtualDiskVolumeSource": "k8s.io/kubernetes/pkg/api/v1.VsphereVirtualDiskVolumeSource",
"v1.NodeList": "k8s.io/kubernetes/pkg/api/v1.NodeList",
"v1.EmptyDirVolumeSource": "k8s.io/kubernetes/pkg/api/v1.EmptyDirVolumeSource",
"v1beta1.FSGroupStrategyOptions": "k8s.io/kubernetes/pkg/apis/extensions/v1beta1.FSGroupStrategyOptions",
"v1.Status": "k8s.io/apimachinery/pkg/apis/meta/v1.Status",
}
for k, v := range compatibilityMap {
if _, found := s.Definitions[v]; !found {
continue
}
s.Definitions[k] = spec.Schema{
SchemaProps: spec.SchemaProps{
Ref: spec.MustCreateRef("#/definitions/" + openapi.EscapeJsonPointer(v)),
Description: fmt.Sprintf("Deprecated. Please use %s instead.", v),
},
}
}
return s, nil
}

View File

@ -231,7 +231,6 @@ func DefaultOpenAPIConfig(getDefinitions openapicommon.GetOpenAPIDefinitions) *o
GetOperationIDAndTags: apiopenapi.GetOperationIDAndTags,
GetDefinitionName: defNamer.GetDefinitionName,
GetDefinitions: getDefinitions,
PostProcessSpec: apiopenapi.PostProcessSpec,
}
}