Coverage for ocp_resources/l2_advertisement.py: 0%
18 statements
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-30 10:48 +0200
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-30 10:48 +0200
1# API reference: https://metallb.universe.tf/apis/#metallb.io/v1beta1.L2Advertisement
3from ocp_resources.resource import NamespacedResource
6class L2Advertisement(NamespacedResource):
7 """
8 L2Advertisement object.
9 """
11 api_group = NamespacedResource.ApiGroup.METALLB_IO
13 def __init__(
14 self,
15 name=None,
16 namespace=None,
17 client=None,
18 interfaces=None,
19 ip_address_pools=None,
20 ip_address_pools_selectors=None,
21 **kwargs,
22 ):
23 """
24 Args:
25 name (str): Name of the MetalLB or it's CR's.
26 namespace (str): Namespace of the MetalLB
27 client: (DynamicClient): DynamicClient to use.
28 interfaces (list): List of interfaces.
29 ip_address_pools (list): The list of IPAddressPools to advertise via this advertisement, selected by name.
30 ip_address_pools_selectors (list): A selector for the IPAddressPools which would get advertised
31 via this advertisement.(if nothing mentioned then it will be applied to all the IPAddressPools)
32 """
33 super().__init__(
34 name=name,
35 namespace=namespace,
36 client=client,
37 **kwargs,
38 )
39 self.interfaces = interfaces
40 self.ip_address_pools = ip_address_pools
41 self.ip_address_pools_selectors = ip_address_pools_selectors
43 def to_dict(self) -> None:
44 super().to_dict()
45 if not self.kind_dict and not self.yaml_file:
46 self.res["spec"] = {}
47 if self.interfaces:
48 self.res["spec"]["interfaces"] = self.interfaces
50 if self.ip_address_pools:
51 self.res["spec"]["ipAddressPools"] = self.ip_address_pools
53 if self.ip_address_pools_selectors:
54 self.res["spec"]["ipAddressPoolSelectors"] = self.ip_address_pools_selectors