Repository: kubernetes
Issue: OpenAPI Defaults not accurate
Labels: kind/bug,sig/api-machinery,triage/accepted

### What happened?

The defaulting listed in OpenAPI spec is terribly incomplete, or incorrect. The following diffs were generated by comparing defaults as applying by the OpenAPI schema to the handwritten defaults applied by runtime.Scheme:

(Handwritten defaults in RED, Schema in GREEN)

- [x] /v1.Binding
- [x] /v1.ComponentStatus
- [ ] /v1.ConfigMap
    ```diff
      &v1.ConfigMap{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Immutable:  nil,
    - 	Data:       map[string]string{},
    + 	Data:       nil,
      	BinaryData: nil,
      }
    
    ```
- [x] /v1.DeleteOptions
- [ ] /v1.Endpoints
    ```diff
      &v1.Endpoints{
      	TypeMeta:   {},
      	ObjectMeta: {OwnerReferences: {{}}, ManagedFields: {{}}},
      	Subsets: []v1.EndpointSubset{
      		{
      			Addresses:         {{}},
      			NotReadyAddresses: {{}},
      			Ports: []v1.EndpointPort{
      				{
      					Name:        "",
      					Port:        0,
    - 					Protocol:    "TCP",
    + 					Protocol:    "",
      					AppProtocol: nil,
      				},
      			},
      		},
      	},
      }
    
    ```
- [x] /v1.Event
- [x] /v1.LimitRange
- [ ] /v1.Namespace
    ```diff
      &v1.Namespace{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec:       {},
      	Status: v1.NamespaceStatus{
    - 		Phase:      "Active",
    + 		Phase:      "",
      		Conditions: nil,
      	},
      }
    
    ```
- [x] /v1.Node
- [ ] /v1.PersistentVolume
    ```diff
      &v1.PersistentVolume{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.PersistentVolumeSpec{
      		... // 2 identical fields
      		AccessModes:                   nil,
      		ClaimRef:                      nil,
    - 		PersistentVolumeReclaimPolicy: "Retain",
    + 		PersistentVolumeReclaimPolicy: "",
      		StorageClassName:              "",
      		MountOptions:                  nil,
    - 		VolumeMode:                    &"Filesystem",
    + 		VolumeMode:                    nil,
      		NodeAffinity:                  nil,
      	},
      	Status: v1.PersistentVolumeStatus{
    - 		Phase:                   "Pending",
    + 		Phase:                   "",
      		Message:                 "",
      		Reason:                  "",
      		LastPhaseTransitionTime: nil,
      	},
      }
    
    ```
- [ ] /v1.PersistentVolumeClaim
    ```diff
      &v1.PersistentVolumeClaim{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.PersistentVolumeClaimSpec{
      		... // 3 identical fields
      		VolumeName:       "",
      		StorageClassName: nil,
    - 		VolumeMode:       &"Filesystem",
    + 		VolumeMode:       nil,
      		DataSource:       nil,
      		DataSourceRef:    nil,
      	},
      	Status: v1.PersistentVolumeClaimStatus{
    - 		Phase:       "Pending",
    + 		Phase:       "",
      		AccessModes: nil,
      		Capacity:    nil,
      		... // 3 identical fields
      	},
      }
    
    ```
- [ ] /v1.Pod
    ```diff
      &v1.Pod{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.PodSpec{
      		... // 2 identical fields
      		Containers:                    nil,
      		EphemeralContainers:           nil,
    - 		RestartPolicy:                 "Always",
    + 		RestartPolicy:                 "",
    - 		TerminationGracePeriodSeconds: &30,
    + 		TerminationGracePeriodSeconds: nil,
      		ActiveDeadlineSeconds:         nil,
    - 		DNSPolicy:                     "ClusterFirst",
    + 		DNSPolicy:                     "",
      		NodeSelector:                  nil,
      		ServiceAccountName:            "",
      		... // 5 identical fields
      		HostIPC:               false,
      		ShareProcessNamespace: nil,
    - 		SecurityContext:       s"&PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,FSGroupChangePolicy:nil,SeccompProfile:nil,}",
    + 		SecurityContext:       nil,
      		ImagePullSecrets:      nil,
      		Hostname:              "",
      		Subdomain:             "",
      		Affinity:              nil,
    - 		SchedulerName:         "default-scheduler",
    + 		SchedulerName:         "",
      		Tolerations:           nil,
      		HostAliases:           nil,
      		... // 3 identical fields
      		ReadinessGates:     nil,
      		RuntimeClassName:   nil,
    - 		EnableServiceLinks: &true,
    + 		EnableServiceLinks: nil,
      		PreemptionPolicy:   nil,
      		Overhead:           nil,
      		... // 6 identical fields
      	},
      	Status: {},
      }
    
    ```
