mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-26 05:03:09 +00:00
add a warning to the resource check
This commit is contained in:
parent
b18bad156d
commit
53f2c2753f
@ -104,12 +104,16 @@ func NewCmdCanI(f cmdutil.Factory, out, err io.Writer) *cobra.Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (o *CanIOptions) Complete(f cmdutil.Factory, args []string) error {
|
func (o *CanIOptions) Complete(f cmdutil.Factory, args []string) error {
|
||||||
|
if o.Quiet {
|
||||||
|
o.Out = ioutil.Discard
|
||||||
|
}
|
||||||
|
|
||||||
switch len(args) {
|
switch len(args) {
|
||||||
case 2:
|
case 2:
|
||||||
resourceTokens := strings.SplitN(args[1], "/", 2)
|
resourceTokens := strings.SplitN(args[1], "/", 2)
|
||||||
restMapper, _ := f.Object()
|
restMapper, _ := f.Object()
|
||||||
o.Verb = args[0]
|
o.Verb = args[0]
|
||||||
o.Resource = resourceFor(restMapper, resourceTokens[0])
|
o.Resource = o.resourceFor(restMapper, resourceTokens[0])
|
||||||
if len(resourceTokens) > 1 {
|
if len(resourceTokens) > 1 {
|
||||||
o.ResourceName = resourceTokens[1]
|
o.ResourceName = resourceTokens[1]
|
||||||
}
|
}
|
||||||
@ -132,10 +136,6 @@ func (o *CanIOptions) Complete(f cmdutil.Factory, args []string) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if o.Quiet {
|
|
||||||
o.Out = ioutil.Discard
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,7 +178,7 @@ func (o *CanIOptions) RunAccessCheck() (bool, error) {
|
|||||||
return response.Status.Allowed, nil
|
return response.Status.Allowed, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func resourceFor(mapper meta.RESTMapper, resourceArg string) schema.GroupVersionResource {
|
func (o *CanIOptions) resourceFor(mapper meta.RESTMapper, resourceArg string) schema.GroupVersionResource {
|
||||||
fullySpecifiedGVR, groupResource := schema.ParseResourceArg(strings.ToLower(resourceArg))
|
fullySpecifiedGVR, groupResource := schema.ParseResourceArg(strings.ToLower(resourceArg))
|
||||||
gvr := schema.GroupVersionResource{}
|
gvr := schema.GroupVersionResource{}
|
||||||
if fullySpecifiedGVR != nil {
|
if fullySpecifiedGVR != nil {
|
||||||
@ -188,6 +188,11 @@ func resourceFor(mapper meta.RESTMapper, resourceArg string) schema.GroupVersion
|
|||||||
var err error
|
var err error
|
||||||
gvr, err = mapper.ResourceFor(groupResource.WithVersion(""))
|
gvr, err = mapper.ResourceFor(groupResource.WithVersion(""))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
if len(groupResource.Group) == 0 {
|
||||||
|
fmt.Fprintf(o.Err, "Warning: the server doesn't have a resource type '%s'\n", groupResource.Resource)
|
||||||
|
} else {
|
||||||
|
fmt.Fprintf(o.Err, "Warning: the server doesn't have a resource type '%s' in group '%s'\n", groupResource.Resource, groupResource.Group)
|
||||||
|
}
|
||||||
return schema.GroupVersionResource{Resource: resourceArg}
|
return schema.GroupVersionResource{Resource: resourceArg}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user