Documentation ¶
Index ¶
- Constants
- type FakeURLMapSyncer
- func (f *FakeURLMapSyncer) AddStatus(lbName string)
- func (f *FakeURLMapSyncer) DeleteURLMap() error
- func (f *FakeURLMapSyncer) EnsureURLMap(lbName, ipAddress string, clusters []string, ing *v1beta1.Ingress, ...) (string, error)
- func (f *FakeURLMapSyncer) GetLoadBalancerStatus(lbName string) (*status.LoadBalancerStatus, error)
- func (f *FakeURLMapSyncer) ListLoadBalancerStatuses() ([]status.LoadBalancerStatus, error)
- func (f *FakeURLMapSyncer) RemoveClustersFromStatus(clusters []string) error
- func (f *FakeURLMapSyncer) RemoveStatus(lbName string)
- type Syncer
- func (s *Syncer) DeleteURLMap() error
- func (s *Syncer) EnsureURLMap(lbName, ipAddress string, clusters []string, ing *v1beta1.Ingress, ...) (string, error)
- func (s *Syncer) GetLoadBalancerStatus(lbName string) (*status.LoadBalancerStatus, error)
- func (s *Syncer) ListLoadBalancerStatuses() ([]status.LoadBalancerStatus, error)
- func (s *Syncer) RemoveClustersFromStatus(clusters []string) error
- type SyncerInterface
Constants ¶
const (
// FakeURLSelfLink is a fake self link used for url maps.
FakeURLSelfLink = "url/map/self/link"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FakeURLMapSyncer ¶
type FakeURLMapSyncer struct {
// List of url maps that this has been asked to ensure.
EnsuredURLMaps []fakeURLMap
}
FakeURLMapSyncer is a fake implementation of SyncerInterface to be used in tests.
func (*FakeURLMapSyncer) AddStatus ¶
func (f *FakeURLMapSyncer) AddStatus(lbName string)
AddStatus adds a status to the url map corresponding to the given load balancer.
func (*FakeURLMapSyncer) DeleteURLMap ¶
func (f *FakeURLMapSyncer) DeleteURLMap() error
DeleteURLMap deletes the url map that EnsureURLMap would have created. See the interface for more details.
func (*FakeURLMapSyncer) EnsureURLMap ¶
func (f *FakeURLMapSyncer) EnsureURLMap(lbName, ipAddress string, clusters []string, ing *v1beta1.Ingress, beMap backendservice.BackendServicesMap, forceUpdate bool) (string, error)
EnsureURLMap ensures that the required url map exists for the given ingress. See the interface for more details.
func (*FakeURLMapSyncer) GetLoadBalancerStatus ¶
func (f *FakeURLMapSyncer) GetLoadBalancerStatus(lbName string) (*status.LoadBalancerStatus, error)
GetLoadBalancerStatus returns the status of the given load balancer. See the interface for more details.
func (*FakeURLMapSyncer) ListLoadBalancerStatuses ¶
func (f *FakeURLMapSyncer) ListLoadBalancerStatuses() ([]status.LoadBalancerStatus, error)
ListLoadBalancerStatuses lists all the load balancers. See the interface for more details.
func (*FakeURLMapSyncer) RemoveClustersFromStatus ¶
func (f *FakeURLMapSyncer) RemoveClustersFromStatus(clusters []string) error
RemoveClustersFromStatus removes the given clusters from the LoadBalancerStatus. See the interface for more details.
func (*FakeURLMapSyncer) RemoveStatus ¶
func (f *FakeURLMapSyncer) RemoveStatus(lbName string)
RemoveStatus removes the status for the given load balancer.
type Syncer ¶
type Syncer struct {
// contains filtered or unexported fields
}
Syncer manages GCP url maps for multicluster GCP L7 load balancers.
func (*Syncer) DeleteURLMap ¶
DeleteURLMap deletes the url map that EnsureURLMap would have created. See the interface for more details.
func (*Syncer) EnsureURLMap ¶
func (s *Syncer) EnsureURLMap(lbName, ipAddress string, clusters []string, ing *v1beta1.Ingress, beMap backendservice.BackendServicesMap, forceUpdate bool) (string, error)
EnsureURLMap ensures that the required url map exists for the given ingress. See the interface for more details.
func (*Syncer) GetLoadBalancerStatus ¶
func (s *Syncer) GetLoadBalancerStatus(lbName string) (*status.LoadBalancerStatus, error)
GetLoadBalancerStatus returns the status of the given load balancer if it is stored on the url map. See the interface for more details.
func (*Syncer) ListLoadBalancerStatuses ¶
func (s *Syncer) ListLoadBalancerStatuses() ([]status.LoadBalancerStatus, error)
ListLoadBalancerStatuses returns a list of load balancer status from load balancers that have the status stored on their url maps. It ignores the load balancers that dont have status on their url map. Returns an error if listing url maps fails. See the interface for more details.
func (*Syncer) RemoveClustersFromStatus ¶
RemoveClustersFromStatus removes the given clusters from the LoadBalancerStatus. See the interface for more details.
type SyncerInterface ¶
type SyncerInterface interface { // EnsureURLMap ensures that the required url map exists for the given ingress. // Uses beMap to extract the backend services to link to in the url map. // clusters is the list of clusters across which the load balancer is spread. // Will only change an existing URL map if forceUpdate=True. // Returns the self link for the ensured url map. EnsureURLMap(lbName, ipAddress string, clusters []string, ing *v1beta1.Ingress, beMap backendservice.BackendServicesMap, forceUpdate bool) (string, error) // DeleteURLMap deletes the url map that EnsureURLMap would have created. DeleteURLMap() error // GetLoadBalancerStatus returns the status of the given load balancer if it is stored on the url map. // Returns an error with http.StatusNotFound if url map does not exist. GetLoadBalancerStatus(lbName string) (*status.LoadBalancerStatus, error) // ListLoadBalancerStatuses returns status of all MCI ingresses (load balancers) that have statuses stored on url maps. ListLoadBalancerStatuses() ([]status.LoadBalancerStatus, error) // RemoveClustersFromStatus removes the given clusters from the LoadBalancerStatus. RemoveClustersFromStatus(clusters []string) error }
SyncerInterface is an interface to manage GCP url maps.
func NewFakeURLMapSyncer ¶
func NewFakeURLMapSyncer() SyncerInterface
NewFakeURLMapSyncer returns a new instance of the fake syncer.
func NewURLMapSyncer ¶
func NewURLMapSyncer(namer *utilsnamer.Namer, ump ingresslb.LoadBalancers) SyncerInterface
NewURLMapSyncer returns a new instance of syncer.