- [ ] /v1.PodTemplate
    ```diff
      &v1.PodTemplate{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Template: v1.PodTemplateSpec{
      		ObjectMeta: {},
      		Spec: v1.PodSpec{
      			... // 2 identical fields
      			Containers:                    nil,
      			EphemeralContainers:           nil,
    - 			RestartPolicy:                 "Always",
    + 			RestartPolicy:                 "",
    - 			TerminationGracePeriodSeconds: &30,
    + 			TerminationGracePeriodSeconds: nil,
      			ActiveDeadlineSeconds:         nil,
    - 			DNSPolicy:                     "ClusterFirst",
    + 			DNSPolicy:                     "",
      			NodeSelector:                  nil,
      			ServiceAccountName:            "",
      			... // 5 identical fields
      			HostIPC:               false,
      			ShareProcessNamespace: nil,
    - 			SecurityContext:       s"&PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,FSGroupChangePolicy:nil,SeccompProfile:nil,}",
    + 			SecurityContext:       nil,
      			ImagePullSecrets:      nil,
      			Hostname:              "",
      			Subdomain:             "",
      			Affinity:              nil,
    - 			SchedulerName:         "default-scheduler",
    + 			SchedulerName:         "",
      			Tolerations:           nil,
      			HostAliases:           nil,
      			... // 14 identical fields
      		},
      	},
      }
    
    ```
- [ ] /v1.ReplicationController
    ```diff
      &v1.ReplicationController{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.ReplicationControllerSpec{
    - 		Replicas:        &1,
    + 		Replicas:        nil,
      		MinReadySeconds: 0,
      		Selector:        nil,
      		Template:        nil,
      	},
      	Status: {},
      }
    
    ```
- [x] /v1.ResourceQuota
- [ ] /v1.Secret
    ```diff
      &v1.Secret{
      	... // 3 identical fields
      	Data:       nil,
      	StringData: nil,
    - 	Type:       "Opaque",
    + 	Type:       "",
      }
    
    ```
- [ ] /v1.Service
    ```diff
      &v1.Service{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.ServiceSpec{
      		... // 2 identical fields
      		ClusterIP:                "",
      		ClusterIPs:               nil,
    - 		Type:                     "ClusterIP",
    + 		Type:                     "",
      		ExternalIPs:              nil,
    - 		SessionAffinity:          "None",
    + 		SessionAffinity:          "",
      		LoadBalancerIP:           "",
      		LoadBalancerSourceRanges: nil,
      		... // 7 identical fields
      		AllocateLoadBalancerNodePorts: nil,
      		LoadBalancerClass:             nil,
    - 		InternalTrafficPolicy:         &"Cluster",
    + 		InternalTrafficPolicy:         nil,
      	},
      	Status: {},
      }
    
    ```
- [x] /v1.ServiceAccount
- [x] /v1.Status
- [ ] /v1.WatchEvent
    ```diff
      &v1.WatchEvent{
      	Type: "",
      	Object: runtime.RawExtension{
    - 		Raw:    nil,
    + 		Raw:    []uint8("{}"),
      		Object: nil,
      	},
      }
    
    ```
- [ ] admissionregistration.k8s.io/v1.MutatingWebhookConfiguration
    ```diff
      &v1.MutatingWebhookConfiguration{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Webhooks: []v1.MutatingWebhook{
      		{
      			Name:                    "",
      			ClientConfig:            {},
      			Rules:                   nil,
    - 			FailurePolicy:           &"Fail",
    + 			FailurePolicy:           nil,
    - 			MatchPolicy:             &"Equivalent",
    + 			MatchPolicy:             nil,
    - 			NamespaceSelector:       s"&LabelSelector{MatchLabels:map[string]string{},MatchExpressions:[]LabelSelectorRequirement{},}",
    + 			NamespaceSelector:       nil,
    - 			ObjectSelector:          s"&LabelSelector{MatchLabels:map[string]string{},MatchExpressions:[]LabelSelectorRequirement{},}",
    + 			ObjectSelector:          nil,
      			SideEffects:             nil,
    - 			TimeoutSeconds:          &10,
    + 			TimeoutSeconds:          nil,
      			AdmissionReviewVersions: nil,
    - 			ReinvocationPolicy:      &"Never",
    + 			ReinvocationPolicy:      nil,
      			MatchConditions:         nil,
      		},
      	},
      }
    
    ```
- [ ] admissionregistration.k8s.io/v1.ValidatingWebhookConfiguration
    ```diff
      &v1.ValidatingWebhookConfiguration{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Webhooks: []v1.ValidatingWebhook{
      		{
      			Name:                    "",
      			ClientConfig:            {},
      			Rules:                   nil,
    - 			FailurePolicy:           &"Fail",
    + 			FailurePolicy:           nil,
    - 			MatchPolicy:             &"Equivalent",
    + 			MatchPolicy:             nil,
    - 			NamespaceSelector:       s"&LabelSelector{MatchLabels:map[string]string{},MatchExpressions:[]LabelSelectorRequirement{},}",
    + 			NamespaceSelector:       nil,
    - 			ObjectSelector:          s"&LabelSelector{MatchLabels:map[string]string{},MatchExpressions:[]LabelSelectorRequirement{},}",
    + 			ObjectSelector:          nil,
      			SideEffects:             nil,
    - 			TimeoutSeconds:          &10,
    + 			TimeoutSeconds:          nil,
      			AdmissionReviewVersions: nil,
      			MatchConditions:         nil,
      		},
      	},
      }
    
    ```
- [ ] admissionregistration.k8s.io/v1alpha1.ValidatingAdmissionPolicy
    ```diff
      &v1alpha1.ValidatingAdmissionPolicy{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1alpha1.ValidatingAdmissionPolicySpec{
      		ParamKind:        nil,
      		MatchConstraints: nil,
      		Validations:      nil,
    - 		FailurePolicy:    &"Fail",
    + 		FailurePolicy:    nil,
      		AuditAnnotations: nil,
      		MatchConditions:  nil,
      		Variables:        nil,
      	},
      	Status: {},
      }
    
    ```
