Skip to content

Commit bc87ffb

Browse files
Merge pull request #19884 from soltysh/api_resources
Expose api-versions and api-resources in oc
2 parents c1a18ca + 66bad2f commit bc87ffb

File tree

17 files changed

+523
-8
lines changed

17 files changed

+523
-8
lines changed

contrib/completions/bash/oc

Lines changed: 103 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

contrib/completions/zsh/oc

Lines changed: 103 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/man/man1/.files_generated_oc

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/man/man1/oc-api-resources.1

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/man/man1/oc-api-versions.1

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/oc/cli/cli.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,8 @@ func NewCommandCLI(name, fullName string, in io.Reader, out, errout io.Writer) *
174174
importer.NewCmdImport(fullName, f, in, out, errout),
175175
image.NewCmdImage(fullName, f, in, out, errout),
176176
registry.NewCmd(fullName, f, in, out, errout),
177+
cmd.NewCmdApiVersions(fullName, f, out),
178+
cmd.NewCmdApiResources(fullName, f, out),
177179
},
178180
},
179181
{

pkg/oc/cli/cmd/wrappers.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
"k8s.io/kubernetes/pkg/kubectl/cmd/config"
1919
"k8s.io/kubernetes/pkg/kubectl/cmd/resource"
2020
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
21+
"k8s.io/kubernetes/pkg/kubectl/util/i18n"
2122

2223
cmdutil "github.com/openshift/origin/pkg/cmd/util"
2324
"github.com/openshift/origin/pkg/oc/cli/cmd/create"
@@ -788,3 +789,39 @@ func NewCmdAuth(fullName string, f *clientcmd.Factory, out, errout io.Writer) *c
788789
func NewCmdPlugin(fullName string, f *clientcmd.Factory, in io.Reader, out, errout io.Writer) *cobra.Command {
789790
return kcmd.NewCmdPlugin(f, in, out, errout)
790791
}
792+
793+
var (
794+
apiresourcesExample = templates.Examples(`
795+
# Print the supported API Resources
796+
%[1]s api-resources
797+
798+
# Print the supported API Resources with more information
799+
%[1]s api-resources -o wide
800+
801+
# Print the supported namespaced resources
802+
%[1]s api-resources --namespaced=true
803+
804+
# Print the supported non-namespaced resources
805+
%[1]s api-resources --namespaced=false
806+
807+
# Print the supported API Resources with specific APIGroup
808+
%[1]s api-resources --api-group=extensions`)
809+
)
810+
811+
func NewCmdApiResources(fullName string, f *clientcmd.Factory, out io.Writer) *cobra.Command {
812+
cmd := kcmd.NewCmdApiResources(f, out)
813+
cmd.Example = fmt.Sprintf(apiresourcesExample, fullName)
814+
return cmd
815+
}
816+
817+
var (
818+
apiversionsExample = templates.Examples(i18n.T(`
819+
# Print the supported API versions
820+
%[1]s api-versions`))
821+
)
822+
823+
func NewCmdApiVersions(fullName string, f *clientcmd.Factory, out io.Writer) *cobra.Command {
824+
cmd := kcmd.NewCmdApiVersions(f, out)
825+
cmd.Example = fmt.Sprintf(apiversionsExample, fullName)
826+
return cmd
827+
}

pkg/oc/cli/kubectl_compat_test.go

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ import (
1717
// NEVER ADD TO THIS LIST
1818
// TODO kill this list
1919
var MissingCommands = sets.NewString(
20-
"namespace", "rolling-update",
21-
"cluster-info", "api-versions",
22-
"stop",
20+
"namespace",
21+
"rolling-update",
22+
"cluster-info",
2323

2424
// are on admin commands
2525
"cordon",
@@ -30,12 +30,7 @@ var MissingCommands = sets.NewString(
3030
"certificate",
3131

3232
// TODO commands to assess
33-
"apiversions",
34-
"clusterinfo",
35-
"resize",
36-
"rollingupdate",
3733
"run-container",
38-
"update",
3934
"alpha",
4035
)
4136

test/cmd/apiresources.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
source "$(dirname "${BASH_SOURCE}")/../../hack/lib/init.sh"
3+
trap os::test::junit::reconcile_output EXIT
4+
5+
os::test::junit::declare_suite_start "cmd/apiresources"
6+
7+
os::cmd::expect_success_and_text 'oc api-resources' 'imagestreamtags'
8+
os::cmd::expect_success_and_text 'oc api-resources --api-group=build.openshift.io' 'BuildConfig'
9+
os::cmd::expect_success_and_text 'oc api-resources --namespaced=false' 'Image'
10+
os::cmd::expect_success_and_text 'oc api-resources --verbs=get' 'project.openshift.io'
11+
12+
os::cmd::expect_success_and_text 'oc api-versions' 'route.openshift.io/v1'
13+
14+
echo "apiresources: ok"
15+
os::test::junit::declare_suite_end

vendor/k8s.io/kubernetes/docs/.generated_docs

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/kubernetes/docs/man/man1/kubectl-api-resources.1

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/kubernetes/docs/user-guide/kubectl/kubectl_api-resources.md

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/kubernetes/docs/yaml/kubectl/kubectl_api-resources.yaml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/k8s.io/kubernetes/hack/make-rules/test-cmd-util.sh

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)