mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-02 16:29:21 +00:00
Remove cmd from kubectl/cmd/factory
This commit is contained in:
parent
faab509a23
commit
b39e31d8a3
@ -30,15 +30,15 @@ func (f *Factory) NewCmdApiVersions(out io.Writer) *cobra.Command {
|
|||||||
Use: "apiversions",
|
Use: "apiversions",
|
||||||
Short: "Print available API versions.",
|
Short: "Print available API versions.",
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
err := RunApiVersions(f, out, cmd)
|
err := RunApiVersions(f, out)
|
||||||
util.CheckErr(err)
|
util.CheckErr(err)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
func RunApiVersions(f *Factory, out io.Writer, cmd *cobra.Command) error {
|
func RunApiVersions(f *Factory, out io.Writer) error {
|
||||||
client, err := f.Client(cmd)
|
client, err := f.Client()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -42,14 +42,14 @@ func (f *Factory) NewCmdClusterInfo(out io.Writer) *cobra.Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func RunClusterInfo(factory *Factory, out io.Writer, cmd *cobra.Command) error {
|
func RunClusterInfo(factory *Factory, out io.Writer, cmd *cobra.Command) error {
|
||||||
client, err := factory.ClientConfig(cmd)
|
client, err := factory.ClientConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Fprintf(out, "Kubernetes master is running at %v\n", client.Host)
|
fmt.Fprintf(out, "Kubernetes master is running at %v\n", client.Host)
|
||||||
|
|
||||||
mapper, typer := factory.Object(cmd)
|
mapper, typer := factory.Object()
|
||||||
cmdNamespace, err := factory.DefaultNamespace(cmd)
|
cmdNamespace, err := factory.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -50,26 +50,26 @@ type Factory struct {
|
|||||||
flags *pflag.FlagSet
|
flags *pflag.FlagSet
|
||||||
|
|
||||||
// Returns interfaces for dealing with arbitrary runtime.Objects.
|
// Returns interfaces for dealing with arbitrary runtime.Objects.
|
||||||
Object func(cmd *cobra.Command) (meta.RESTMapper, runtime.ObjectTyper)
|
Object func() (meta.RESTMapper, runtime.ObjectTyper)
|
||||||
// Returns a client for accessing Kubernetes resources or an error.
|
// Returns a client for accessing Kubernetes resources or an error.
|
||||||
Client func(cmd *cobra.Command) (*client.Client, error)
|
Client func() (*client.Client, error)
|
||||||
// Returns a client.Config for accessing the Kubernetes server.
|
// Returns a client.Config for accessing the Kubernetes server.
|
||||||
ClientConfig func(cmd *cobra.Command) (*client.Config, error)
|
ClientConfig func() (*client.Config, error)
|
||||||
// Returns a RESTClient for working with the specified RESTMapping or an error. This is intended
|
// Returns a RESTClient for working with the specified RESTMapping or an error. This is intended
|
||||||
// for working with arbitrary resources and is not guaranteed to point to a Kubernetes APIServer.
|
// for working with arbitrary resources and is not guaranteed to point to a Kubernetes APIServer.
|
||||||
RESTClient func(cmd *cobra.Command, mapping *meta.RESTMapping) (resource.RESTClient, error)
|
RESTClient func(mapping *meta.RESTMapping) (resource.RESTClient, error)
|
||||||
// Returns a Describer for displaying the specified RESTMapping type or an error.
|
// Returns a Describer for displaying the specified RESTMapping type or an error.
|
||||||
Describer func(cmd *cobra.Command, mapping *meta.RESTMapping) (kubectl.Describer, error)
|
Describer func(mapping *meta.RESTMapping) (kubectl.Describer, error)
|
||||||
// Returns a Printer for formatting objects of the given type or an error.
|
// Returns a Printer for formatting objects of the given type or an error.
|
||||||
Printer func(cmd *cobra.Command, mapping *meta.RESTMapping, noHeaders bool) (kubectl.ResourcePrinter, error)
|
Printer func(mapping *meta.RESTMapping, noHeaders bool) (kubectl.ResourcePrinter, error)
|
||||||
// Returns a Resizer for changing the size of the specified RESTMapping type or an error
|
// Returns a Resizer for changing the size of the specified RESTMapping type or an error
|
||||||
Resizer func(cmd *cobra.Command, mapping *meta.RESTMapping) (kubectl.Resizer, error)
|
Resizer func(mapping *meta.RESTMapping) (kubectl.Resizer, error)
|
||||||
// Returns a Reaper for gracefully shutting down resources.
|
// Returns a Reaper for gracefully shutting down resources.
|
||||||
Reaper func(cmd *cobra.Command, mapping *meta.RESTMapping) (kubectl.Reaper, error)
|
Reaper func(mapping *meta.RESTMapping) (kubectl.Reaper, error)
|
||||||
// Returns a schema that can validate objects stored on disk.
|
// Returns a schema that can validate objects stored on disk.
|
||||||
Validator func(*cobra.Command) (validation.Schema, error)
|
Validator func() (validation.Schema, error)
|
||||||
// Returns the default namespace to use in cases where no other namespace is specified
|
// Returns the default namespace to use in cases where no other namespace is specified
|
||||||
DefaultNamespace func(cmd *cobra.Command) (string, error)
|
DefaultNamespace func() (string, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewFactory creates a factory with the default Kubernetes resources defined
|
// NewFactory creates a factory with the default Kubernetes resources defined
|
||||||
@ -94,27 +94,27 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
|
|||||||
clients: clients,
|
clients: clients,
|
||||||
flags: flags,
|
flags: flags,
|
||||||
|
|
||||||
Object: func(cmd *cobra.Command) (meta.RESTMapper, runtime.ObjectTyper) {
|
Object: func() (meta.RESTMapper, runtime.ObjectTyper) {
|
||||||
cfg, err := clientConfig.ClientConfig()
|
cfg, err := clientConfig.ClientConfig()
|
||||||
cmdutil.CheckErr(err)
|
cmdutil.CheckErr(err)
|
||||||
cmdApiVersion := cfg.Version
|
cmdApiVersion := cfg.Version
|
||||||
|
|
||||||
return kubectl.OutputVersionMapper{mapper, cmdApiVersion}, api.Scheme
|
return kubectl.OutputVersionMapper{mapper, cmdApiVersion}, api.Scheme
|
||||||
},
|
},
|
||||||
Client: func(cmd *cobra.Command) (*client.Client, error) {
|
Client: func() (*client.Client, error) {
|
||||||
return clients.ClientForVersion("")
|
return clients.ClientForVersion("")
|
||||||
},
|
},
|
||||||
ClientConfig: func(cmd *cobra.Command) (*client.Config, error) {
|
ClientConfig: func() (*client.Config, error) {
|
||||||
return clients.ClientConfigForVersion("")
|
return clients.ClientConfigForVersion("")
|
||||||
},
|
},
|
||||||
RESTClient: func(cmd *cobra.Command, mapping *meta.RESTMapping) (resource.RESTClient, error) {
|
RESTClient: func(mapping *meta.RESTMapping) (resource.RESTClient, error) {
|
||||||
client, err := clients.ClientForVersion(mapping.APIVersion)
|
client, err := clients.ClientForVersion(mapping.APIVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return client.RESTClient, nil
|
return client.RESTClient, nil
|
||||||
},
|
},
|
||||||
Describer: func(cmd *cobra.Command, mapping *meta.RESTMapping) (kubectl.Describer, error) {
|
Describer: func(mapping *meta.RESTMapping) (kubectl.Describer, error) {
|
||||||
client, err := clients.ClientForVersion(mapping.APIVersion)
|
client, err := clients.ClientForVersion(mapping.APIVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -125,25 +125,25 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
|
|||||||
}
|
}
|
||||||
return describer, nil
|
return describer, nil
|
||||||
},
|
},
|
||||||
Printer: func(cmd *cobra.Command, mapping *meta.RESTMapping, noHeaders bool) (kubectl.ResourcePrinter, error) {
|
Printer: func(mapping *meta.RESTMapping, noHeaders bool) (kubectl.ResourcePrinter, error) {
|
||||||
return kubectl.NewHumanReadablePrinter(noHeaders), nil
|
return kubectl.NewHumanReadablePrinter(noHeaders), nil
|
||||||
},
|
},
|
||||||
Resizer: func(cmd *cobra.Command, mapping *meta.RESTMapping) (kubectl.Resizer, error) {
|
Resizer: func(mapping *meta.RESTMapping) (kubectl.Resizer, error) {
|
||||||
client, err := clients.ClientForVersion(mapping.APIVersion)
|
client, err := clients.ClientForVersion(mapping.APIVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return kubectl.ResizerFor(mapping.Kind, client)
|
return kubectl.ResizerFor(mapping.Kind, client)
|
||||||
},
|
},
|
||||||
Reaper: func(cmd *cobra.Command, mapping *meta.RESTMapping) (kubectl.Reaper, error) {
|
Reaper: func(mapping *meta.RESTMapping) (kubectl.Reaper, error) {
|
||||||
client, err := clients.ClientForVersion(mapping.APIVersion)
|
client, err := clients.ClientForVersion(mapping.APIVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return kubectl.ReaperFor(mapping.Kind, client)
|
return kubectl.ReaperFor(mapping.Kind, client)
|
||||||
},
|
},
|
||||||
Validator: func(cmd *cobra.Command) (validation.Schema, error) {
|
Validator: func() (validation.Schema, error) {
|
||||||
if cmdutil.GetFlagBool(cmd, "validate") {
|
if flags.Lookup("validate").Value.String() == "true" {
|
||||||
client, err := clients.ClientForVersion("")
|
client, err := clients.ClientForVersion("")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -152,7 +152,7 @@ func NewFactory(optionalClientConfig clientcmd.ClientConfig) *Factory {
|
|||||||
}
|
}
|
||||||
return validation.NullSchema{}, nil
|
return validation.NullSchema{}, nil
|
||||||
},
|
},
|
||||||
DefaultNamespace: func(cmd *cobra.Command) (string, error) {
|
DefaultNamespace: func() (string, error) {
|
||||||
return clientConfig.Namespace()
|
return clientConfig.Namespace()
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -178,7 +178,14 @@ func (f *Factory) BindFlags(flags *pflag.FlagSet) {
|
|||||||
// TODO Add a verbose flag that turns on glog logging. Probably need a way
|
// TODO Add a verbose flag that turns on glog logging. Probably need a way
|
||||||
// to do that automatically for every subcommand.
|
// to do that automatically for every subcommand.
|
||||||
flags.BoolVar(&f.clients.matchVersion, FlagMatchBinaryVersion, false, "Require server version to match client version")
|
flags.BoolVar(&f.clients.matchVersion, FlagMatchBinaryVersion, false, "Require server version to match client version")
|
||||||
|
|
||||||
flags.Bool("validate", false, "If true, use a schema to validate the input before sending it")
|
flags.Bool("validate", false, "If true, use a schema to validate the input before sending it")
|
||||||
|
|
||||||
|
// Hack for global access to validation flag.
|
||||||
|
// TODO: Refactor out after configuration flag overhaul.
|
||||||
|
if f.flags.Lookup("validate") == nil {
|
||||||
|
f.flags.Bool("validate", false, "If true, use a schema to validate the input before sending it")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewKubectlCommand creates the `kubectl` command and its nested children.
|
// NewKubectlCommand creates the `kubectl` command and its nested children.
|
||||||
@ -226,7 +233,7 @@ Find more information at https://github.com/GoogleCloudPlatform/kubernetes.`,
|
|||||||
|
|
||||||
// PrintObject prints an api object given command line flags to modify the output format
|
// PrintObject prints an api object given command line flags to modify the output format
|
||||||
func (f *Factory) PrintObject(cmd *cobra.Command, obj runtime.Object, out io.Writer) error {
|
func (f *Factory) PrintObject(cmd *cobra.Command, obj runtime.Object, out io.Writer) error {
|
||||||
mapper, _ := f.Object(cmd)
|
mapper, _ := f.Object()
|
||||||
_, kind, err := api.Scheme.ObjectVersionAndKind(obj)
|
_, kind, err := api.Scheme.ObjectVersionAndKind(obj)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -252,7 +259,7 @@ func (f *Factory) PrinterForMapping(cmd *cobra.Command, mapping *meta.RESTMappin
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if ok {
|
if ok {
|
||||||
clientConfig, err := f.ClientConfig(cmd)
|
clientConfig, err := f.ClientConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -267,7 +274,7 @@ func (f *Factory) PrinterForMapping(cmd *cobra.Command, mapping *meta.RESTMappin
|
|||||||
}
|
}
|
||||||
printer = kubectl.NewVersionedPrinter(printer, mapping.ObjectConvertor, version)
|
printer = kubectl.NewVersionedPrinter(printer, mapping.ObjectConvertor, version)
|
||||||
} else {
|
} else {
|
||||||
printer, err = f.Printer(cmd, mapping, cmdutil.GetFlagBool(cmd, "no-headers"))
|
printer, err = f.Printer(mapping, cmdutil.GetFlagBool(cmd, "no-headers"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -278,7 +285,7 @@ func (f *Factory) PrinterForMapping(cmd *cobra.Command, mapping *meta.RESTMappin
|
|||||||
// ClientMapperForCommand returns a ClientMapper for the given command and factory.
|
// ClientMapperForCommand returns a ClientMapper for the given command and factory.
|
||||||
func (f *Factory) ClientMapperForCommand(cmd *cobra.Command) resource.ClientMapper {
|
func (f *Factory) ClientMapperForCommand(cmd *cobra.Command) resource.ClientMapper {
|
||||||
return resource.ClientMapperFunc(func(mapping *meta.RESTMapping) (resource.RESTClient, error) {
|
return resource.ClientMapperFunc(func(mapping *meta.RESTMapping) (resource.RESTClient, error) {
|
||||||
return f.RESTClient(cmd, mapping)
|
return f.RESTClient(mapping)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,8 +33,6 @@ import (
|
|||||||
. "github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl/cmd"
|
. "github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl/cmd"
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl/resource"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/kubectl/resource"
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/runtime"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type internalType struct {
|
type internalType struct {
|
||||||
@ -120,25 +118,25 @@ func NewTestFactory() (*Factory, *testFactory, runtime.Codec) {
|
|||||||
Typer: scheme,
|
Typer: scheme,
|
||||||
}
|
}
|
||||||
return &Factory{
|
return &Factory{
|
||||||
Object: func(*cobra.Command) (meta.RESTMapper, runtime.ObjectTyper) {
|
Object: func() (meta.RESTMapper, runtime.ObjectTyper) {
|
||||||
return t.Mapper, t.Typer
|
return t.Mapper, t.Typer
|
||||||
},
|
},
|
||||||
RESTClient: func(*cobra.Command, *meta.RESTMapping) (resource.RESTClient, error) {
|
RESTClient: func(*meta.RESTMapping) (resource.RESTClient, error) {
|
||||||
return t.Client, t.Err
|
return t.Client, t.Err
|
||||||
},
|
},
|
||||||
Describer: func(*cobra.Command, *meta.RESTMapping) (kubectl.Describer, error) {
|
Describer: func(*meta.RESTMapping) (kubectl.Describer, error) {
|
||||||
return t.Describer, t.Err
|
return t.Describer, t.Err
|
||||||
},
|
},
|
||||||
Printer: func(cmd *cobra.Command, mapping *meta.RESTMapping, noHeaders bool) (kubectl.ResourcePrinter, error) {
|
Printer: func(mapping *meta.RESTMapping, noHeaders bool) (kubectl.ResourcePrinter, error) {
|
||||||
return t.Printer, t.Err
|
return t.Printer, t.Err
|
||||||
},
|
},
|
||||||
Validator: func(cmd *cobra.Command) (validation.Schema, error) {
|
Validator: func() (validation.Schema, error) {
|
||||||
return t.Validator, t.Err
|
return t.Validator, t.Err
|
||||||
},
|
},
|
||||||
DefaultNamespace: func(cmd *cobra.Command) (string, error) {
|
DefaultNamespace: func() (string, error) {
|
||||||
return t.Namespace, t.Err
|
return t.Namespace, t.Err
|
||||||
},
|
},
|
||||||
ClientConfig: func(cmd *cobra.Command) (*client.Config, error) {
|
ClientConfig: func() (*client.Config, error) {
|
||||||
return t.ClientConfig, t.Err
|
return t.ClientConfig, t.Err
|
||||||
},
|
},
|
||||||
}, t, codec
|
}, t, codec
|
||||||
@ -149,25 +147,25 @@ func NewAPIFactory() (*Factory, *testFactory, runtime.Codec) {
|
|||||||
Validator: validation.NullSchema{},
|
Validator: validation.NullSchema{},
|
||||||
}
|
}
|
||||||
return &Factory{
|
return &Factory{
|
||||||
Object: func(*cobra.Command) (meta.RESTMapper, runtime.ObjectTyper) {
|
Object: func() (meta.RESTMapper, runtime.ObjectTyper) {
|
||||||
return latest.RESTMapper, api.Scheme
|
return latest.RESTMapper, api.Scheme
|
||||||
},
|
},
|
||||||
RESTClient: func(*cobra.Command, *meta.RESTMapping) (resource.RESTClient, error) {
|
RESTClient: func(*meta.RESTMapping) (resource.RESTClient, error) {
|
||||||
return t.Client, t.Err
|
return t.Client, t.Err
|
||||||
},
|
},
|
||||||
Describer: func(*cobra.Command, *meta.RESTMapping) (kubectl.Describer, error) {
|
Describer: func(*meta.RESTMapping) (kubectl.Describer, error) {
|
||||||
return t.Describer, t.Err
|
return t.Describer, t.Err
|
||||||
},
|
},
|
||||||
Printer: func(cmd *cobra.Command, mapping *meta.RESTMapping, noHeaders bool) (kubectl.ResourcePrinter, error) {
|
Printer: func(mapping *meta.RESTMapping, noHeaders bool) (kubectl.ResourcePrinter, error) {
|
||||||
return t.Printer, t.Err
|
return t.Printer, t.Err
|
||||||
},
|
},
|
||||||
Validator: func(cmd *cobra.Command) (validation.Schema, error) {
|
Validator: func() (validation.Schema, error) {
|
||||||
return t.Validator, t.Err
|
return t.Validator, t.Err
|
||||||
},
|
},
|
||||||
DefaultNamespace: func(cmd *cobra.Command) (string, error) {
|
DefaultNamespace: func() (string, error) {
|
||||||
return t.Namespace, t.Err
|
return t.Namespace, t.Err
|
||||||
},
|
},
|
||||||
ClientConfig: func(cmd *cobra.Command) (*client.Config, error) {
|
ClientConfig: func() (*client.Config, error) {
|
||||||
return t.ClientConfig, t.Err
|
return t.ClientConfig, t.Err
|
||||||
},
|
},
|
||||||
}, t, latest.Codec
|
}, t, latest.Codec
|
||||||
@ -194,7 +192,7 @@ func TestClientVersions(t *testing.T) {
|
|||||||
mapping := &meta.RESTMapping{
|
mapping := &meta.RESTMapping{
|
||||||
APIVersion: version,
|
APIVersion: version,
|
||||||
}
|
}
|
||||||
c, err := f.RESTClient(nil, mapping)
|
c, err := f.RESTClient(mapping)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error: %v", err)
|
t.Errorf("unexpected error: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -55,17 +55,17 @@ func (f *Factory) NewCmdCreate(out io.Writer) *cobra.Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func RunCreate(f *Factory, out io.Writer, cmd *cobra.Command, filenames util.StringList) error {
|
func RunCreate(f *Factory, out io.Writer, cmd *cobra.Command, filenames util.StringList) error {
|
||||||
schema, err := f.Validator(cmd)
|
schema, err := f.Validator()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
cmdNamespace, err := f.DefaultNamespace(cmd)
|
cmdNamespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
mapper, typer := f.Object(cmd)
|
mapper, typer := f.Object()
|
||||||
r := resource.NewBuilder(mapper, typer, f.ClientMapperForCommand(cmd)).
|
r := resource.NewBuilder(mapper, typer, f.ClientMapperForCommand(cmd)).
|
||||||
ContinueOnError().
|
ContinueOnError().
|
||||||
NamespaceParam(cmdNamespace).RequireNamespace().
|
NamespaceParam(cmdNamespace).RequireNamespace().
|
||||||
|
@ -74,11 +74,11 @@ func (f *Factory) NewCmdDelete(out io.Writer) *cobra.Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func RunDelete(f *Factory, out io.Writer, cmd *cobra.Command, args []string, filenames util.StringList) error {
|
func RunDelete(f *Factory, out io.Writer, cmd *cobra.Command, args []string, filenames util.StringList) error {
|
||||||
cmdNamespace, err := f.DefaultNamespace(cmd)
|
cmdNamespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
mapper, typer := f.Object(cmd)
|
mapper, typer := f.Object()
|
||||||
r := resource.NewBuilder(mapper, typer, f.ClientMapperForCommand(cmd)).
|
r := resource.NewBuilder(mapper, typer, f.ClientMapperForCommand(cmd)).
|
||||||
ContinueOnError().
|
ContinueOnError().
|
||||||
NamespaceParam(cmdNamespace).DefaultNamespace().
|
NamespaceParam(cmdNamespace).DefaultNamespace().
|
||||||
|
@ -41,19 +41,19 @@ given resource.`,
|
|||||||
}
|
}
|
||||||
|
|
||||||
func RunDescribe(f *Factory, out io.Writer, cmd *cobra.Command, args []string) error {
|
func RunDescribe(f *Factory, out io.Writer, cmd *cobra.Command, args []string) error {
|
||||||
cmdNamespace, err := f.DefaultNamespace(cmd)
|
cmdNamespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
mapper, _ := f.Object(cmd)
|
mapper, _ := f.Object()
|
||||||
// TODO: use resource.Builder instead
|
// TODO: use resource.Builder instead
|
||||||
mapping, namespace, name, err := util.ResourceFromArgs(cmd, args, mapper, cmdNamespace)
|
mapping, namespace, name, err := util.ResourceFromArgs(cmd, args, mapper, cmdNamespace)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
describer, err := f.Describer(cmd, mapping)
|
describer, err := f.Describer(mapping)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -67,12 +67,12 @@ func RunExec(f *Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *cobra.C
|
|||||||
return util.UsageError(cmd, "COMMAND is required for exec")
|
return util.UsageError(cmd, "COMMAND is required for exec")
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace, err := f.DefaultNamespace(cmd)
|
namespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
client, err := f.Client(cmd)
|
client, err := f.Client()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -127,7 +127,7 @@ func RunExec(f *Factory, cmdIn io.Reader, cmdOut, cmdErr io.Writer, cmd *cobra.C
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
config, err := f.ClientConfig(cmd)
|
config, err := f.ClientConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -69,11 +69,11 @@ func RunExpose(f *Factory, out io.Writer, cmd *cobra.Command, args []string) err
|
|||||||
return util.UsageError(cmd, "<name> is required for expose")
|
return util.UsageError(cmd, "<name> is required for expose")
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace, err := f.DefaultNamespace(cmd)
|
namespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
client, err := f.Client(cmd)
|
client, err := f.Client()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -78,9 +78,9 @@ func (f *Factory) NewCmdGet(out io.Writer) *cobra.Command {
|
|||||||
// TODO: convert all direct flag accessors to a struct and pass that instead of cmd
|
// TODO: convert all direct flag accessors to a struct and pass that instead of cmd
|
||||||
func RunGet(f *Factory, out io.Writer, cmd *cobra.Command, args []string) error {
|
func RunGet(f *Factory, out io.Writer, cmd *cobra.Command, args []string) error {
|
||||||
selector := util.GetFlagString(cmd, "selector")
|
selector := util.GetFlagString(cmd, "selector")
|
||||||
mapper, typer := f.Object(cmd)
|
mapper, typer := f.Object()
|
||||||
|
|
||||||
cmdNamespace, err := f.DefaultNamespace(cmd)
|
cmdNamespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -148,7 +148,7 @@ func RunGet(f *Factory, out io.Writer, cmd *cobra.Command, args []string) error
|
|||||||
}
|
}
|
||||||
|
|
||||||
if generic {
|
if generic {
|
||||||
clientConfig, err := f.ClientConfig(cmd)
|
clientConfig, err := f.ClientConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -159,18 +159,18 @@ func RunLabel(f *Factory, out io.Writer, cmd *cobra.Command, args []string) erro
|
|||||||
return util.UsageError(cmd, "at least one label update is required.")
|
return util.UsageError(cmd, "at least one label update is required.")
|
||||||
}
|
}
|
||||||
res := args[:2]
|
res := args[:2]
|
||||||
cmdNamespace, err := f.DefaultNamespace(cmd)
|
cmdNamespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
mapper, _ := f.Object(cmd)
|
mapper, _ := f.Object()
|
||||||
// TODO: use resource.Builder instead
|
// TODO: use resource.Builder instead
|
||||||
mapping, namespace, name, err := util.ResourceFromArgs(cmd, res, mapper, cmdNamespace)
|
mapping, namespace, name, err := util.ResourceFromArgs(cmd, res, mapper, cmdNamespace)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
client, err := f.RESTClient(cmd, mapping)
|
client, err := f.RESTClient(mapping)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -82,11 +82,11 @@ func RunLog(f *Factory, out io.Writer, cmd *cobra.Command, args []string) error
|
|||||||
return util.UsageError(cmd, "log POD [CONTAINER]")
|
return util.UsageError(cmd, "log POD [CONTAINER]")
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace, err := f.DefaultNamespace(cmd)
|
namespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
client, err := f.Client(cmd)
|
client, err := f.Client()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -68,12 +68,12 @@ func RunPortForward(f *Factory, cmd *cobra.Command, args []string) error {
|
|||||||
return util.UsageError(cmd, "at least 1 PORT is required for port-forward")
|
return util.UsageError(cmd, "at least 1 PORT is required for port-forward")
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace, err := f.DefaultNamespace(cmd)
|
namespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
client, err := f.Client(cmd)
|
client, err := f.Client()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -87,7 +87,7 @@ func RunPortForward(f *Factory, cmd *cobra.Command, args []string) error {
|
|||||||
glog.Fatalf("Unable to execute command because pod is not running. Current status=%v", pod.Status.Phase)
|
glog.Fatalf("Unable to execute command because pod is not running. Current status=%v", pod.Status.Phase)
|
||||||
}
|
}
|
||||||
|
|
||||||
config, err := f.ClientConfig(cmd)
|
config, err := f.ClientConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@ func RunProxy(f *Factory, out io.Writer, cmd *cobra.Command) error {
|
|||||||
port := util.GetFlagInt(cmd, "port")
|
port := util.GetFlagInt(cmd, "port")
|
||||||
fmt.Fprintf(out, "Starting to serve on localhost:%d", port)
|
fmt.Fprintf(out, "Starting to serve on localhost:%d", port)
|
||||||
|
|
||||||
clientConfig, err := f.ClientConfig(cmd)
|
clientConfig, err := f.ClientConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -68,19 +68,19 @@ func RunResize(f *Factory, out io.Writer, cmd *cobra.Command, args []string) err
|
|||||||
return util.UsageError(cmd, "--replicas=COUNT RESOURCE ID")
|
return util.UsageError(cmd, "--replicas=COUNT RESOURCE ID")
|
||||||
}
|
}
|
||||||
|
|
||||||
cmdNamespace, err := f.DefaultNamespace(cmd)
|
cmdNamespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
mapper, _ := f.Object(cmd)
|
mapper, _ := f.Object()
|
||||||
// TODO: use resource.Builder instead
|
// TODO: use resource.Builder instead
|
||||||
mapping, namespace, name, err := util.ResourceFromArgs(cmd, args, mapper, cmdNamespace)
|
mapping, namespace, name, err := util.ResourceFromArgs(cmd, args, mapper, cmdNamespace)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
resizer, err := f.Resizer(cmd, mapping)
|
resizer, err := f.Resizer(mapping)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -72,18 +72,18 @@ func RunRollingUpdate(f *Factory, out io.Writer, cmd *cobra.Command, args []stri
|
|||||||
return util.UsageError(cmd, "Must specify the controller to update")
|
return util.UsageError(cmd, "Must specify the controller to update")
|
||||||
}
|
}
|
||||||
oldName := args[0]
|
oldName := args[0]
|
||||||
schema, err := f.Validator(cmd)
|
schema, err := f.Validator()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
clientConfig, err := f.ClientConfig(cmd)
|
clientConfig, err := f.ClientConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
cmdApiVersion := clientConfig.Version
|
cmdApiVersion := clientConfig.Version
|
||||||
|
|
||||||
mapper, typer := f.Object(cmd)
|
mapper, typer := f.Object()
|
||||||
// TODO: use resource.Builder instead
|
// TODO: use resource.Builder instead
|
||||||
mapping, namespace, newName, data, err := util.ResourceFromFile(filename, typer, mapper, schema, cmdApiVersion)
|
mapping, namespace, newName, data, err := util.ResourceFromFile(filename, typer, mapper, schema, cmdApiVersion)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -97,7 +97,7 @@ func RunRollingUpdate(f *Factory, out io.Writer, cmd *cobra.Command, args []stri
|
|||||||
filename, oldName)
|
filename, oldName)
|
||||||
}
|
}
|
||||||
|
|
||||||
cmdNamespace, err := f.DefaultNamespace(cmd)
|
cmdNamespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -107,7 +107,7 @@ func RunRollingUpdate(f *Factory, out io.Writer, cmd *cobra.Command, args []stri
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
client, err := f.Client(cmd)
|
client, err := f.Client()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -69,12 +69,12 @@ func RunRunContainer(f *Factory, out io.Writer, cmd *cobra.Command, args []strin
|
|||||||
return util.UsageError(cmd, "NAME is required for run-container")
|
return util.UsageError(cmd, "NAME is required for run-container")
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace, err := f.DefaultNamespace(cmd)
|
namespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
client, err := f.Client(cmd)
|
client, err := f.Client()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -54,9 +54,9 @@ func (f *Factory) NewCmdStop(out io.Writer) *cobra.Command {
|
|||||||
Long: stop_long,
|
Long: stop_long,
|
||||||
Example: stop_example,
|
Example: stop_example,
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
cmdNamespace, err := f.DefaultNamespace(cmd)
|
cmdNamespace, err := f.DefaultNamespace()
|
||||||
cmdutil.CheckErr(err)
|
cmdutil.CheckErr(err)
|
||||||
mapper, typer := f.Object(cmd)
|
mapper, typer := f.Object()
|
||||||
r := resource.NewBuilder(mapper, typer, f.ClientMapperForCommand(cmd)).
|
r := resource.NewBuilder(mapper, typer, f.ClientMapperForCommand(cmd)).
|
||||||
ContinueOnError().
|
ContinueOnError().
|
||||||
NamespaceParam(cmdNamespace).RequireNamespace().
|
NamespaceParam(cmdNamespace).RequireNamespace().
|
||||||
@ -69,7 +69,7 @@ func (f *Factory) NewCmdStop(out io.Writer) *cobra.Command {
|
|||||||
cmdutil.CheckErr(r.Err())
|
cmdutil.CheckErr(r.Err())
|
||||||
|
|
||||||
r.Visit(func(info *resource.Info) error {
|
r.Visit(func(info *resource.Info) error {
|
||||||
reaper, err := f.Reaper(cmd, info.Mapping)
|
reaper, err := f.Reaper(info.Mapping)
|
||||||
cmdutil.CheckErr(err)
|
cmdutil.CheckErr(err)
|
||||||
s, err := reaper.Stop(info.Namespace, info.Name)
|
s, err := reaper.Stop(info.Namespace, info.Name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -58,12 +58,12 @@ func (f *Factory) NewCmdUpdate(out io.Writer) *cobra.Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func RunUpdate(f *Factory, out io.Writer, cmd *cobra.Command, args []string, filenames util.StringList) error {
|
func RunUpdate(f *Factory, out io.Writer, cmd *cobra.Command, args []string, filenames util.StringList) error {
|
||||||
schema, err := f.Validator(cmd)
|
schema, err := f.Validator()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
cmdNamespace, err := f.DefaultNamespace(cmd)
|
cmdNamespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -86,7 +86,7 @@ func RunUpdate(f *Factory, out io.Writer, cmd *cobra.Command, args []string, fil
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
mapper, typer := f.Object(cmd)
|
mapper, typer := f.Object()
|
||||||
r := resource.NewBuilder(mapper, typer, f.ClientMapperForCommand(cmd)).
|
r := resource.NewBuilder(mapper, typer, f.ClientMapperForCommand(cmd)).
|
||||||
ContinueOnError().
|
ContinueOnError().
|
||||||
NamespaceParam(cmdNamespace).RequireNamespace().
|
NamespaceParam(cmdNamespace).RequireNamespace().
|
||||||
@ -118,18 +118,18 @@ func RunUpdate(f *Factory, out io.Writer, cmd *cobra.Command, args []string, fil
|
|||||||
}
|
}
|
||||||
|
|
||||||
func updateWithPatch(cmd *cobra.Command, args []string, f *Factory, patch string) (string, error) {
|
func updateWithPatch(cmd *cobra.Command, args []string, f *Factory, patch string) (string, error) {
|
||||||
cmdNamespace, err := f.DefaultNamespace(cmd)
|
cmdNamespace, err := f.DefaultNamespace()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
mapper, _ := f.Object(cmd)
|
mapper, _ := f.Object()
|
||||||
// TODO: use resource.Builder instead
|
// TODO: use resource.Builder instead
|
||||||
mapping, namespace, name, err := cmdutil.ResourceFromArgs(cmd, args, mapper, cmdNamespace)
|
mapping, namespace, name, err := cmdutil.ResourceFromArgs(cmd, args, mapper, cmdNamespace)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
client, err := f.RESTClient(cmd, mapping)
|
client, err := f.RESTClient(mapping)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ func RunVersion(f *Factory, out io.Writer, cmd *cobra.Command) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
client, err := f.Client(cmd)
|
client, err := f.Client()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user