- [ ] admissionregistration.k8s.io/v1alpha1.ValidatingAdmissionPolicyBinding
    ```diff
      &v1alpha1.ValidatingAdmissionPolicyBinding{
      	TypeMeta:   {},
      	ObjectMeta: {OwnerReferences: {{}}, ManagedFields: {{}}},
      	Spec: v1alpha1.ValidatingAdmissionPolicyBindingSpec{
      		PolicyName: "",
      		ParamRef: &v1alpha1.ParamRef{
      			Name:                    "",
      			Namespace:               "",
      			Selector:                nil,
    - 			ParameterNotFoundAction: &"Deny",
    + 			ParameterNotFoundAction: nil,
      		},
      		MatchResources: &v1alpha1.MatchResources{
    - 			NamespaceSelector:    s"&LabelSelector{MatchLabels:map[string]string{},MatchExpressions:[]LabelSelectorRequirement{},}",
    + 			NamespaceSelector:    nil,
    - 			ObjectSelector:       s"&LabelSelector{MatchLabels:map[string]string{},MatchExpressions:[]LabelSelectorRequirement{},}",
    + 			ObjectSelector:       nil,
      			ResourceRules:        nil,
      			ExcludeResourceRules: nil,
    - 			MatchPolicy:          &"Equivalent",
    + 			MatchPolicy:          nil,
      		},
      		ValidationActions: nil,
      	},
      }
    
    ```
- [ ] admissionregistration.k8s.io/v1beta1.ValidatingAdmissionPolicy
    ```diff
      &v1beta1.ValidatingAdmissionPolicy{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1beta1.ValidatingAdmissionPolicySpec{
      		ParamKind:        nil,
      		MatchConstraints: nil,
      		Validations:      nil,
    - 		FailurePolicy:    &"Fail",
    + 		FailurePolicy:    nil,
      		AuditAnnotations: nil,
      		MatchConditions:  nil,
      		Variables:        nil,
      	},
      	Status: {},
      }
    
    ```
- [ ] admissionregistration.k8s.io/v1beta1.ValidatingAdmissionPolicyBinding
    ```diff
      &v1beta1.ValidatingAdmissionPolicyBinding{
      	TypeMeta:   {},
      	ObjectMeta: {OwnerReferences: {{}}, ManagedFields: {{}}},
      	Spec: v1beta1.ValidatingAdmissionPolicyBindingSpec{
      		PolicyName: "",
      		ParamRef:   &{},
      		MatchResources: &v1beta1.MatchResources{
    - 			NamespaceSelector:    s"&LabelSelector{MatchLabels:map[string]string{},MatchExpressions:[]LabelSelectorRequirement{},}",
    + 			NamespaceSelector:    nil,
    - 			ObjectSelector:       s"&LabelSelector{MatchLabels:map[string]string{},MatchExpressions:[]LabelSelectorRequirement{},}",
    + 			ObjectSelector:       nil,
      			ResourceRules:        nil,
      			ExcludeResourceRules: nil,
    - 			MatchPolicy:          &"Equivalent",
    + 			MatchPolicy:          nil,
      		},
      		ValidationActions: nil,
      	},
      }
    
    ```
- [ ] apiextensions.k8s.io/v1.CustomResourceDefinition
    ```diff
      &v1.CustomResourceDefinition{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.CustomResourceDefinitionSpec{
      		... // 2 identical fields
      		Scope:                 "",
      		Versions:              nil,
    - 		Conversion:            s"&CustomResourceConversion{Strategy:None,Webhook:nil,}",
    + 		Conversion:            nil,
      		PreserveUnknownFields: false,
      	},
      	Status: {},
      }
    
    ```
- [ ] apiregistration.k8s.io/v1.APIService
    ```diff
      &v1.APIService{
      	TypeMeta:   {},
      	ObjectMeta: {OwnerReferences: {{}}, ManagedFields: {{}}},
      	Spec: v1.APIServiceSpec{
      		Service: &v1.ServiceReference{
      			Namespace: "",
      			Name:      "",
    - 			Port:      &443,
    + 			Port:      nil,
      		},
      		Group:   "",
      		Version: "",
      		... // 4 identical fields
      	},
      	Status: {Conditions: {{}}},
      }
    
    ```
- [ ] apps/v1.ControllerRevision
    ```diff
      &v1.ControllerRevision{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Data: runtime.RawExtension{
    - 		Raw:    nil,
    + 		Raw:    []uint8("{}"),
      		Object: nil,
      	},
      	Revision: 0,
      }
    
    ```
