mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +00:00
cloud-provider: allow disable interfaces from fake cloud provider
Signed-off-by: Andrew Sy Kim <kim.andrewsy@gmail.com>
This commit is contained in:
parent
794122dd3e
commit
00f9aef0ab
@ -56,6 +56,12 @@ var _ cloudprovider.Clusters = (*Cloud)(nil)
|
|||||||
|
|
||||||
// Cloud is a test-double implementation of Interface, LoadBalancer, Instances, and Routes. It is useful for testing.
|
// Cloud is a test-double implementation of Interface, LoadBalancer, Instances, and Routes. It is useful for testing.
|
||||||
type Cloud struct {
|
type Cloud struct {
|
||||||
|
DisableInstances bool
|
||||||
|
DisableRoutes bool
|
||||||
|
DisableLoadBalancers bool
|
||||||
|
DisableZones bool
|
||||||
|
DisableClusters bool
|
||||||
|
|
||||||
Exists bool
|
Exists bool
|
||||||
Err error
|
Err error
|
||||||
|
|
||||||
@ -126,7 +132,7 @@ func (f *Cloud) Master(ctx context.Context, name string) (string, error) {
|
|||||||
|
|
||||||
// Clusters returns a clusters interface. Also returns true if the interface is supported, false otherwise.
|
// Clusters returns a clusters interface. Also returns true if the interface is supported, false otherwise.
|
||||||
func (f *Cloud) Clusters() (cloudprovider.Clusters, bool) {
|
func (f *Cloud) Clusters() (cloudprovider.Clusters, bool) {
|
||||||
return f, true
|
return f, !f.DisableClusters
|
||||||
}
|
}
|
||||||
|
|
||||||
// ProviderName returns the cloud provider ID.
|
// ProviderName returns the cloud provider ID.
|
||||||
@ -145,14 +151,14 @@ func (f *Cloud) HasClusterID() bool {
|
|||||||
// LoadBalancer returns a fake implementation of LoadBalancer.
|
// LoadBalancer returns a fake implementation of LoadBalancer.
|
||||||
// Actually it just returns f itself.
|
// Actually it just returns f itself.
|
||||||
func (f *Cloud) LoadBalancer() (cloudprovider.LoadBalancer, bool) {
|
func (f *Cloud) LoadBalancer() (cloudprovider.LoadBalancer, bool) {
|
||||||
return f, true
|
return f, !f.DisableLoadBalancers
|
||||||
}
|
}
|
||||||
|
|
||||||
// Instances returns a fake implementation of Instances.
|
// Instances returns a fake implementation of Instances.
|
||||||
//
|
//
|
||||||
// Actually it just returns f itself.
|
// Actually it just returns f itself.
|
||||||
func (f *Cloud) Instances() (cloudprovider.Instances, bool) {
|
func (f *Cloud) Instances() (cloudprovider.Instances, bool) {
|
||||||
return f, true
|
return f, !f.DisableInstances
|
||||||
}
|
}
|
||||||
|
|
||||||
// InstancesV2 returns a fake implementation of InstancesV2.
|
// InstancesV2 returns a fake implementation of InstancesV2.
|
||||||
@ -167,12 +173,12 @@ func (f *Cloud) InstancesV2() (cloudprovider.InstancesV2, bool) {
|
|||||||
|
|
||||||
// Zones returns a zones interface. Also returns true if the interface is supported, false otherwise.
|
// Zones returns a zones interface. Also returns true if the interface is supported, false otherwise.
|
||||||
func (f *Cloud) Zones() (cloudprovider.Zones, bool) {
|
func (f *Cloud) Zones() (cloudprovider.Zones, bool) {
|
||||||
return f, true
|
return f, !f.DisableZones
|
||||||
}
|
}
|
||||||
|
|
||||||
// Routes returns a routes interface along with whether the interface is supported.
|
// Routes returns a routes interface along with whether the interface is supported.
|
||||||
func (f *Cloud) Routes() (cloudprovider.Routes, bool) {
|
func (f *Cloud) Routes() (cloudprovider.Routes, bool) {
|
||||||
return f, true
|
return f, !f.DisableRoutes
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetLoadBalancer is a stub implementation of LoadBalancer.GetLoadBalancer.
|
// GetLoadBalancer is a stub implementation of LoadBalancer.GetLoadBalancer.
|
||||||
|
Loading…
Reference in New Issue
Block a user