shell completion: fix hard coded network drivers

Depending on the backend (CNI, netavark) we support different drivers,
the auto completion should only suggest the ones that are available.

This list is podman info so we can get the correct list for local and
remote.

[NO NEW TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
Paul Holzinger 2022-11-18 16:44:40 +01:00
parent 3f76f29adb
commit e7eed5aa90
No known key found for this signature in database
GPG Key ID: EB145DD938A3CAF2
1 changed files with 11 additions and 3 deletions

View File

@ -1409,10 +1409,18 @@ func AutocompleteManifestFormat(cmd *cobra.Command, args []string, toComplete st
}
// AutocompleteNetworkDriver - Autocomplete network driver option.
// -> "bridge", "macvlan"
func AutocompleteNetworkDriver(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
drivers := []string{types.BridgeNetworkDriver, types.MacVLANNetworkDriver, types.IPVLANNetworkDriver}
return drivers, cobra.ShellCompDirectiveNoFileComp
engine, err := setupContainerEngine(cmd)
if err != nil {
cobra.CompErrorln(err.Error())
return nil, cobra.ShellCompDirectiveNoFileComp
}
info, err := engine.Info(registry.Context())
if err != nil {
cobra.CompErrorln(err.Error())
return nil, cobra.ShellCompDirectiveNoFileComp
}
return info.Plugins.Network, cobra.ShellCompDirectiveNoFileComp
}
// AutocompleteNetworkIPAMDriver - Autocomplete network ipam driver option.