- [ ] apps/v1.DaemonSet
    ```diff
      &v1.DaemonSet{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.DaemonSetSpec{
      		Selector: nil,
      		Template: v1.PodTemplateSpec{
      			ObjectMeta: {},
      			Spec: v1.PodSpec{
      				... // 2 identical fields
      				Containers:                    nil,
      				EphemeralContainers:           nil,
    - 				RestartPolicy:                 "Always",
    + 				RestartPolicy:                 "",
    - 				TerminationGracePeriodSeconds: &30,
    + 				TerminationGracePeriodSeconds: nil,
      				ActiveDeadlineSeconds:         nil,
    - 				DNSPolicy:                     "ClusterFirst",
    + 				DNSPolicy:                     "",
      				NodeSelector:                  nil,
      				ServiceAccountName:            "",
      				... // 5 identical fields
      				HostIPC:               false,
      				ShareProcessNamespace: nil,
    - 				SecurityContext:       s"&PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,FSGroupChangePolicy:nil,SeccompProfile:nil,}",
    + 				SecurityContext:       nil,
      				ImagePullSecrets:      nil,
      				Hostname:              "",
      				Subdomain:             "",
      				Affinity:              nil,
    - 				SchedulerName:         "default-scheduler",
    + 				SchedulerName:         "",
      				Tolerations:           nil,
      				HostAliases:           nil,
      				... // 14 identical fields
      			},
      		},
      		UpdateStrategy: v1.DaemonSetUpdateStrategy{
    - 			Type:          "RollingUpdate",
    + 			Type:          "",
    - 			RollingUpdate: s"&RollingUpdateDaemonSet{MaxUnavailable:1,MaxSurge:0,}",
    + 			RollingUpdate: nil,
      		},
      		MinReadySeconds:      0,
    - 		RevisionHistoryLimit: &10,
    + 		RevisionHistoryLimit: nil,
      	},
      	Status: {},
      }
    
    ```
- [ ] apps/v1.Deployment
    ```diff
      &v1.Deployment{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.DeploymentSpec{
    - 		Replicas: &1,
    + 		Replicas: nil,
      		Selector: nil,
      		Template: v1.PodTemplateSpec{
      			ObjectMeta: {},
      			Spec: v1.PodSpec{
      				... // 2 identical fields
      				Containers:                    nil,
      				EphemeralContainers:           nil,
    - 				RestartPolicy:                 "Always",
    + 				RestartPolicy:                 "",
    - 				TerminationGracePeriodSeconds: &30,
    + 				TerminationGracePeriodSeconds: nil,
      				ActiveDeadlineSeconds:         nil,
    - 				DNSPolicy:                     "ClusterFirst",
    + 				DNSPolicy:                     "",
      				NodeSelector:                  nil,
      				ServiceAccountName:            "",
      				... // 5 identical fields
      				HostIPC:               false,
      				ShareProcessNamespace: nil,
    - 				SecurityContext:       s"&PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,FSGroupChangePolicy:nil,SeccompProfile:nil,}",
    + 				SecurityContext:       nil,
      				ImagePullSecrets:      nil,
      				Hostname:              "",
      				Subdomain:             "",
      				Affinity:              nil,
    - 				SchedulerName:         "default-scheduler",
    + 				SchedulerName:         "",
      				Tolerations:           nil,
      				HostAliases:           nil,
      				... // 14 identical fields
      			},
      		},
      		Strategy: v1.DeploymentStrategy{
    - 			Type:          "RollingUpdate",
    + 			Type:          "",
    - 			RollingUpdate: s"&RollingUpdateDeployment{MaxUnavailable:25%,MaxSurge:25%,}",
    + 			RollingUpdate: nil,
      		},
      		MinReadySeconds:         0,
    - 		RevisionHistoryLimit:    &10,
    + 		RevisionHistoryLimit:    nil,
      		Paused:                  false,
    - 		ProgressDeadlineSeconds: &600,
    + 		ProgressDeadlineSeconds: nil,
      	},
      	Status: {},
      }
    
    ```
- [ ] apps/v1.ReplicaSet
    ```diff
      &v1.ReplicaSet{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.ReplicaSetSpec{
    - 		Replicas:        &1,
    + 		Replicas:        nil,
      		MinReadySeconds: 0,
      		Selector:        nil,
      		Template: v1.PodTemplateSpec{
      			ObjectMeta: {},
      			Spec: v1.PodSpec{
      				... // 2 identical fields
      				Containers:                    nil,
      				EphemeralContainers:           nil,
    - 				RestartPolicy:                 "Always",
    + 				RestartPolicy:                 "",
    - 				TerminationGracePeriodSeconds: &30,
    + 				TerminationGracePeriodSeconds: nil,
      				ActiveDeadlineSeconds:         nil,
    - 				DNSPolicy:                     "ClusterFirst",
    + 				DNSPolicy:                     "",
      				NodeSelector:                  nil,
      				ServiceAccountName:            "",
      				... // 5 identical fields
      				HostIPC:               false,
      				ShareProcessNamespace: nil,
    - 				SecurityContext:       s"&PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,FSGroupChangePolicy:nil,SeccompProfile:nil,}",
    + 				SecurityContext:       nil,
      				ImagePullSecrets:      nil,
      				Hostname:              "",
      				Subdomain:             "",
      				Affinity:              nil,
    - 				SchedulerName:         "default-scheduler",
    + 				SchedulerName:         "",
      				Tolerations:           nil,
      				HostAliases:           nil,
      				... // 14 identical fields
      			},
      		},
      	},
      	Status: {},
      }
    
    ```
