⭐ Add BGP, MLAG, ACL resources and extend existing Arista EOS resources#6559
Merged
⭐ Add BGP, MLAG, ACL resources and extend existing Arista EOS resources#6559
Conversation
This comment has been minimized.
This comment has been minimized.
Contributor
effaac0 to
7431aad
Compare
54a3b85 to
1211e04
Compare
1211e04 to
e853a0c
Compare
e853a0c to
61c9dbd
Compare
61c9dbd to
43c730d
Compare
43c730d to
159566b
Compare
74eaaa3 to
54317c6
Compare
New resources: - arista.eos.bgp: BGP configuration with enabled, asNumber, routerId - arista.eos.bgp.vrf: per-VRF BGP state with peers - arista.eos.bgp.peer: BGP neighbor details (state, uptime, prefixes, route maps) - arista.eos.mlag: MLAG configuration (domainId, localInterface, peerAddress, peerLink, shutdown) - arista.eos.mlag.interface: Port-Channel to MLAG ID mappings - arista.eos.acl: standard IP access control lists - arista.eos.acl.entry: ACL rules (sequenceNumber, action, srcAddress, log) New fields on existing resources: - arista.eos.user: locked - arista.eos.interface: enabled, duplex, autoNegotiate - arista.eos.vlan: dynamic, interfaces - arista.eos.route: active BGP and MLAG fields use lazy-loaded computed methods with Internal struct caching to avoid "cannot convert primitive with NO type information" errors when the resource is accessed directly rather than through the parent accessor. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
54317c6 to
8ffc1c8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
New resources
arista.eos.bgp — BGP configuration and peers
enabled(bool): whether BGP is enabledasNumber(string): BGP Autonomous System NumberrouterId(string): BGP Router IDvrfs([]arista.eos.bgp.vrf): BGP VRFsarista.eos.bgp.vrf — per-VRF BGP state
name(string): VRF namerouterId(string): BGP Router ID for this VRFasNumber(string): BGP AS number for this VRFpeers([]arista.eos.bgp.peer): BGP peers in this VRFarista.eos.bgp.peer — BGP neighbor details
vrfName(string): VRF namepeerAddress(string): peer IP addressremoteAs(string): remote AS numberstate(string): peer state (Established, Idle, Active, etc.)uptime(int): uptime in secondsprefixesReceived(int): prefixes received from peerprefixesAccepted(int): prefixes accepted after inbound filteringinboundRouteMap(string): inbound route mapoutboundRouteMap(string): outbound route mapdescription(string): peer descriptionarista.eos.mlag — MLAG high-availability configuration
domainId(string): MLAG domain IDlocalInterface(string): local interface for MLAG communicationpeerAddress(string): IP address of the MLAG peer switchpeerLink(string): peer-link interface (typically a Port-Channel)shutdown(bool): whether MLAG is administratively shutdowninterfaces([]arista.eos.mlag.interface): Port-Channel interfaces with MLAG IDsarista.eos.mlag.interface — Port-Channel with MLAG ID
name(string): Port-Channel interface namemlagId(string): MLAG ID assigned to this Port-Channelarista.eos.acl — standard IP access control list
name(string): ACL nametype(string): ACL typeentries([]arista.eos.acl.entry): ACL rulesarista.eos.acl.entry — ACL rule
aclName(string): ACL name this entry belongs tosequenceNumber(int): sequence number (evaluation order)action(string): "permit" or "deny"srcAddress(string): source IP addresssrcPrefixLen(int): source prefix lengthlog(bool): whether logging is enabledNew fields on existing resources
locked(bool)enabled(bool),duplex(string),autoNegotiate(bool)dynamic(bool),interfaces([]string)active(bool)Implementation notes
BGP and MLAG fields use lazy-loaded computed methods with Internal struct caching to avoid "cannot convert primitive with NO type information" errors when the resource is accessed directly rather than through the parent accessor.
Test plan
mql run arista -c "arista.eos.bgp{*}"returns BGP config fieldsmql run arista -c "arista.eos.bgp.vrfs{*}"lists VRFs with peersmql run arista -c "arista.eos.mlag{*}"returns MLAG configmql run arista -c "arista.eos.acls{*}"lists ACLs with entriesmql run arista -c "arista.eos.interfaces { enabled duplex }"returns new fieldsmql run arista -c "arista.eos.vlans { dynamic interfaces }"returns new fieldsgo test ./providers/arista/...🤖 Generated with Claude Code