Skip to content

Commit

Permalink
fix the type error and return type
Browse files Browse the repository at this point in the history
  • Loading branch information
MaheshGSLAB committed Feb 27, 2025
1 parent 40db13f commit 5ce98c8
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -267,28 +267,28 @@ ip_access_lists:
destination: any
- name: ACL-NAT-IE-DIRECT
entries:
- source: any
destination: 5.0.0.0/24
sequence: 10
- sequence: 10
action: deny
protocol: ip
- source: any
destination: any
sequence: 20
source: any
destination: 5.0.0.0/24
- sequence: 20
action: permit
protocol: ip
source: any
destination: any
- name: ACL-NAT-IE-ZSCALER
entries:
- source: any
destination: 10.0.0.0/24
sequence: 10
- sequence: 10
action: permit
protocol: ip
- source: any
destination: any
sequence: 20
source: any
destination: 10.0.0.0/24
- sequence: 20
action: deny
protocol: ip
source: any
destination: any
ip_extcommunity_lists:
- name: ECL-EVPN-SOO
entries:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,20 @@ class IpAccesslistsMixin(Protocol):
Class should only be used as Mixin to a AvdStructuredConfig class.
"""

@structured_config_contributor
def ip_access_lists(self: AvdStructuredConfigNetworkServicesProtocol) -> None:
"""Set the structured config for ip_access_lists."""
for ie_policy_type in self._filtered_internet_exit_policy_types:
self._acl_internet_exit(ie_policy_type)

def _set_ipv4_acl(self: AvdStructuredConfigNetworkServicesProtocol, ipv4_acl: EosDesigns.Ipv4AclsItem) -> None:
"""
Set structured config for ip_access_lists.
Called for each interface in l3_interfaces and l3_port_channels when applying ipv4_acls
"""
self.structured_config.ip_access_lists.append(ipv4_acl._cast_as(EosCliConfigGen.IpAccessListsItem))

def _acl_internet_exit_zscaler(self: AvdStructuredConfigNetworkServicesProtocol) -> None:
ip_access_list = EosCliConfigGen.IpAccessListsItem(name=self.get_internet_exit_nat_acl_name("zscaler"))
ip_access_list.entries.append_new(sequence=10, action="permit", protocol="ip", source="any", destination="any")
Expand Down Expand Up @@ -53,7 +67,7 @@ def _acl_internet_exit_direct(self: AvdStructuredConfigNetworkServicesProtocol)

def _acl_internet_exit_user_defined(
self: AvdStructuredConfigNetworkServicesProtocol, internet_exit_policy_type: Literal["zscaler", "direct"]
) -> list[dict] | None:
) -> EosDesigns.Ipv4AclsItem | None:
acl_name = self.get_internet_exit_nat_acl_name(internet_exit_policy_type)
if acl_name not in self.inputs.ipv4_acls:
# TODO: Evaluate if we should continue so we raise when there is no ACL.
Expand All @@ -73,23 +87,9 @@ def _acl_internet_exit_user_defined(
def _acl_internet_exit(self: AvdStructuredConfigNetworkServicesProtocol, internet_exit_policy_type: Literal["zscaler", "direct"]) -> None:
acls = self._acl_internet_exit_user_defined(internet_exit_policy_type)
if acls:
self.structured_config.ip_access_lists.append(acls)
self.structured_config.ip_access_lists.append(acls._cast_as(EosCliConfigGen.IpAccessListsItem))

elif internet_exit_policy_type == "zscaler":
self._acl_internet_exit_zscaler()
elif internet_exit_policy_type == "direct":
self._acl_internet_exit_direct()

@structured_config_contributor
def ip_access_lists(self: AvdStructuredConfigNetworkServicesProtocol) -> None:
"""Set the structured config for ip_access_lists."""
for ie_policy_type in self._filtered_internet_exit_policy_types:
self._acl_internet_exit(ie_policy_type)

def _set_ipv4_acl(self: AvdStructuredConfigNetworkServicesProtocol, ipv4_acl: EosDesigns.Ipv4AclsItem) -> None:
"""
Set structured config for ip_access_lists.
Called for each interface in l3_interfaces and l3_port_channels when applying ipv4_acls
"""
self.structured_config.ip_access_lists.append(ipv4_acl._cast_as(EosCliConfigGen.IpAccessListsItem))

0 comments on commit 5ce98c8

Please sign in to comment.