- [ ] apps/v1.StatefulSet
    ```diff
      &v1.StatefulSet{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.StatefulSetSpec{
    - 		Replicas: &1,
    + 		Replicas: nil,
      		Selector: nil,
      		Template: v1.PodTemplateSpec{
      			ObjectMeta: {},
      			Spec: v1.PodSpec{
      				... // 2 identical fields
      				Containers:                    nil,
      				EphemeralContainers:           nil,
    - 				RestartPolicy:                 "Always",
    + 				RestartPolicy:                 "",
    - 				TerminationGracePeriodSeconds: &30,
    + 				TerminationGracePeriodSeconds: nil,
      				ActiveDeadlineSeconds:         nil,
    - 				DNSPolicy:                     "ClusterFirst",
    + 				DNSPolicy:                     "",
      				NodeSelector:                  nil,
      				ServiceAccountName:            "",
      				... // 5 identical fields
      				HostIPC:               false,
      				ShareProcessNamespace: nil,
    - 				SecurityContext:       s"&PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,FSGroupChangePolicy:nil,SeccompProfile:nil,}",
    + 				SecurityContext:       nil,
      				ImagePullSecrets:      nil,
      				Hostname:              "",
      				Subdomain:             "",
      				Affinity:              nil,
    - 				SchedulerName:         "default-scheduler",
    + 				SchedulerName:         "",
      				Tolerations:           nil,
      				HostAliases:           nil,
      				... // 14 identical fields
      			},
      		},
      		VolumeClaimTemplates: nil,
      		ServiceName:          "",
    - 		PodManagementPolicy:  "OrderedReady",
    + 		PodManagementPolicy:  "",
      		UpdateStrategy: v1.StatefulSetUpdateStrategy{
    - 			Type:          "RollingUpdate",
    + 			Type:          "",
    - 			RollingUpdate: s"&RollingUpdateStatefulSetStrategy{Partition:*0,MaxUnavailable:<nil>,}",
    + 			RollingUpdate: nil,
      		},
    - 		RevisionHistoryLimit:                 &10,
    + 		RevisionHistoryLimit:                 nil,
      		MinReadySeconds:                      0,
    - 		PersistentVolumeClaimRetentionPolicy: s"&StatefulSetPersistentVolumeClaimRetentionPolicy{WhenDeleted:Retain,WhenScaled:Retain,}",
    + 		PersistentVolumeClaimRetentionPolicy: nil,
      		Ordinals:                             nil,
      	},
      	Status: {},
      }
    
    ```
- [x] authentication.k8s.io/v1.SelfSubjectReview
- [ ] authentication.k8s.io/v1.TokenRequest
    ```diff
      &v1.TokenRequest{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.TokenRequestSpec{
      		Audiences:         nil,
    - 		ExpirationSeconds: &3600,
    + 		ExpirationSeconds: nil,
      		BoundObjectRef:    nil,
      	},
      	Status: {},
      }
    
    ```
- [x] authentication.k8s.io/v1.TokenReview
- [x] authentication.k8s.io/v1alpha1.SelfSubjectReview
- [x] authentication.k8s.io/v1beta1.SelfSubjectReview
- [x] authorization.k8s.io/v1.LocalSubjectAccessReview
- [x] authorization.k8s.io/v1.SelfSubjectAccessReview
- [x] authorization.k8s.io/v1.SelfSubjectRulesReview
- [x] authorization.k8s.io/v1.SubjectAccessReview
- [ ] autoscaling/v1.HorizontalPodAutoscaler
    ```diff
      &v1.HorizontalPodAutoscaler{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.HorizontalPodAutoscalerSpec{
      		ScaleTargetRef:                 {},
    - 		MinReplicas:                    &1,
    + 		MinReplicas:                    nil,
      		MaxReplicas:                    0,
      		TargetCPUUtilizationPercentage: nil,
      	},
      	Status: {},
      }
    
    ```
- [x] autoscaling/v1.Scale
- [ ] autoscaling/v2.HorizontalPodAutoscaler
    ```diff
      &v2.HorizontalPodAutoscaler{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v2.HorizontalPodAutoscalerSpec{
      		ScaleTargetRef: {},
    - 		MinReplicas:    &1,
    + 		MinReplicas:    nil,
      		MaxReplicas:    0,
    - 		Metrics: []v2.MetricSpec{
    - 			{
    - 				Type:     "Resource",
    - 				Resource: s"&ResourceMetricSource{Name:cpu,Target:MetricTarget{Type:Utilizat"...,
    - 			},
    - 		},
    + 		Metrics:  nil,
      		Behavior: nil,
      	},
      	Status: {},
      }
    
    ```
- [ ] batch/v1.CronJob
    ```diff
      &v1.CronJob{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.CronJobSpec{
      		Schedule:                "",
      		TimeZone:                nil,
      		StartingDeadlineSeconds: nil,
    - 		ConcurrencyPolicy:       "Allow",
    + 		ConcurrencyPolicy:       "",
    - 		Suspend:                 &false,
    + 		Suspend:                 nil,
      		JobTemplate: v1.JobTemplateSpec{
      			ObjectMeta: {},
      			Spec: v1.JobSpec{
      				... // 7 identical fields
      				Selector:       nil,
      				ManualSelector: nil,
      				Template: v1.PodTemplateSpec{
      					ObjectMeta: {},
      					Spec: v1.PodSpec{
      						... // 2 identical fields
      						Containers:                    nil,
      						EphemeralContainers:           nil,
    - 						RestartPolicy:                 "Always",
    + 						RestartPolicy:                 "",
    - 						TerminationGracePeriodSeconds: &30,
    + 						TerminationGracePeriodSeconds: nil,
      						ActiveDeadlineSeconds:         nil,
    - 						DNSPolicy:                     "ClusterFirst",
    + 						DNSPolicy:                     "",
      						NodeSelector:                  nil,
      						ServiceAccountName:            "",
      						... // 5 identical fields
      						HostIPC:               false,
      						ShareProcessNamespace: nil,
    - 						SecurityContext:       s"&PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,FSGroupChangePolicy:nil,SeccompProfile:nil,}",
    + 						SecurityContext:       nil,
      						ImagePullSecrets:      nil,
      						Hostname:              "",
      						Subdomain:             "",
      						Affinity:              nil,
    - 						SchedulerName:         "default-scheduler",
    + 						SchedulerName:         "",
      						Tolerations:           nil,
      						HostAliases:           nil,
      						... // 14 identical fields
      					},
      				},
      				TTLSecondsAfterFinished: nil,
      				CompletionMode:          nil,
      				... // 2 identical fields
      			},
      		},
    - 		SuccessfulJobsHistoryLimit: &3,
    + 		SuccessfulJobsHistoryLimit: nil,
    - 		FailedJobsHistoryLimit:     &1,
    + 		FailedJobsHistoryLimit:     nil,
      	},
      	Status: {},
      }
    
    ```
