mirror of
https://github.com/vmware-tanzu/velero.git
synced 2026-09-24 08:54:30 +00:00
* Remove unnecessary files Signed-off-by: Carlisia <carlisia@vmware.com> * Switch to CAPI patch function for updates Signed-off-by: Carlisia <carlisia@vmware.com> * Improve table test format Signed-off-by: Carlisia <carlisia@vmware.com> * Refactor and add test for disabling controller Signed-off-by: Carlisia <carlisia@vmware.com> * Add tests Signed-off-by: Carlisia <carlisia@vmware.com> * Change test to use real word Signed-off-by: Carlisia <carlisia@vmware.com> * Fix CI Signed-off-by: Carlisia <carlisia@vmware.com> * Minor test fixes Signed-off-by: Carlisia <carlisia@vmware.com> * Remove rback/role generation Signed-off-by: Carlisia <carlisia@vmware.com>
44 lines
1.3 KiB
Go
44 lines
1.3 KiB
Go
/*
|
|
Copyright 2020 the Velero contributors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
package velero
|
|
|
|
import (
|
|
velerov1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v1"
|
|
"github.com/vmware-tanzu/velero/pkg/plugin/framework"
|
|
)
|
|
|
|
type PluginLister interface {
|
|
// List returns all PluginIdentifiers for kind.
|
|
List(kind framework.PluginKind) []framework.PluginIdentifier
|
|
}
|
|
|
|
// GetInstalledPluginInfo returns a list of installed plugins
|
|
func GetInstalledPluginInfo(pluginLister PluginLister) []velerov1api.PluginInfo {
|
|
var plugins []velerov1api.PluginInfo
|
|
for _, v := range framework.AllPluginKinds() {
|
|
list := pluginLister.List(v)
|
|
for _, plugin := range list {
|
|
pluginInfo := velerov1api.PluginInfo{
|
|
Name: plugin.Name,
|
|
Kind: plugin.Kind.String(),
|
|
}
|
|
plugins = append(plugins, pluginInfo)
|
|
}
|
|
}
|
|
return plugins
|
|
}
|