Merge pull request #31089 from ping035627/ping035627-patch-0822

Automatic merge from submit-queue

Optimise the DefaultGenerators function

It needn't define all the generators in the "DefaultGenerators" function, it just return the "cmdName" generator, the others is redundant.
This commit is contained in:
Kubernetes Submit Queue 2016-09-10 07:43:02 -07:00 committed by GitHub
commit 099d47f0eb

View File

@ -191,24 +191,31 @@ const (
// DefaultGenerators returns the set of default generators for use in Factory instances // DefaultGenerators returns the set of default generators for use in Factory instances
func DefaultGenerators(cmdName string) map[string]kubectl.Generator { func DefaultGenerators(cmdName string) map[string]kubectl.Generator {
generators := map[string]map[string]kubectl.Generator{} var generator map[string]kubectl.Generator
generators["expose"] = map[string]kubectl.Generator{ switch cmdName {
case "expose":
generator = map[string]kubectl.Generator{
ServiceV1GeneratorName: kubectl.ServiceGeneratorV1{}, ServiceV1GeneratorName: kubectl.ServiceGeneratorV1{},
ServiceV2GeneratorName: kubectl.ServiceGeneratorV2{}, ServiceV2GeneratorName: kubectl.ServiceGeneratorV2{},
} }
generators["service-clusterip"] = map[string]kubectl.Generator{ case "service-clusterip":
generator = map[string]kubectl.Generator{
ServiceClusterIPGeneratorV1Name: kubectl.ServiceClusterIPGeneratorV1{}, ServiceClusterIPGeneratorV1Name: kubectl.ServiceClusterIPGeneratorV1{},
} }
generators["service-nodeport"] = map[string]kubectl.Generator{ case "service-nodeport":
generator = map[string]kubectl.Generator{
ServiceNodePortGeneratorV1Name: kubectl.ServiceNodePortGeneratorV1{}, ServiceNodePortGeneratorV1Name: kubectl.ServiceNodePortGeneratorV1{},
} }
generators["service-loadbalancer"] = map[string]kubectl.Generator{ case "service-loadbalancer":
generator = map[string]kubectl.Generator{
ServiceLoadBalancerGeneratorV1Name: kubectl.ServiceLoadBalancerGeneratorV1{}, ServiceLoadBalancerGeneratorV1Name: kubectl.ServiceLoadBalancerGeneratorV1{},
} }
generators["deployment"] = map[string]kubectl.Generator{ case "deployment":
generator = map[string]kubectl.Generator{
DeploymentBasicV1Beta1GeneratorName: kubectl.DeploymentBasicGeneratorV1{}, DeploymentBasicV1Beta1GeneratorName: kubectl.DeploymentBasicGeneratorV1{},
} }
generators["run"] = map[string]kubectl.Generator{ case "run":
generator = map[string]kubectl.Generator{
RunV1GeneratorName: kubectl.BasicReplicationController{}, RunV1GeneratorName: kubectl.BasicReplicationController{},
RunPodV1GeneratorName: kubectl.BasicPod{}, RunPodV1GeneratorName: kubectl.BasicPod{},
DeploymentV1Beta1GeneratorName: kubectl.DeploymentV1Beta1{}, DeploymentV1Beta1GeneratorName: kubectl.DeploymentV1Beta1{},
@ -216,29 +223,34 @@ func DefaultGenerators(cmdName string) map[string]kubectl.Generator {
JobV1GeneratorName: kubectl.JobV1{}, JobV1GeneratorName: kubectl.JobV1{},
ScheduledJobV2Alpha1GeneratorName: kubectl.ScheduledJobV2Alpha1{}, ScheduledJobV2Alpha1GeneratorName: kubectl.ScheduledJobV2Alpha1{},
} }
generators["autoscale"] = map[string]kubectl.Generator{ case "autoscale":
generator = map[string]kubectl.Generator{
HorizontalPodAutoscalerV1Beta1GeneratorName: kubectl.HorizontalPodAutoscalerV1Beta1{}, HorizontalPodAutoscalerV1Beta1GeneratorName: kubectl.HorizontalPodAutoscalerV1Beta1{},
HorizontalPodAutoscalerV1GeneratorName: kubectl.HorizontalPodAutoscalerV1{}, HorizontalPodAutoscalerV1GeneratorName: kubectl.HorizontalPodAutoscalerV1{},
} }
generators["namespace"] = map[string]kubectl.Generator{ case "namespace":
generator = map[string]kubectl.Generator{
NamespaceV1GeneratorName: kubectl.NamespaceGeneratorV1{}, NamespaceV1GeneratorName: kubectl.NamespaceGeneratorV1{},
} }
case "quota":
generators["quota"] = map[string]kubectl.Generator{ generator = map[string]kubectl.Generator{
ResourceQuotaV1GeneratorName: kubectl.ResourceQuotaGeneratorV1{}, ResourceQuotaV1GeneratorName: kubectl.ResourceQuotaGeneratorV1{},
} }
case "secret":
generators["secret"] = map[string]kubectl.Generator{ generator = map[string]kubectl.Generator{
SecretV1GeneratorName: kubectl.SecretGeneratorV1{}, SecretV1GeneratorName: kubectl.SecretGeneratorV1{},
} }
generators["secret-for-docker-registry"] = map[string]kubectl.Generator{ case "secret-for-docker-registry":
generator = map[string]kubectl.Generator{
SecretForDockerRegistryV1GeneratorName: kubectl.SecretForDockerRegistryGeneratorV1{}, SecretForDockerRegistryV1GeneratorName: kubectl.SecretForDockerRegistryGeneratorV1{},
} }
generators["secret-for-tls"] = map[string]kubectl.Generator{ case "secret-for-tls":
generator = map[string]kubectl.Generator{
SecretForTLSV1GeneratorName: kubectl.SecretForTLSGeneratorV1{}, SecretForTLSV1GeneratorName: kubectl.SecretForTLSGeneratorV1{},
} }
}
return generators[cmdName] return generator
} }
func getGroupVersionKinds(gvks []unversioned.GroupVersionKind, group string) []unversioned.GroupVersionKind { func getGroupVersionKinds(gvks []unversioned.GroupVersionKind, group string) []unversioned.GroupVersionKind {