- [ ] batch/v1.Job
    ```diff
      &v1.Job{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.JobSpec{
    - 		Parallelism:           &1,
    + 		Parallelism:           nil,
    - 		Completions:           &1,
    + 		Completions:           nil,
      		ActiveDeadlineSeconds: nil,
      		PodFailurePolicy:      nil,
    - 		BackoffLimit:          &6,
    + 		BackoffLimit:          nil,
      		BackoffLimitPerIndex:  nil,
      		MaxFailedIndexes:      nil,
      		Selector:              nil,
      		ManualSelector:        nil,
      		Template: v1.PodTemplateSpec{
      			ObjectMeta: {},
      			Spec: v1.PodSpec{
      				... // 2 identical fields
      				Containers:                    nil,
      				EphemeralContainers:           nil,
    - 				RestartPolicy:                 "Always",
    + 				RestartPolicy:                 "",
    - 				TerminationGracePeriodSeconds: &30,
    + 				TerminationGracePeriodSeconds: nil,
      				ActiveDeadlineSeconds:         nil,
    - 				DNSPolicy:                     "ClusterFirst",
    + 				DNSPolicy:                     "",
      				NodeSelector:                  nil,
      				ServiceAccountName:            "",
      				... // 5 identical fields
      				HostIPC:               false,
      				ShareProcessNamespace: nil,
    - 				SecurityContext:       s"&PodSecurityContext{SELinuxOptions:nil,RunAsUser:nil,RunAsNonRoot:nil,SupplementalGroups:[],FSGroup:nil,RunAsGroup:nil,Sysctls:[]Sysctl{},WindowsOptions:nil,FSGroupChangePolicy:nil,SeccompProfile:nil,}",
    + 				SecurityContext:       nil,
      				ImagePullSecrets:      nil,
      				Hostname:              "",
      				Subdomain:             "",
      				Affinity:              nil,
    - 				SchedulerName:         "default-scheduler",
    + 				SchedulerName:         "",
      				Tolerations:           nil,
      				HostAliases:           nil,
      				... // 14 identical fields
      			},
      		},
      		TTLSecondsAfterFinished: nil,
    - 		CompletionMode:          &"NonIndexed",
    + 		CompletionMode:          nil,
    - 		Suspend:                 &false,
    + 		Suspend:                 nil,
      		PodReplacementPolicy:    nil,
      	},
      	Status: {},
      }
    
    ```
- [x] certificates.k8s.io/v1.CertificateSigningRequest
- [x] certificates.k8s.io/v1alpha1.ClusterTrustBundle
- [x] coordination.k8s.io/v1.Lease
- [ ] discovery.k8s.io/v1.EndpointSlice
    ```diff
      &v1.EndpointSlice{
      	... // 2 identical fields
      	AddressType: "",
      	Endpoints:   {{}},
      	Ports: []v1.EndpointPort{
      		{
    - 			Name:        &"",
    + 			Name:        nil,
    - 			Protocol:    &"TCP",
    + 			Protocol:    nil,
      			Port:        nil,
      			AppProtocol: nil,
      		},
      	},
      }
    
    ```
- [x] events.k8s.io/v1.Event
- [ ] flowcontrol.apiserver.k8s.io/v1beta2.FlowSchema
    ```diff
      &v1beta2.FlowSchema{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1beta2.FlowSchemaSpec{
      		PriorityLevelConfiguration: {},
    - 		MatchingPrecedence:         1000,
    + 		MatchingPrecedence:         0,
      		DistinguisherMethod:        nil,
      		Rules:                      nil,
      	},
      	Status: {},
      }
    
    ```
- [ ] flowcontrol.apiserver.k8s.io/v1beta2.PriorityLevelConfiguration
    ```diff
      &v1beta2.PriorityLevelConfiguration{
      	TypeMeta:   {},
      	ObjectMeta: {OwnerReferences: {{}}, ManagedFields: {{}}},
      	Spec: v1beta2.PriorityLevelConfigurationSpec{
      		Type: "",
      		Limited: &v1beta2.LimitedPriorityLevelConfiguration{
    - 			AssuredConcurrencyShares: 30,
    + 			AssuredConcurrencyShares: 0,
      			LimitResponse:            {},
    - 			LendablePercent:          &0,
    + 			LendablePercent:          nil,
      			BorrowingLimitPercent:    nil,
      		},
      		Exempt: &v1beta2.ExemptPriorityLevelConfiguration{
    - 			NominalConcurrencyShares: &0,
    + 			NominalConcurrencyShares: nil,
    - 			LendablePercent:          &0,
    + 			LendablePercent:          nil,
      		},
      	},
      	Status: {Conditions: {{}}},
      }
    
    ```
