remove legacyscheme dep from printFlags

pull/8/head
juanvallejo 2018-05-08 16:05:48 -04:00
parent d09cd75ea6
commit 40e52bf07d
53 changed files with 136 additions and 105 deletions

View File

@ -30,14 +30,15 @@ import (
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/json" "k8s.io/apimachinery/pkg/util/json"
"k8s.io/kubernetes/pkg/printers"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates" "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/genericclioptions" "k8s.io/kubernetes/pkg/kubectl/genericclioptions"
"k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/util/i18n" "k8s.io/kubernetes/pkg/kubectl/util/i18n"
"k8s.io/kubernetes/pkg/printers"
) )
// AnnotateOptions have the data required to perform the annotate operation // AnnotateOptions have the data required to perform the annotate operation
@ -110,7 +111,7 @@ var (
func NewAnnotateOptions(ioStreams genericclioptions.IOStreams) *AnnotateOptions { func NewAnnotateOptions(ioStreams genericclioptions.IOStreams) *AnnotateOptions {
return &AnnotateOptions{ return &AnnotateOptions{
PrintFlags: printers.NewPrintFlags("annotated"), PrintFlags: printers.NewPrintFlags("annotated", legacyscheme.Scheme),
RecordFlags: genericclioptions.NewRecordFlags(), RecordFlags: genericclioptions.NewRecordFlags(),
Recorder: genericclioptions.NoopRecorder{}, Recorder: genericclioptions.NoopRecorder{},

View File

@ -42,6 +42,7 @@ import (
"k8s.io/client-go/dynamic" "k8s.io/client-go/dynamic"
scaleclient "k8s.io/client-go/scale" scaleclient "k8s.io/client-go/scale"
oapi "k8s.io/kube-openapi/pkg/util/proto" oapi "k8s.io/kube-openapi/pkg/util/proto"
"k8s.io/kubernetes/pkg/api/legacyscheme"
api "k8s.io/kubernetes/pkg/apis/core" api "k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl"
@ -118,7 +119,7 @@ func NewApplyOptions(ioStreams genericclioptions.IOStreams) *ApplyOptions {
return &ApplyOptions{ return &ApplyOptions{
RecordFlags: genericclioptions.NewRecordFlags(), RecordFlags: genericclioptions.NewRecordFlags(),
DeleteFlags: NewDeleteFlags("that contains the configuration to apply"), DeleteFlags: NewDeleteFlags("that contains the configuration to apply"),
PrintFlags: printers.NewPrintFlags("created"), PrintFlags: printers.NewPrintFlags("created", legacyscheme.Scheme),
Overwrite: true, Overwrite: true,
OpenApiPatch: true, OpenApiPatch: true,

View File

@ -26,6 +26,7 @@ import (
"k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates" "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
@ -82,7 +83,7 @@ var (
func NewSetLastAppliedOptions(ioStreams genericclioptions.IOStreams) *SetLastAppliedOptions { func NewSetLastAppliedOptions(ioStreams genericclioptions.IOStreams) *SetLastAppliedOptions {
return &SetLastAppliedOptions{ return &SetLastAppliedOptions{
PrintFlags: printers.NewPrintFlags("configured"), PrintFlags: printers.NewPrintFlags("configured", legacyscheme.Scheme),
IOStreams: ioStreams, IOStreams: ioStreams,
} }
} }

View File

@ -63,7 +63,7 @@ var (
func NewReconcileOptions(ioStreams genericclioptions.IOStreams) *ReconcileOptions { func NewReconcileOptions(ioStreams genericclioptions.IOStreams) *ReconcileOptions {
return &ReconcileOptions{ return &ReconcileOptions{
FilenameOptions: &resource.FilenameOptions{}, FilenameOptions: &resource.FilenameOptions{},
PrintFlags: printers.NewPrintFlags("reconciled"), PrintFlags: printers.NewPrintFlags("reconciled", legacyscheme.Scheme),
IOStreams: ioStreams, IOStreams: ioStreams,
} }
} }

View File

@ -82,7 +82,7 @@ type AutoscaleOptions struct {
func NewAutoscaleOptions(ioStreams genericclioptions.IOStreams) *AutoscaleOptions { func NewAutoscaleOptions(ioStreams genericclioptions.IOStreams) *AutoscaleOptions {
return &AutoscaleOptions{ return &AutoscaleOptions{
PrintFlags: printers.NewPrintFlags("autoscaled"), PrintFlags: printers.NewPrintFlags("autoscaled", legacyscheme.Scheme),
FilenameOptions: &resource.FilenameOptions{}, FilenameOptions: &resource.FilenameOptions{},
RecordFlags: genericclioptions.NewRecordFlags(), RecordFlags: genericclioptions.NewRecordFlags(),
Recorder: genericclioptions.NoopRecorder{}, Recorder: genericclioptions.NoopRecorder{},

View File

@ -98,7 +98,7 @@ func (o *CertificateOptions) Validate() error {
func NewCmdCertificateApprove(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command { func NewCmdCertificateApprove(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command {
options := CertificateOptions{ options := CertificateOptions{
PrintFlags: printers.NewPrintFlags("approved"), PrintFlags: printers.NewPrintFlags("approved", legacyscheme.Scheme),
IOStreams: ioStreams, IOStreams: ioStreams,
} }
cmd := &cobra.Command{ cmd := &cobra.Command{
@ -155,7 +155,7 @@ func (o *CertificateOptions) RunCertificateApprove(force bool) error {
func NewCmdCertificateDeny(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command { func NewCmdCertificateDeny(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command {
options := CertificateOptions{ options := CertificateOptions{
PrintFlags: printers.NewPrintFlags("denied"), PrintFlags: printers.NewPrintFlags("denied", legacyscheme.Scheme),
IOStreams: ioStreams, IOStreams: ioStreams,
} }
cmd := &cobra.Command{ cmd := &cobra.Command{

View File

@ -28,6 +28,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
restclient "k8s.io/client-go/rest" restclient "k8s.io/client-go/rest"
"k8s.io/kubernetes/pkg/api/legacyscheme"
api "k8s.io/kubernetes/pkg/apis/core" api "k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates" "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
@ -56,7 +57,7 @@ type ClusterInfoDumpOptions struct {
// NewCmdCreateSecret groups subcommands to create various types of secrets // NewCmdCreateSecret groups subcommands to create various types of secrets
func NewCmdClusterInfoDump(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command { func NewCmdClusterInfoDump(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command {
o := &ClusterInfoDumpOptions{ o := &ClusterInfoDumpOptions{
PrintFlags: printers.NewPrintFlags(""), PrintFlags: printers.NewPrintFlags("", legacyscheme.Scheme),
IOStreams: ioStreams, IOStreams: ioStreams,
} }

View File

@ -29,12 +29,14 @@ go_library(
"//build/visible_to:pkg_kubectl_cmd_config_CONSUMERS", "//build/visible_to:pkg_kubectl_cmd_config_CONSUMERS",
], ],
deps = [ deps = [
"//pkg/api/legacyscheme:go_default_library",
"//pkg/kubectl/cmd/templates:go_default_library", "//pkg/kubectl/cmd/templates:go_default_library",
"//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/cmd/util:go_default_library",
"//pkg/kubectl/genericclioptions:go_default_library", "//pkg/kubectl/genericclioptions:go_default_library",
"//pkg/kubectl/util/i18n:go_default_library", "//pkg/kubectl/util/i18n:go_default_library",
"//pkg/printers:go_default_library", "//pkg/printers:go_default_library",
"//vendor/github.com/spf13/cobra:go_default_library", "//vendor/github.com/spf13/cobra:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//vendor/k8s.io/apiserver/pkg/util/flag:go_default_library", "//vendor/k8s.io/apiserver/pkg/util/flag:go_default_library",

View File

@ -19,6 +19,7 @@ package config
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/kubernetes/pkg/printers" "k8s.io/kubernetes/pkg/printers"
) )
@ -74,14 +75,14 @@ func (f *kubectlConfigPrintFlags) WithDefaultOutput(output string) *kubectlConfi
return f return f
} }
func newKubeConfigPrintFlags(operation string) *kubectlConfigPrintFlags { func newKubeConfigPrintFlags(scheme runtime.ObjectConvertor) *kubectlConfigPrintFlags {
outputFormat := "" outputFormat := ""
return &kubectlConfigPrintFlags{ return &kubectlConfigPrintFlags{
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(scheme),
NamePrintFlags: printers.NewNamePrintFlags(operation), NamePrintFlags: printers.NewNamePrintFlags("", scheme),
TemplateFlags: printers.NewKubeTemplatePrintFlags(), TemplateFlags: printers.NewKubeTemplatePrintFlags(),
} }
} }

View File

@ -25,6 +25,7 @@ import (
"k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api" clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
"k8s.io/client-go/tools/clientcmd/api/latest" "k8s.io/client-go/tools/clientcmd/api/latest"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates" "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/genericclioptions" "k8s.io/kubernetes/pkg/kubectl/genericclioptions"
@ -68,7 +69,7 @@ var (
func NewCmdConfigView(f cmdutil.Factory, streams genericclioptions.IOStreams, ConfigAccess clientcmd.ConfigAccess) *cobra.Command { func NewCmdConfigView(f cmdutil.Factory, streams genericclioptions.IOStreams, ConfigAccess clientcmd.ConfigAccess) *cobra.Command {
o := &ViewOptions{ o := &ViewOptions{
PrintFlags: newKubeConfigPrintFlags("").WithDefaultOutput("yaml"), PrintFlags: newKubeConfigPrintFlags(legacyscheme.Scheme).WithDefaultOutput("yaml"),
ConfigAccess: ConfigAccess, ConfigAccess: ConfigAccess,
IOStreams: streams, IOStreams: streams,

View File

@ -103,7 +103,7 @@ type ConvertOptions struct {
func NewConvertOptions(ioStreams genericclioptions.IOStreams) *ConvertOptions { func NewConvertOptions(ioStreams genericclioptions.IOStreams) *ConvertOptions {
return &ConvertOptions{ return &ConvertOptions{
PrintFlags: printers.NewPrintFlags("converted").WithDefaultOutput("yaml"), PrintFlags: printers.NewPrintFlags("converted", scheme.Scheme).WithDefaultOutput("yaml"),
local: true, local: true,
IOStreams: ioStreams, IOStreams: ioStreams,
} }

View File

@ -19,14 +19,13 @@ package create
import ( import (
"fmt" "fmt"
"io" "io"
"net/url"
"os" "os"
"runtime" "runtime"
"strings" "strings"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"net/url"
"github.com/golang/glog" "github.com/golang/glog"
"k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
@ -78,7 +77,7 @@ var (
func NewCreateOptions(ioStreams genericclioptions.IOStreams) *CreateOptions { func NewCreateOptions(ioStreams genericclioptions.IOStreams) *CreateOptions {
return &CreateOptions{ return &CreateOptions{
PrintFlags: NewPrintFlags("created"), PrintFlags: NewPrintFlags("created", legacyscheme.Scheme),
RecordFlags: genericclioptions.NewRecordFlags(), RecordFlags: genericclioptions.NewRecordFlags(),
Recorder: genericclioptions.NoopRecorder{}, Recorder: genericclioptions.NoopRecorder{},
@ -347,7 +346,7 @@ type CreateSubcommandOptions struct {
func NewCreateSubcommandOptions(ioStreams genericclioptions.IOStreams) *CreateSubcommandOptions { func NewCreateSubcommandOptions(ioStreams genericclioptions.IOStreams) *CreateSubcommandOptions {
return &CreateSubcommandOptions{ return &CreateSubcommandOptions{
PrintFlags: NewPrintFlags("created"), PrintFlags: NewPrintFlags("created", legacyscheme.Scheme),
IOStreams: ioStreams, IOStreams: ioStreams,
} }
} }

View File

@ -142,7 +142,7 @@ func TestCreateDeploymentNoImage(t *testing.T) {
cmd.Flags().Set("output", "name") cmd.Flags().Set("output", "name")
options := &DeploymentOpts{ options := &DeploymentOpts{
CreateSubcommandOptions: &CreateSubcommandOptions{ CreateSubcommandOptions: &CreateSubcommandOptions{
PrintFlags: NewPrintFlags("created"), PrintFlags: NewPrintFlags("created", legacyscheme.Scheme),
DryRun: true, DryRun: true,
IOStreams: ioStreams, IOStreams: ioStreams,
}, },

View File

@ -26,6 +26,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
clientbatchv1 "k8s.io/client-go/kubernetes/typed/batch/v1" clientbatchv1 "k8s.io/client-go/kubernetes/typed/batch/v1"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates" "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/genericclioptions" "k8s.io/kubernetes/pkg/kubectl/genericclioptions"
@ -63,7 +64,7 @@ type CreateJobOptions struct {
func NewCreateJobOptions(ioStreams genericclioptions.IOStreams) *CreateJobOptions { func NewCreateJobOptions(ioStreams genericclioptions.IOStreams) *CreateJobOptions {
return &CreateJobOptions{ return &CreateJobOptions{
PrintFlags: NewPrintFlags("created"), PrintFlags: NewPrintFlags("created", legacyscheme.Scheme),
IOStreams: ioStreams, IOStreams: ioStreams,
} }
} }

View File

@ -26,6 +26,7 @@ import (
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
fake "k8s.io/client-go/kubernetes/fake" fake "k8s.io/client-go/kubernetes/fake"
clienttesting "k8s.io/client-go/testing" clienttesting "k8s.io/client-go/testing"
"k8s.io/kubernetes/pkg/api/legacyscheme"
cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing"
"k8s.io/kubernetes/pkg/kubectl/genericclioptions" "k8s.io/kubernetes/pkg/kubectl/genericclioptions"
) )
@ -84,7 +85,7 @@ func TestCreateJobFromCronJob(t *testing.T) {
f := cmdtesting.NewTestFactory() f := cmdtesting.NewTestFactory()
defer f.Cleanup() defer f.Cleanup()
printFlags := NewPrintFlags("created") printFlags := NewPrintFlags("created", legacyscheme.Scheme)
ioStreams, _, buf, _ := genericclioptions.NewTestIOStreams() ioStreams, _, buf, _ := genericclioptions.NewTestIOStreams()
cmdOptions := &CreateJobOptions{ cmdOptions := &CreateJobOptions{

View File

@ -59,7 +59,7 @@ func TestCreatePdb(t *testing.T) {
cmd.Flags().Set("dry-run", "true") cmd.Flags().Set("dry-run", "true")
cmd.Flags().Set("output", outputFormat) cmd.Flags().Set("output", outputFormat)
printFlags := NewPrintFlags("created") printFlags := NewPrintFlags("created", legacyscheme.Scheme)
printFlags.OutputFormat = &outputFormat printFlags.OutputFormat = &outputFormat
options := &PodDisruptionBudgetOpts{ options := &PodDisruptionBudgetOpts{

View File

@ -59,7 +59,7 @@ func TestCreatePriorityClass(t *testing.T) {
cmd.Flags().Set("dry-run", "true") cmd.Flags().Set("dry-run", "true")
cmd.Flags().Set("output", outputFormat) cmd.Flags().Set("output", outputFormat)
printFlags := NewPrintFlags("created") printFlags := NewPrintFlags("created", legacyscheme.Scheme)
printFlags.OutputFormat = &outputFormat printFlags.OutputFormat = &outputFormat
options := &PriorityClassOpts{ options := &PriorityClassOpts{

View File

@ -28,6 +28,7 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
clientgorbacv1 "k8s.io/client-go/kubernetes/typed/rbac/v1" clientgorbacv1 "k8s.io/client-go/kubernetes/typed/rbac/v1"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates" "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/genericclioptions" "k8s.io/kubernetes/pkg/kubectl/genericclioptions"
@ -119,7 +120,7 @@ type CreateRoleOptions struct {
func NewCreateRoleOptions(ioStreams genericclioptions.IOStreams) *CreateRoleOptions { func NewCreateRoleOptions(ioStreams genericclioptions.IOStreams) *CreateRoleOptions {
return &CreateRoleOptions{ return &CreateRoleOptions{
PrintFlags: NewPrintFlags("created"), PrintFlags: NewPrintFlags("created", legacyscheme.Scheme),
IOStreams: ioStreams, IOStreams: ioStreams,
} }

View File

@ -376,14 +376,14 @@ func TestComplete(t *testing.T) {
"test-missing-name": { "test-missing-name": {
params: []string{}, params: []string{},
roleOptions: &CreateRoleOptions{ roleOptions: &CreateRoleOptions{
PrintFlags: NewPrintFlags("created"), PrintFlags: NewPrintFlags("created", legacyscheme.Scheme),
}, },
expectErr: true, expectErr: true,
}, },
"test-duplicate-verbs": { "test-duplicate-verbs": {
params: []string{roleName}, params: []string{roleName},
roleOptions: &CreateRoleOptions{ roleOptions: &CreateRoleOptions{
PrintFlags: NewPrintFlags("created"), PrintFlags: NewPrintFlags("created", legacyscheme.Scheme),
Name: roleName, Name: roleName,
Verbs: []string{ Verbs: []string{
"get", "get",
@ -416,7 +416,7 @@ func TestComplete(t *testing.T) {
"test-verball": { "test-verball": {
params: []string{roleName}, params: []string{roleName},
roleOptions: &CreateRoleOptions{ roleOptions: &CreateRoleOptions{
PrintFlags: NewPrintFlags("created"), PrintFlags: NewPrintFlags("created", legacyscheme.Scheme),
Name: roleName, Name: roleName,
Verbs: []string{ Verbs: []string{
"get", "get",
@ -445,7 +445,7 @@ func TestComplete(t *testing.T) {
"test-duplicate-resourcenames": { "test-duplicate-resourcenames": {
params: []string{roleName}, params: []string{roleName},
roleOptions: &CreateRoleOptions{ roleOptions: &CreateRoleOptions{
PrintFlags: NewPrintFlags("created"), PrintFlags: NewPrintFlags("created", legacyscheme.Scheme),
Name: roleName, Name: roleName,
Verbs: []string{"*"}, Verbs: []string{"*"},
ResourceNames: []string{"foo", "foo"}, ResourceNames: []string{"foo", "foo"},
@ -470,7 +470,7 @@ func TestComplete(t *testing.T) {
"test-valid-complete-case": { "test-valid-complete-case": {
params: []string{roleName}, params: []string{roleName},
roleOptions: &CreateRoleOptions{ roleOptions: &CreateRoleOptions{
PrintFlags: NewPrintFlags("created"), PrintFlags: NewPrintFlags("created", legacyscheme.Scheme),
Name: roleName, Name: roleName,
Verbs: []string{"*"}, Verbs: []string{"*"},
ResourceNames: []string{"foo"}, ResourceNames: []string{"foo"},

View File

@ -19,6 +19,7 @@ package create
import ( import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/kubernetes/pkg/printers" "k8s.io/kubernetes/pkg/printers"
) )
@ -68,14 +69,14 @@ func (f *PrintFlags) AddFlags(cmd *cobra.Command) {
} }
} }
func NewPrintFlags(operation string) *PrintFlags { func NewPrintFlags(operation string, scheme runtime.ObjectConvertor) *PrintFlags {
outputFormat := "" outputFormat := ""
return &PrintFlags{ return &PrintFlags{
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(scheme),
NamePrintFlags: printers.NewNamePrintFlags(operation), NamePrintFlags: printers.NewNamePrintFlags(operation, scheme),
TemplateFlags: printers.NewKubeTemplatePrintFlags(), TemplateFlags: printers.NewKubeTemplatePrintFlags(),
} }
} }

View File

@ -107,7 +107,7 @@ var (
func NewCmdCordon(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command { func NewCmdCordon(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command {
options := &DrainOptions{ options := &DrainOptions{
PrintFlags: printers.NewPrintFlags("cordoned"), PrintFlags: printers.NewPrintFlags("cordoned", legacyscheme.Scheme),
IOStreams: ioStreams, IOStreams: ioStreams,
} }
@ -139,7 +139,7 @@ var (
func NewCmdUncordon(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command { func NewCmdUncordon(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *cobra.Command {
options := &DrainOptions{ options := &DrainOptions{
PrintFlags: printers.NewPrintFlags("uncordoned"), PrintFlags: printers.NewPrintFlags("uncordoned", legacyscheme.Scheme),
IOStreams: ioStreams, IOStreams: ioStreams,
} }
@ -195,7 +195,7 @@ var (
func NewDrainOptions(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *DrainOptions { func NewDrainOptions(f cmdutil.Factory, ioStreams genericclioptions.IOStreams) *DrainOptions {
return &DrainOptions{ return &DrainOptions{
PrintFlags: printers.NewPrintFlags("drained"), PrintFlags: printers.NewPrintFlags("drained", legacyscheme.Scheme),
IOStreams: ioStreams, IOStreams: ioStreams,
backOff: clockwork.NewRealClock(), backOff: clockwork.NewRealClock(),

View File

@ -834,7 +834,7 @@ func TestDeletePods(t *testing.T) {
defer tf.Cleanup() defer tf.Cleanup()
o := DrainOptions{ o := DrainOptions{
PrintFlags: printers.NewPrintFlags("drained"), PrintFlags: printers.NewPrintFlags("drained", legacyscheme.Scheme),
} }
o.Out = os.Stdout o.Out = os.Stdout

View File

@ -110,7 +110,7 @@ type ExposeServiceOptions struct {
func NewExposeServiceOptions(ioStreams genericclioptions.IOStreams) *ExposeServiceOptions { func NewExposeServiceOptions(ioStreams genericclioptions.IOStreams) *ExposeServiceOptions {
return &ExposeServiceOptions{ return &ExposeServiceOptions{
RecordFlags: genericclioptions.NewRecordFlags(), RecordFlags: genericclioptions.NewRecordFlags(),
PrintFlags: printers.NewPrintFlags("exposed"), PrintFlags: printers.NewPrintFlags("exposed", legacyscheme.Scheme),
Recorder: genericclioptions.NoopRecorder{}, Recorder: genericclioptions.NoopRecorder{},
IOStreams: ioStreams, IOStreams: ioStreams,

View File

@ -136,7 +136,7 @@ const (
// NewGetOptions returns a GetOptions with default chunk size 500. // NewGetOptions returns a GetOptions with default chunk size 500.
func NewGetOptions(parent string, streams genericclioptions.IOStreams) *GetOptions { func NewGetOptions(parent string, streams genericclioptions.IOStreams) *GetOptions {
return &GetOptions{ return &GetOptions{
PrintFlags: NewGetPrintFlags(), PrintFlags: NewGetPrintFlags(legacyscheme.Scheme),
CmdParent: parent, CmdParent: parent,
IOStreams: streams, IOStreams: streams,

View File

@ -22,6 +22,7 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/kubernetes/pkg/kubectl/cmd/util/openapi" "k8s.io/kubernetes/pkg/kubectl/cmd/util/openapi"
"k8s.io/kubernetes/pkg/printers" "k8s.io/kubernetes/pkg/printers"
@ -152,7 +153,7 @@ func (f *PrintFlags) AddFlags(cmd *cobra.Command) {
// NewGetPrintFlags returns flags associated with humanreadable, // NewGetPrintFlags returns flags associated with humanreadable,
// template, and "name" printing, with default values set. // template, and "name" printing, with default values set.
func NewGetPrintFlags() *PrintFlags { func NewGetPrintFlags(scheme runtime.ObjectConvertor) *PrintFlags {
outputFormat := "" outputFormat := ""
noHeaders := false noHeaders := false
@ -160,8 +161,8 @@ func NewGetPrintFlags() *PrintFlags {
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
NoHeaders: &noHeaders, NoHeaders: &noHeaders,
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", scheme),
TemplateFlags: printers.NewKubeTemplatePrintFlags(), TemplateFlags: printers.NewKubeTemplatePrintFlags(),
HumanReadableFlags: NewHumanPrintFlags(), HumanReadableFlags: NewHumanPrintFlags(),
CustomColumnsFlags: printers.NewCustomColumnsPrintFlags(), CustomColumnsFlags: printers.NewCustomColumnsPrintFlags(),

View File

@ -32,6 +32,7 @@ import (
utilerrors "k8s.io/apimachinery/pkg/util/errors" utilerrors "k8s.io/apimachinery/pkg/util/errors"
"k8s.io/apimachinery/pkg/util/json" "k8s.io/apimachinery/pkg/util/json"
"k8s.io/apimachinery/pkg/util/validation" "k8s.io/apimachinery/pkg/util/validation"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructuredscheme" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/unstructuredscheme"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates" "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
@ -114,7 +115,7 @@ func NewLabelOptions(ioStreams genericclioptions.IOStreams) *LabelOptions {
RecordFlags: genericclioptions.NewRecordFlags(), RecordFlags: genericclioptions.NewRecordFlags(),
Recorder: genericclioptions.NoopRecorder{}, Recorder: genericclioptions.NoopRecorder{},
PrintFlags: printers.NewPrintFlags("labeled"), PrintFlags: printers.NewPrintFlags("labeled", legacyscheme.Scheme),
IOStreams: ioStreams, IOStreams: ioStreams,
} }

View File

@ -33,6 +33,7 @@ import (
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/strategicpatch" "k8s.io/apimachinery/pkg/util/strategicpatch"
"k8s.io/apimachinery/pkg/util/yaml" "k8s.io/apimachinery/pkg/util/yaml"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates" "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/genericclioptions" "k8s.io/kubernetes/pkg/kubectl/genericclioptions"
@ -98,7 +99,7 @@ func NewPatchOptions(ioStreams genericclioptions.IOStreams) *PatchOptions {
return &PatchOptions{ return &PatchOptions{
RecordFlags: genericclioptions.NewRecordFlags(), RecordFlags: genericclioptions.NewRecordFlags(),
Recorder: genericclioptions.NoopRecorder{}, Recorder: genericclioptions.NoopRecorder{},
PrintFlags: printers.NewPrintFlags("patched"), PrintFlags: printers.NewPrintFlags("patched", legacyscheme.Scheme),
IOStreams: ioStreams, IOStreams: ioStreams,
} }
} }

View File

@ -29,6 +29,7 @@ import (
"k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates" "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
@ -96,7 +97,7 @@ func NewReplaceOptions(streams genericclioptions.IOStreams) *ReplaceOptions {
// we only support "-o name" for this command, so only register the name printer // we only support "-o name" for this command, so only register the name printer
PrintFlags: &printers.PrintFlags{ PrintFlags: &printers.PrintFlags{
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
NamePrintFlags: printers.NewNamePrintFlags("replaced"), NamePrintFlags: printers.NewNamePrintFlags("replaced", legacyscheme.Scheme),
}, },
DeleteFlags: NewDeleteFlags("to use to replace the resource."), DeleteFlags: NewDeleteFlags("to use to replace the resource."),

View File

@ -114,7 +114,7 @@ type RollingUpdateOptions struct {
func NewRollingUpdateOptions(streams genericclioptions.IOStreams) *RollingUpdateOptions { func NewRollingUpdateOptions(streams genericclioptions.IOStreams) *RollingUpdateOptions {
return &RollingUpdateOptions{ return &RollingUpdateOptions{
PrintFlags: printers.NewPrintFlags("rolling updated"), PrintFlags: printers.NewPrintFlags("rolling updated", legacyscheme.Scheme),
FilenameOptions: &resource.FilenameOptions{}, FilenameOptions: &resource.FilenameOptions{},
DeploymentKey: "deployment", DeploymentKey: "deployment",
Timeout: timeout, Timeout: timeout,

View File

@ -63,7 +63,7 @@ var (
func NewCmdRolloutPause(f cmdutil.Factory, streams genericclioptions.IOStreams) *cobra.Command { func NewCmdRolloutPause(f cmdutil.Factory, streams genericclioptions.IOStreams) *cobra.Command {
o := &PauseConfig{ o := &PauseConfig{
PrintFlags: printers.NewPrintFlags("paused"), PrintFlags: printers.NewPrintFlags("paused", legacyscheme.Scheme),
IOStreams: streams, IOStreams: streams,
} }

View File

@ -61,7 +61,7 @@ var (
func NewCmdRolloutResume(f cmdutil.Factory, streams genericclioptions.IOStreams) *cobra.Command { func NewCmdRolloutResume(f cmdutil.Factory, streams genericclioptions.IOStreams) *cobra.Command {
o := &ResumeConfig{ o := &ResumeConfig{
PrintFlags: printers.NewPrintFlags("resumed"), PrintFlags: printers.NewPrintFlags("resumed", legacyscheme.Scheme),
IOStreams: streams, IOStreams: streams,
} }

View File

@ -19,6 +19,8 @@ package rollout
import ( import (
"io" "io"
"github.com/spf13/cobra"
utilerrors "k8s.io/apimachinery/pkg/util/errors" utilerrors "k8s.io/apimachinery/pkg/util/errors"
"k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl"
@ -27,8 +29,6 @@ import (
"k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/util/i18n" "k8s.io/kubernetes/pkg/kubectl/util/i18n"
"k8s.io/kubernetes/pkg/printers" "k8s.io/kubernetes/pkg/printers"
"github.com/spf13/cobra"
) )
// UndoOptions is the start of the data required to perform the operation. As new fields are added, add them here instead of // UndoOptions is the start of the data required to perform the operation. As new fields are added, add them here instead of
@ -64,7 +64,7 @@ var (
func NewCmdRolloutUndo(f cmdutil.Factory, out io.Writer) *cobra.Command { func NewCmdRolloutUndo(f cmdutil.Factory, out io.Writer) *cobra.Command {
o := &UndoOptions{ o := &UndoOptions{
PrintFlags: printers.NewPrintFlags(""), PrintFlags: printers.NewPrintFlags("", legacyscheme.Scheme),
} }
validArgs := []string{"deployment", "daemonset", "statefulset"} validArgs := []string{"deployment", "daemonset", "statefulset"}

View File

@ -126,7 +126,7 @@ type RunOptions struct {
func NewRunOptions(streams genericclioptions.IOStreams) *RunOptions { func NewRunOptions(streams genericclioptions.IOStreams) *RunOptions {
return &RunOptions{ return &RunOptions{
PrintFlags: printers.NewPrintFlags("created"), PrintFlags: printers.NewPrintFlags("created", legacyscheme.Scheme),
DeleteFlags: NewDeleteFlags("to use to replace the resource."), DeleteFlags: NewDeleteFlags("to use to replace the resource."),
RecordFlags: genericclioptions.NewRecordFlags(), RecordFlags: genericclioptions.NewRecordFlags(),

View File

@ -198,7 +198,7 @@ func TestRunArgsFollowDashRules(t *testing.T) {
cmd.Flags().Set("image", "nginx") cmd.Flags().Set("image", "nginx")
cmd.Flags().Set("generator", "run/v1") cmd.Flags().Set("generator", "run/v1")
printFlags := printers.NewPrintFlags("created") printFlags := printers.NewPrintFlags("created", legacyscheme.Scheme)
printer, err := printFlags.ToPrinter() printer, err := printFlags.ToPrinter()
if err != nil { if err != nil {
t.Errorf("unexpected error: %v", err) t.Errorf("unexpected error: %v", err)
@ -366,7 +366,7 @@ func TestGenerateService(t *testing.T) {
}), }),
} }
printFlags := printers.NewPrintFlags("created") printFlags := printers.NewPrintFlags("created", legacyscheme.Scheme)
printer, err := printFlags.ToPrinter() printer, err := printFlags.ToPrinter()
if err != nil { if err != nil {
t.Errorf("unexpected error: %v", err) t.Errorf("unexpected error: %v", err)

View File

@ -26,6 +26,7 @@ import (
"k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
batchclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion" batchclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/batch/internalversion"
"k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl"
@ -100,7 +101,7 @@ func NewScaleOptions(ioStreams genericclioptions.IOStreams) *ScaleOptions {
// we only support "-o name" for this command, so only register the name printer // we only support "-o name" for this command, so only register the name printer
PrintFlags: &printers.PrintFlags{ PrintFlags: &printers.PrintFlags{
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
NamePrintFlags: printers.NewNamePrintFlags("scaled"), NamePrintFlags: printers.NewNamePrintFlags("scaled", legacyscheme.Scheme),
}, },
RecordFlags: genericclioptions.NewRecordFlags(), RecordFlags: genericclioptions.NewRecordFlags(),
CurrentReplicas: -1, CurrentReplicas: -1,

View File

@ -30,6 +30,7 @@ import (
"k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/types"
utilerrors "k8s.io/apimachinery/pkg/util/errors" utilerrors "k8s.io/apimachinery/pkg/util/errors"
"k8s.io/client-go/kubernetes" "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates" "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
envutil "k8s.io/kubernetes/pkg/kubectl/cmd/util/env" envutil "k8s.io/kubernetes/pkg/kubectl/cmd/util/env"
@ -126,7 +127,7 @@ type EnvOptions struct {
// pod templates are selected by default and allowing environment to be overwritten // pod templates are selected by default and allowing environment to be overwritten
func NewEnvOptions(streams genericclioptions.IOStreams) *EnvOptions { func NewEnvOptions(streams genericclioptions.IOStreams) *EnvOptions {
return &EnvOptions{ return &EnvOptions{
PrintFlags: printers.NewPrintFlags("env updated"), PrintFlags: printers.NewPrintFlags("env updated", legacyscheme.Scheme),
ContainerSelector: "*", ContainerSelector: "*",
Overwrite: true, Overwrite: true,

View File

@ -24,8 +24,6 @@ import (
"strings" "strings"
"testing" "testing"
"k8s.io/kubernetes/pkg/printers"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
appsv1 "k8s.io/api/apps/v1" appsv1 "k8s.io/api/apps/v1"
appsv1beta1 "k8s.io/api/apps/v1beta1" appsv1beta1 "k8s.io/api/apps/v1beta1"
@ -39,11 +37,13 @@ import (
"k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/apimachinery/pkg/runtime/serializer"
restclient "k8s.io/client-go/rest" restclient "k8s.io/client-go/rest"
"k8s.io/client-go/rest/fake" "k8s.io/client-go/rest/fake"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/testapi"
cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing"
"k8s.io/kubernetes/pkg/kubectl/genericclioptions" "k8s.io/kubernetes/pkg/kubectl/genericclioptions"
"k8s.io/kubernetes/pkg/kubectl/resource" "k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/scheme" "k8s.io/kubernetes/pkg/kubectl/scheme"
"k8s.io/kubernetes/pkg/printers"
) )
func TestSetEnvLocal(t *testing.T) { func TestSetEnvLocal(t *testing.T) {
@ -66,8 +66,8 @@ func TestSetEnvLocal(t *testing.T) {
streams, _, buf, bufErr := genericclioptions.NewTestIOStreams() streams, _, buf, bufErr := genericclioptions.NewTestIOStreams()
opts := NewEnvOptions(streams) opts := NewEnvOptions(streams)
opts.PrintFlags = &printers.PrintFlags{ opts.PrintFlags = &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
} }
opts.FilenameOptions = resource.FilenameOptions{ opts.FilenameOptions = resource.FilenameOptions{
@ -109,8 +109,8 @@ func TestSetMultiResourcesEnvLocal(t *testing.T) {
streams, _, buf, bufErr := genericclioptions.NewTestIOStreams() streams, _, buf, bufErr := genericclioptions.NewTestIOStreams()
opts := NewEnvOptions(streams) opts := NewEnvOptions(streams)
opts.PrintFlags = &printers.PrintFlags{ opts.PrintFlags = &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
} }
opts.FilenameOptions = resource.FilenameOptions{ opts.FilenameOptions = resource.FilenameOptions{
@ -497,8 +497,8 @@ func TestSetEnvRemote(t *testing.T) {
streams := genericclioptions.NewTestIOStreamsDiscard() streams := genericclioptions.NewTestIOStreamsDiscard()
opts := NewEnvOptions(streams) opts := NewEnvOptions(streams)
opts.PrintFlags = &printers.PrintFlags{ opts.PrintFlags = &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
} }
opts.Local = false opts.Local = false

View File

@ -26,6 +26,7 @@ import (
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/types"
utilerrors "k8s.io/apimachinery/pkg/util/errors" utilerrors "k8s.io/apimachinery/pkg/util/errors"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates" "k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/genericclioptions" "k8s.io/kubernetes/pkg/kubectl/genericclioptions"
@ -87,7 +88,7 @@ var (
func NewImageOptions(streams genericclioptions.IOStreams) *SetImageOptions { func NewImageOptions(streams genericclioptions.IOStreams) *SetImageOptions {
return &SetImageOptions{ return &SetImageOptions{
PrintFlags: printers.NewPrintFlags("image updated"), PrintFlags: printers.NewPrintFlags("image updated", legacyscheme.Scheme),
RecordFlags: genericclioptions.NewRecordFlags(), RecordFlags: genericclioptions.NewRecordFlags(),
Recorder: genericclioptions.NoopRecorder{}, Recorder: genericclioptions.NoopRecorder{},

View File

@ -25,6 +25,7 @@ import (
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"k8s.io/kubernetes/pkg/api/legacyscheme"
appsv1 "k8s.io/api/apps/v1" appsv1 "k8s.io/api/apps/v1"
appsv1beta1 "k8s.io/api/apps/v1beta1" appsv1beta1 "k8s.io/api/apps/v1beta1"
@ -73,8 +74,8 @@ func TestImageLocal(t *testing.T) {
opts := SetImageOptions{ opts := SetImageOptions{
PrintFlags: &printers.PrintFlags{ PrintFlags: &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
}, },
@ -100,8 +101,8 @@ func TestImageLocal(t *testing.T) {
func TestSetImageValidation(t *testing.T) { func TestSetImageValidation(t *testing.T) {
printFlags := &printers.PrintFlags{ printFlags := &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
} }
testCases := []struct { testCases := []struct {
@ -196,8 +197,8 @@ func TestSetMultiResourcesImageLocal(t *testing.T) {
opts := SetImageOptions{ opts := SetImageOptions{
PrintFlags: &printers.PrintFlags{ PrintFlags: &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
}, },
@ -590,8 +591,8 @@ func TestSetImageRemote(t *testing.T) {
cmd.Flags().Set("output", outputFormat) cmd.Flags().Set("output", outputFormat)
opts := SetImageOptions{ opts := SetImageOptions{
PrintFlags: &printers.PrintFlags{ PrintFlags: &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
}, },

View File

@ -94,7 +94,7 @@ type SetResourcesOptions struct {
// pod templates are selected by default. // pod templates are selected by default.
func NewResourcesOptions(streams genericclioptions.IOStreams) *SetResourcesOptions { func NewResourcesOptions(streams genericclioptions.IOStreams) *SetResourcesOptions {
return &SetResourcesOptions{ return &SetResourcesOptions{
PrintFlags: printers.NewPrintFlags("resource requirements updated"), PrintFlags: printers.NewPrintFlags("resource requirements updated", legacyscheme.Scheme),
RecordFlags: genericclioptions.NewRecordFlags(), RecordFlags: genericclioptions.NewRecordFlags(),
Recorder: genericclioptions.NoopRecorder{}, Recorder: genericclioptions.NoopRecorder{},

View File

@ -72,8 +72,8 @@ func TestResourcesLocal(t *testing.T) {
opts := SetResourcesOptions{ opts := SetResourcesOptions{
PrintFlags: &printers.PrintFlags{ PrintFlags: &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
}, },
@ -127,8 +127,8 @@ func TestSetMultiResourcesLimitsLocal(t *testing.T) {
opts := SetResourcesOptions{ opts := SetResourcesOptions{
PrintFlags: &printers.PrintFlags{ PrintFlags: &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
}, },
@ -508,8 +508,8 @@ func TestSetResourcesRemote(t *testing.T) {
cmd.Flags().Set("output", outputFormat) cmd.Flags().Set("output", outputFormat)
opts := SetResourcesOptions{ opts := SetResourcesOptions{
PrintFlags: &printers.PrintFlags{ PrintFlags: &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
}, },

View File

@ -79,7 +79,7 @@ var (
func NewSelectorOptions(streams genericclioptions.IOStreams) *SetSelectorOptions { func NewSelectorOptions(streams genericclioptions.IOStreams) *SetSelectorOptions {
return &SetSelectorOptions{ return &SetSelectorOptions{
PrintFlags: printers.NewPrintFlags("selector updated"), PrintFlags: printers.NewPrintFlags("selector updated", legacyscheme.Scheme),
RecordFlags: genericclioptions.NewRecordFlags(), RecordFlags: genericclioptions.NewRecordFlags(),
Recorder: genericclioptions.NoopRecorder{}, Recorder: genericclioptions.NoopRecorder{},

View File

@ -79,7 +79,7 @@ type SetServiceAccountOptions struct {
func NewSetServiceAccountOptions(streams genericclioptions.IOStreams) *SetServiceAccountOptions { func NewSetServiceAccountOptions(streams genericclioptions.IOStreams) *SetServiceAccountOptions {
return &SetServiceAccountOptions{ return &SetServiceAccountOptions{
PrintFlags: printers.NewPrintFlags("serviceaccount updated"), PrintFlags: printers.NewPrintFlags("serviceaccount updated", legacyscheme.Scheme),
RecordFlags: genericclioptions.NewRecordFlags(), RecordFlags: genericclioptions.NewRecordFlags(),
Recorder: genericclioptions.NoopRecorder{}, Recorder: genericclioptions.NoopRecorder{},

View File

@ -91,8 +91,8 @@ func TestSetServiceAccountLocal(t *testing.T) {
testapi.Default = testapi.Groups[input.apiGroup] testapi.Default = testapi.Groups[input.apiGroup]
saConfig := SetServiceAccountOptions{ saConfig := SetServiceAccountOptions{
PrintFlags: &printers.PrintFlags{ PrintFlags: &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
}, },
@ -135,8 +135,8 @@ func TestSetServiceAccountMultiLocal(t *testing.T) {
cmd.Flags().Set("local", "true") cmd.Flags().Set("local", "true")
opts := SetServiceAccountOptions{ opts := SetServiceAccountOptions{
PrintFlags: &printers.PrintFlags{ PrintFlags: &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
}, },
@ -379,8 +379,8 @@ func TestSetServiceAccountRemote(t *testing.T) {
cmd.Flags().Set("output", outputFormat) cmd.Flags().Set("output", outputFormat)
saConfig := SetServiceAccountOptions{ saConfig := SetServiceAccountOptions{
PrintFlags: &printers.PrintFlags{ PrintFlags: &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
}, },
@ -426,8 +426,8 @@ func TestServiceAccountValidation(t *testing.T) {
saConfig := &SetServiceAccountOptions{ saConfig := &SetServiceAccountOptions{
PrintFlags: &printers.PrintFlags{ PrintFlags: &printers.PrintFlags{
JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(), JSONYamlPrintFlags: printers.NewJSONYamlPrintFlags(legacyscheme.Scheme),
NamePrintFlags: printers.NewNamePrintFlags(""), NamePrintFlags: printers.NewNamePrintFlags("", legacyscheme.Scheme),
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
}, },

View File

@ -82,7 +82,7 @@ type SubjectOptions struct {
func NewSubjectOptions(streams genericclioptions.IOStreams) *SubjectOptions { func NewSubjectOptions(streams genericclioptions.IOStreams) *SubjectOptions {
return &SubjectOptions{ return &SubjectOptions{
PrintFlags: printers.NewPrintFlags("subjects updated"), PrintFlags: printers.NewPrintFlags("subjects updated", legacyscheme.Scheme),
IOStreams: streams, IOStreams: streams,
} }

View File

@ -17,11 +17,10 @@ limitations under the License.
package cmd package cmd
import ( import (
"encoding/json"
"fmt" "fmt"
"strings" "strings"
"encoding/json"
"github.com/golang/glog" "github.com/golang/glog"
"github.com/spf13/cobra" "github.com/spf13/cobra"
@ -87,7 +86,7 @@ var (
func NewCmdTaint(f cmdutil.Factory, streams genericclioptions.IOStreams) *cobra.Command { func NewCmdTaint(f cmdutil.Factory, streams genericclioptions.IOStreams) *cobra.Command {
options := &TaintOptions{ options := &TaintOptions{
PrintFlags: printers.NewPrintFlags("tainted"), PrintFlags: printers.NewPrintFlags("tainted", legacyscheme.Scheme),
IOStreams: streams, IOStreams: streams,
} }

View File

@ -15,6 +15,7 @@ go_library(
"//build/visible_to:pkg_kubectl_cmd_util_editor_CONSUMERS", "//build/visible_to:pkg_kubectl_cmd_util_editor_CONSUMERS",
], ],
deps = [ deps = [
"//pkg/api/legacyscheme:go_default_library",
"//pkg/apis/core:go_default_library", "//pkg/apis/core:go_default_library",
"//pkg/kubectl:go_default_library", "//pkg/kubectl:go_default_library",
"//pkg/kubectl/cmd/util:go_default_library", "//pkg/kubectl/cmd/util:go_default_library",

View File

@ -42,6 +42,7 @@ import (
"k8s.io/apimachinery/pkg/util/strategicpatch" "k8s.io/apimachinery/pkg/util/strategicpatch"
"k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/apimachinery/pkg/util/validation/field"
"k8s.io/apimachinery/pkg/util/yaml" "k8s.io/apimachinery/pkg/util/yaml"
"k8s.io/kubernetes/pkg/api/legacyscheme"
api "k8s.io/kubernetes/pkg/apis/core" api "k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/kubectl" "k8s.io/kubernetes/pkg/kubectl"
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
@ -88,7 +89,7 @@ func NewEditOptions(editMode EditMode, ioStreams genericclioptions.IOStreams) *E
EditMode: editMode, EditMode: editMode,
PrintFlags: printers.NewPrintFlags("edited"), PrintFlags: printers.NewPrintFlags("edited", legacyscheme.Scheme),
WindowsLineEndings: goruntime.GOOS == "windows", WindowsLineEndings: goruntime.GOOS == "windows",

View File

@ -20,6 +20,8 @@ import (
"fmt" "fmt"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/runtime"
) )
type NoCompatiblePrinterError struct { type NoCompatiblePrinterError struct {
@ -53,6 +55,8 @@ type PrintFlags struct {
NamePrintFlags *NamePrintFlags NamePrintFlags *NamePrintFlags
OutputFormat *string OutputFormat *string
Scheme runtime.ObjectConvertor
} }
func (f *PrintFlags) Complete(successTemplate string) error { func (f *PrintFlags) Complete(successTemplate string) error {
@ -95,13 +99,15 @@ func (f *PrintFlags) WithDefaultOutput(output string) *PrintFlags {
return f return f
} }
func NewPrintFlags(operation string) *PrintFlags { func NewPrintFlags(operation string, scheme runtime.ObjectConvertor) *PrintFlags {
outputFormat := "" outputFormat := ""
return &PrintFlags{ return &PrintFlags{
OutputFormat: &outputFormat, OutputFormat: &outputFormat,
JSONYamlPrintFlags: NewJSONYamlPrintFlags(), Scheme: scheme,
NamePrintFlags: NewNamePrintFlags(operation),
JSONYamlPrintFlags: NewJSONYamlPrintFlags(scheme),
NamePrintFlags: NewNamePrintFlags(operation, scheme),
} }
} }

View File

@ -400,7 +400,7 @@ func TestNamePrinter(t *testing.T) {
"pod/foo\npod/bar\n"}, "pod/foo\npod/bar\n"},
} }
printFlags := printers.NewPrintFlags("").WithDefaultOutput("name") printFlags := printers.NewPrintFlags("", legacyscheme.Scheme).WithDefaultOutput("name")
printer, err := printFlags.ToPrinter() printer, err := printFlags.ToPrinter()
if err != nil { if err != nil {
t.Fatalf("unexpected err: %v", err) t.Fatalf("unexpected err: %v", err)

View File

@ -21,14 +21,16 @@ import (
"github.com/spf13/cobra" "github.com/spf13/cobra"
"k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/apimachinery/pkg/runtime"
kubectlscheme "k8s.io/kubernetes/pkg/kubectl/scheme" kubectlscheme "k8s.io/kubernetes/pkg/kubectl/scheme"
) )
// JSONYamlPrintFlags provides default flags necessary for json/yaml printing. // JSONYamlPrintFlags provides default flags necessary for json/yaml printing.
// Given the following flag values, a printer can be requested that knows // Given the following flag values, a printer can be requested that knows
// how to handle printing based on these values. // how to handle printing based on these values.
type JSONYamlPrintFlags struct{} type JSONYamlPrintFlags struct {
Scheme runtime.ObjectConvertor
}
// ToPrinter receives an outputFormat and returns a printer capable of // ToPrinter receives an outputFormat and returns a printer capable of
// handling --output=(yaml|json) printing. // handling --output=(yaml|json) printing.
@ -48,7 +50,7 @@ func (f *JSONYamlPrintFlags) ToPrinter(outputFormat string) (ResourcePrinter, er
} }
// wrap the printer in a versioning printer that understands when to convert and when not to convert // wrap the printer in a versioning printer that understands when to convert and when not to convert
return NewVersionedPrinter(printer, legacyscheme.Scheme, legacyscheme.Scheme, kubectlscheme.Scheme.PrioritizedVersionsAllGroups()...), nil return NewVersionedPrinter(printer, f.Scheme, f.Scheme.(runtime.ObjectTyper), kubectlscheme.Scheme.PrioritizedVersionsAllGroups()...), nil
} }
@ -58,6 +60,6 @@ func (f *JSONYamlPrintFlags) AddFlags(c *cobra.Command) {}
// NewJSONYamlPrintFlags returns flags associated with // NewJSONYamlPrintFlags returns flags associated with
// yaml or json printing, with default values set. // yaml or json printing, with default values set.
func NewJSONYamlPrintFlags() *JSONYamlPrintFlags { func NewJSONYamlPrintFlags(scheme runtime.ObjectConvertor) *JSONYamlPrintFlags {
return &JSONYamlPrintFlags{} return &JSONYamlPrintFlags{Scheme: scheme}
} }

View File

@ -23,6 +23,7 @@ import (
"k8s.io/api/core/v1" "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/api/legacyscheme"
"k8s.io/kubernetes/pkg/printers" "k8s.io/kubernetes/pkg/printers"
) )
@ -59,7 +60,7 @@ func TestPrinterSupportsExpectedJSONYamlFormats(t *testing.T) {
for _, tc := range testCases { for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) { t.Run(tc.name, func(t *testing.T) {
printFlags := printers.JSONYamlPrintFlags{} printFlags := printers.JSONYamlPrintFlags{Scheme: legacyscheme.Scheme}
p, err := printFlags.ToPrinter(tc.outputFormat) p, err := printFlags.ToPrinter(tc.outputFormat)
if tc.expectNoMatch { if tc.expectNoMatch {

View File

@ -32,6 +32,8 @@ import (
// a resource's fully-qualified Kind.group/name, or a successful // a resource's fully-qualified Kind.group/name, or a successful
// message about that resource if an Operation is provided. // message about that resource if an Operation is provided.
type NamePrintFlags struct { type NamePrintFlags struct {
Scheme runtime.ObjectConvertor
// Operation describes the name of the action that // Operation describes the name of the action that
// took place on an object, to be included in the // took place on an object, to be included in the
// finalized "successful" message. // finalized "successful" message.
@ -73,7 +75,7 @@ func (f *NamePrintFlags) AddFlags(c *cobra.Command) {}
// NewNamePrintFlags returns flags associated with // NewNamePrintFlags returns flags associated with
// --name printing, with default values set. // --name printing, with default values set.
func NewNamePrintFlags(operation string) *NamePrintFlags { func NewNamePrintFlags(operation string, scheme runtime.ObjectConvertor) *NamePrintFlags {
return &NamePrintFlags{ return &NamePrintFlags{
Operation: operation, Operation: operation,
} }