- [ ] flowcontrol.apiserver.k8s.io/v1beta3.FlowSchema
    ```diff
      &v1beta3.FlowSchema{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1beta3.FlowSchemaSpec{
      		PriorityLevelConfiguration: {},
    - 		MatchingPrecedence:         1000,
    + 		MatchingPrecedence:         0,
      		DistinguisherMethod:        nil,
      		Rules:                      nil,
      	},
      	Status: {},
      }
    
    ```
- [ ] flowcontrol.apiserver.k8s.io/v1beta3.PriorityLevelConfiguration
    ```diff
      &v1beta3.PriorityLevelConfiguration{
      	TypeMeta:   {},
      	ObjectMeta: {OwnerReferences: {{}}, ManagedFields: {{}}},
      	Spec: v1beta3.PriorityLevelConfigurationSpec{
      		Type: "",
      		Limited: &v1beta3.LimitedPriorityLevelConfiguration{
    - 			NominalConcurrencyShares: 30,
    + 			NominalConcurrencyShares: 0,
      			LimitResponse:            {},
    - 			LendablePercent:          &0,
    + 			LendablePercent:          nil,
      			BorrowingLimitPercent:    nil,
      		},
      		Exempt: &v1beta3.ExemptPriorityLevelConfiguration{
    - 			NominalConcurrencyShares: &0,
    + 			NominalConcurrencyShares: nil,
    - 			LendablePercent:          &0,
    + 			LendablePercent:          nil,
      		},
      	},
      	Status: {Conditions: {{}}},
      }
    
    ```
- [x] internal.apiserver.k8s.io/v1alpha1.StorageVersion
- [x] networking.k8s.io/v1.Ingress
- [ ] networking.k8s.io/v1.IngressClass
    ```diff
      &v1.IngressClass{
      	TypeMeta:   {},
      	ObjectMeta: {OwnerReferences: {{}}, ManagedFields: {{}}},
      	Spec: v1.IngressClassSpec{
      		Controller: "",
      		Parameters: &v1.IngressClassParametersReference{
      			APIGroup:  nil,
      			Kind:      "",
      			Name:      "",
    - 			Scope:     &"Cluster",
    + 			Scope:     nil,
      			Namespace: nil,
      		},
      	},
      }
    
    ```
- [ ] networking.k8s.io/v1.NetworkPolicy
    ```diff
      &v1.NetworkPolicy{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.NetworkPolicySpec{
      		PodSelector: {},
      		Ingress:     nil,
      		Egress:      nil,
    - 		PolicyTypes: []v1.PolicyType{"Ingress"},
    + 		PolicyTypes: nil,
      	},
      }
    
    ```
- [x] networking.k8s.io/v1alpha1.ClusterCIDR
- [x] networking.k8s.io/v1alpha1.IPAddress
- [x] node.k8s.io/v1.RuntimeClass
- [x] policy/v1.Eviction
- [x] policy/v1.PodDisruptionBudget
- [x] rbac.authorization.k8s.io/v1.ClusterRole
- [ ] rbac.authorization.k8s.io/v1.ClusterRoleBinding
    ```diff
      &v1.ClusterRoleBinding{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Subjects:   nil,
      	RoleRef: v1.RoleRef{
    - 		APIGroup: "rbac.authorization.k8s.io",
    + 		APIGroup: "",
      		Kind:     "",
      		Name:     "",
      	},
      }
    
    ```
- [x] rbac.authorization.k8s.io/v1.Role
- [ ] rbac.authorization.k8s.io/v1.RoleBinding
    ```diff
      &v1.RoleBinding{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Subjects:   nil,
      	RoleRef: v1.RoleRef{
    - 		APIGroup: "rbac.authorization.k8s.io",
    + 		APIGroup: "",
      		Kind:     "",
      		Name:     "",
      	},
      }
    
    ```
- [x] resource.k8s.io/v1alpha2.PodSchedulingContext
- [ ] resource.k8s.io/v1alpha2.ResourceClaim
    ```diff
      &v1alpha2.ResourceClaim{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1alpha2.ResourceClaimSpec{
      		ResourceClassName: "",
      		ParametersRef:     nil,
    - 		AllocationMode:    "WaitForFirstConsumer",
    + 		AllocationMode:    "",
      	},
      	Status: {},
      }
    
    ```
- [ ] resource.k8s.io/v1alpha2.ResourceClaimTemplate
    ```diff
      &v1alpha2.ResourceClaimTemplate{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1alpha2.ResourceClaimTemplateSpec{
      		ObjectMeta: {},
      		Spec: v1alpha2.ResourceClaimSpec{
      			ResourceClassName: "",
      			ParametersRef:     nil,
    - 			AllocationMode:    "WaitForFirstConsumer",
    + 			AllocationMode:    "",
      		},
      	},
      }
    
    ```
- [x] resource.k8s.io/v1alpha2.ResourceClass
- [ ] scheduling.k8s.io/v1.PriorityClass
    ```diff
      &v1.PriorityClass{
      	... // 3 identical fields
      	GlobalDefault:    false,
      	Description:      "",
    - 	PreemptionPolicy: &"PreemptLowerPriority",
    + 	PreemptionPolicy: nil,
      }
    
    ```
- [ ] storage.k8s.io/v1.CSIDriver
    ```diff
      &v1.CSIDriver{
      	TypeMeta:   {},
      	ObjectMeta: {},
      	Spec: v1.CSIDriverSpec{
    - 		AttachRequired:       &true,
    + 		AttachRequired:       nil,
    - 		PodInfoOnMount:       &false,
    + 		PodInfoOnMount:       nil,
    - 		VolumeLifecycleModes: []v1.VolumeLifecycleMode{"Persistent"},
    + 		VolumeLifecycleModes: nil,
    - 		StorageCapacity:      &false,
    + 		StorageCapacity:      nil,
    - 		FSGroupPolicy:        &"ReadWriteOnceWithFSType",
    + 		FSGroupPolicy:        nil,
      		TokenRequests:        nil,
    - 		RequiresRepublish:    &false,
    + 		RequiresRepublish:    nil,
    - 		SELinuxMount:         &false,
    + 		SELinuxMount:         nil,
      	},
      }
    
    ```
- [x] storage.k8s.io/v1.CSINode
- [x] storage.k8s.io/v1.CSIStorageCapacity
- [ ] storage.k8s.io/v1.StorageClass
    ```diff
      &v1.StorageClass{
      	... // 2 identical fields
      	Provisioner:          "",
      	Parameters:           nil,
    - 	ReclaimPolicy:        &"Delete",
    + 	ReclaimPolicy:        nil,
      	MountOptions:         nil,
      	AllowVolumeExpansion: nil,
    - 	VolumeBindingMode:    &"Immediate",
    + 	VolumeBindingMode:    nil,
      	AllowedTopologies:    nil,
      }
    
    ```
- [ ] storage.k8s.io/v1.VolumeAttachment
    ```diff
      &v1.VolumeAttachment{
      	TypeMeta:   {},
      	ObjectMeta: {OwnerReferences: {{}}, ManagedFields: {{}}},
      	Spec: v1.VolumeAttachmentSpec{
      		Attacher: "",
      		Source: v1.VolumeAttachmentSource{
      			PersistentVolumeName: nil,
      			InlineVolumeSpec: &v1.PersistentVolumeSpec{
      				Capacity: {s"": {s: "0", Format: "DecimalSI"}},
      				PersistentVolumeSource: v1.PersistentVolumeSource{
      					GCEPersistentDisk:    &{},
      					AWSElasticBlockStore: &{},
      					HostPath: &v1.HostPathVolumeSource{
      						Path: "",
    - 						Type: &"",
    + 						Type: nil,
      					},
      					Glusterfs: &{},
      					NFS:       &{},
      					RBD: &v1.RBDPersistentVolumeSource{
      						CephMonitors: nil,
      						RBDImage:     "",
      						FSType:       "",
    - 						RBDPool:      "rbd",
    + 						RBDPool:      "",
    - 						RadosUser:    "admin",
    + 						RadosUser:    "",
    - 						Keyring:      "/etc/ceph/keyring",
    + 						Keyring:      "",
      						SecretRef:    nil,
      						ReadOnly:     false,
      					},
      					ISCSI: &v1.ISCSIPersistentVolumeSource{
      						TargetPortal:   "",
      						IQN:            "",
      						Lun:            0,
    - 						ISCSIInterface: "default",
    + 						ISCSIInterface: "",
      						FSType:         "",
      						ReadOnly:       false,
      						... // 5 identical fields
      					},
      					Cinder: &{},
      					CephFS: &{},
      					... // 4 identical fields
      					VsphereVolume: &{},
      					Quobyte:       &{},
      					AzureDisk: &v1.AzureDiskVolumeSource{
      						DiskName:    "",
      						DataDiskURI: "",
    - 						CachingMode: &"ReadWrite",
    + 						CachingMode: nil,
    - 						FSType:      &"ext4",
    + 						FSType:      nil,
    - 						ReadOnly:    &false,
    + 						ReadOnly:    nil,
    - 						Kind:        &"Shared",
    + 						Kind:        nil,
      					},
      					PhotonPersistentDisk: &{},
      					PortworxVolume:       &{},
      					ScaleIO: &v1.ScaleIOPersistentVolumeSource{
      						... // 4 identical fields
      						ProtectionDomain: "",
      						StoragePool:      "",
    - 						StorageMode:      "ThinProvisioned",
    + 						StorageMode:      "",
      						VolumeName:       "",
    - 						FSType:           "xfs",
    + 						FSType:           "",
      						ReadOnly:         false,
      					},
      					Local:     &{},
      					StorageOS: &{},
      					CSI:       &{},
      				},
      				AccessModes: nil,
      				ClaimRef:    &{},
      				... // 5 identical fields
      			},
      		},
      		NodeName: "",
      	},
      	Status: {AttachError: &{}, DetachError: &{}},
      }
    
    ```



### What did you expect to happen?

The diff between OpenAPI defaulting and native defaulting to be minimal/empty.

### How can we reproduce it (as minimally and precisely as possible)?

Look at OpenAPI spec and look at corresponding `defaults.go`

/sig api-machinery

### Anything else we need to know?

_No response_

### Kubernetes version

<details>

```console
$ kubectl version
# paste output here
```

</details>


### Cloud provider

<details>

</details>


### OS version

<details>

```console
# On Linux:
$ cat /etc/os-release
# paste output here
$ uname -a
# paste output here

# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here
```

</details>


### Install tools

<details>

</details>


### Container runtime (CRI) and version (if applicable)

<details>

</details>


### Related plugins (CNI, CSI, ...) and versions (if applicable)

<details>

</details>