cisco.nxos.nxos_bgp_global – BGP Global resource module.  Note This plugin is part of the cisco.nxos collection (version 2.7.0). You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list. To install it, use: ansible-galaxy collection install cisco.nxos. To use it in a playbook, specify: cisco.nxos.nxos_bgp_global.   New in version 1.4.0: of cisco.nxos   Synopsis Parameters Notes Examples Return Values  Synopsis  This module manages global BGP configuration on devices running Cisco NX-OS.   Note This module has a corresponding action plugin.  Parameters   Parameter Choices/Defaults Comments    config  dictionary      A list of BGP process configuration.      affinity_group  dictionary      Configure an affinity group.       group_id  integer      Affinity Group ID.      as_number  string      Autonomous System Number of the router.      bestpath  dictionary      Define the default bestpath selection algorithm.       always_compare_med  boolean    
Choices: no yes    Compare MED on paths from different AS.       as_path  dictionary      AS-Path.        ignore  boolean    
Choices: no yes    Ignore AS-Path during bestpath selection.        multipath_relax  boolean    
Choices: no yes    Relax AS-Path restriction when choosing multipaths.       compare_neighborid  boolean    
Choices: no yes    When more paths are available than max path config, use neighborid as tie-breaker.       compare_routerid  boolean    
Choices: no yes    Compare router-id for identical EBGP paths.       cost_community_ignore  boolean    
Choices: no yes    Ignore cost communities in bestpath selection.       igp_metric_ignore  boolean    
Choices: no yes    Ignore IGP metric for next-hop during bestpath selection.       med  dictionary      MED        confed  boolean    
Choices: no yes    Compare MED only from paths originated from within a confederation.        missing_as_worst  boolean    
Choices: no yes    Treat missing MED as highest MED.        non_deterministic  boolean    
Choices: no yes    Not always pick the best-MED path among paths from same AS.      cluster_id  string      Configure Route Reflector Cluster-ID.      confederation  dictionary      AS confederation parameters.       identifier  string      Set routing domain confederation AS.       peers  list / elements=string      Peer ASs in BGP confederation.      disable_policy_batching  dictionary      Disable batching evaluation of outbound policy for a peer.       ipv4  dictionary      IPv4 address-family settings.        prefix_list  string      Name of prefix-list to apply.       ipv6  dictionary      IPv6 address-family settings.        prefix_list  string      Name of prefix-list to apply.       nexthop  boolean    
Choices: no yes    Batching based on nexthop.       set  boolean    
Choices: no yes    Set policy batching.      dynamic_med_interval  integer      Sets the interval for dampening of med changes.      enforce_first_as  boolean    
Choices: no yes    Enforce neighbor AS is the first AS in AS-PATH attribute (EBGP).      enhanced_error  boolean    
Choices: no yes    Enable BGP Enhanced error handling.      fabric_soo  string      Fabric site of origin.      fast_external_fallover  boolean    
Choices: no yes    Immediately reset the session if the link to a directly connected BGP peer goes down.      flush_routes  boolean    
Choices: no yes    Flush routes in RIB upon controlled restart.      graceful_restart  dictionary      Configure Graceful Restart functionality.       helper  boolean    
Choices: no yes    Configure Graceful Restart Helper mode functionality.       restart_time  integer      Maximum time for restart advertised to peers.       set  boolean    
Choices: no yes    Enable graceful-restart.       stalepath_time  integer      Maximum time to keep a restarting peer's stale routes.      graceful_shutdown  dictionary      Graceful-shutdown for BGP protocol.       activate  dictionary      Send graceful-shutdown community on all routes.        route_map  string      Apply route-map to modify attributes for outbound.        set  boolean    
Choices: no yes    Activiate graceful-shutdown.       aware  boolean    
Choices: no yes    Lower preference of routes carrying graceful-shutdown community.      isolate  dictionary      Isolate this router from BGP perspective.       include_local  boolean    
Choices: no yes    Withdraw both local and remote BGP routes.       set  boolean    
Choices: no yes    Withdraw remote BGP routes to isolate this router.      log_neighbor_changes  boolean    
Choices: no yes    Log a message for neighbor up/down event.      maxas_limit  integer      Allow AS-PATH attribute from EBGP neighbor imposing a limit on number of ASes.      neighbor_down  dictionary      Handle BGP neighbor down event, due to various reasons.       fib_accelerate  boolean    
Choices: no yes    Accelerate the hardware updates for IP/IPv6 adjacencies for neighbor.      neighbors  list / elements=dictionary      Configure BGP neighbors.       bfd  dictionary      Bidirectional Fast Detection for the neighbor.        multihop  dictionary      Multihop session.         interval  dictionary      Configure BFD session interval parameters.          min_rx_interval  integer      Minimum RX interval.          multiplier  integer      Detect Multiplier.          tx_interval  integer      TX interval in milliseconds.         set  boolean    
Choices: no yes    Set BFD multihop.        set  boolean    
Choices: no yes    Set BFD for this neighbor.        singlehop  boolean    
Choices: no yes    Single-hop session.       bmp_activate_server  integer      Specify server ID for activating BMP monitoring for the peer.       capability  dictionary      Capability.        suppress_4_byte_as  boolean    
Choices: no yes    Suppress 4-byte AS Capability.       description  string      Neighbor specific descripion.       disable_connected_check  boolean    
Choices: no yes    Disable check for directly connected peer.       dont_capability_negotiate  boolean    
Choices: no yes    Don't negotiate capability with this neighbor.       dscp  string      Set dscp value for tcp transport.       dynamic_capability  boolean    
Choices: no yes    Dynamic Capability       ebgp_multihop  integer      Specify multihop TTL for remote peer.       graceful_shutdown  dictionary      Graceful-shutdown for this neighbor.        activate  dictionary      Send graceful-shutdown community.         route_map  string      Apply route-map to modify attributes for outbound.         set  boolean    
Choices: no yes    Set activate.       inherit  dictionary      Inherit a template.        peer  string      Peer template to inherit.        peer_session  string      Peer-session template to inherit.       local_as  string      Specify the local-as number for the eBGP neighbor.       log_neighbor_changes  dictionary      Log message for neighbor up/down event.        disable  boolean    
Choices: no yes    Disable logging of neighbor up/down event.        set  boolean    
Choices: no yes    Set log-neighbor-changes.       low_memory  dictionary      Behaviour in low memory situations.        exempt  boolean    
Choices: no yes    Do not shutdown this peer when under memory pressure.       neighbor_address  string / required      IP address/Prefix of the neighbor or interface.       neighbor_affinity_group  dictionary      Configure an affinity group.        group_id  integer      Affinity Group ID.       password  dictionary      Configure a password for neighbor.        encryption  integer      0 specifies an UNENCRYPTED neighbor password. 3 specifies an 3DES ENCRYPTED neighbor password will follow. 7 specifies a Cisco type 7 ENCRYPTED neighbor password will follow.        key  string      Authentication password.       path_attribute  list / elements=dictionary      BGP path attribute optional filtering.        action  string    
Choices: discard treat-as-withdraw    Action.        range  dictionary      Path attribute range.         end  integer      Path attribute range end value.         start  integer      Path attribute range start value.        type  integer      Path attribute type       peer_type  string    
Choices: fabric-border-leaf fabric-external    Neighbor facing       remote_as  string      Specify Autonomous System Number of the neighbor.       remove_private_as  dictionary      Remove private AS number from outbound updates.        all  boolean    
Choices: no yes    All.        replace_as  boolean    
Choices: no yes    Replace.        set  boolean    
Choices: no yes    Remove private AS.       shutdown  boolean    
Choices: no yes    Administratively shutdown this neighbor.       timers  dictionary      Configure keepalive and hold timers.        holdtime  integer      Holdtime (seconds).        keepalive  integer      Keepalive interval (seconds).       transport  dictionary      BGP transport connection.        connection_mode  dictionary      Specify type of connection.         passive  boolean    
Choices: no yes    Allow passive connection setup only.       ttl_security  dictionary      Enable TTL Security Mechanism.        hops  integer      Specify hop count for remote peer.       update_source  string      Specify source of BGP session and updates.      nexthop  dictionary      Nexthop resolution options.       suppress_default_resolution  boolean    
Choices: no yes    Prohibit use of default route for nexthop address resolution.      rd  dictionary      Secondary Route Distinguisher for vxlan multisite border gateway.       dual  boolean    
Choices: no yes    Generate Secondary RD for all VRFs and L2VNIs.       id  integer      Specify 2 byte value for ID.      reconnect_interval  integer      Configure connection reconnect interval.      router_id  string      Specify the IP address to use as router-id.      shutdown  boolean    
Choices: no yes    Administratively shutdown BGP protocol.      suppress_fib_pending  boolean    
Choices: no yes    Advertise only routes that are programmed in hardware to peers.      timers  dictionary      Configure bgp related timers.       bestpath_limit  dictionary      Configure timeout for first bestpath after restart.        always  boolean    
Choices: no yes    Configure update-delay-always option.        timeout  integer      Bestpath timeout (seconds).       bgp  dictionary      Configure different bgp keepalive and holdtimes.        holdtime  integer      Holdtime (seconds).        keepalive  integer      Keepalive interval (seconds).       prefix_peer_timeout  integer      Prefix Peer timeout (seconds).       prefix_peer_wait  integer      Configure wait timer for a prefix peer.      vrfs  list / elements=dictionary      Virtual Router Context configurations.       allocate_index  integer      Configure allocate-index.       bestpath  dictionary      Define the default bestpath selection algorithm.        always_compare_med  boolean    
Choices: no yes    Compare MED on paths from different AS.        as_path  dictionary      AS-Path.         ignore  boolean    
Choices: no yes    Ignore AS-Path during bestpath selection.         multipath_relax  boolean    
Choices: no yes    Relax AS-Path restriction when choosing multipaths.        compare_neighborid  boolean    
Choices: no yes    When more paths are available than max path config, use neighborid as tie-breaker.        compare_routerid  boolean    
Choices: no yes    Compare router-id for identical EBGP paths.        cost_community_ignore  boolean    
Choices: no yes    Ignore cost communities in bestpath selection.        igp_metric_ignore  boolean    
Choices: no yes    Ignore IGP metric for next-hop during bestpath selection.        med  dictionary      MED         confed  boolean    
Choices: no yes    Compare MED only from paths originated from within a confederation.         missing_as_worst  boolean    
Choices: no yes    Treat missing MED as highest MED.         non_deterministic  boolean    
Choices: no yes    Not always pick the best-MED path among paths from same AS.       cluster_id  string      Configure Route Reflector Cluster-ID.       confederation  dictionary      AS confederation parameters.        identifier  string      Set routing domain confederation AS.        peers  list / elements=string      Peer ASs in BGP confederation.       graceful_restart  dictionary      Configure Graceful Restart functionality.        helper  boolean    
Choices: no yes    Configure Graceful Restart Helper mode functionality.        restart_time  integer      Maximum time for restart advertised to peers.        set  boolean    
Choices: no yes    Enable graceful-restart.        stalepath_time  integer      Maximum time to keep a restarting peer's stale routes.       local_as  string      Specify the local-as for this vrf.       log_neighbor_changes  boolean    
Choices: no yes    Log a message for neighbor up/down event.       maxas_limit  integer      Allow AS-PATH attribute from EBGP neighbor imposing a limit on number of ASes.       neighbor_down  dictionary      Handle BGP neighbor down event, due to various reasons.        fib_accelerate  boolean    
Choices: no yes    Accelerate the hardware updates for IP/IPv6 adjacencies for neighbor.       neighbors  list / elements=dictionary      Configure BGP neighbors.        bfd  dictionary      Bidirectional Fast Detection for the neighbor.         multihop  dictionary      Multihop session.          interval  dictionary      Configure BFD session interval parameters.           min_rx_interval  integer      Minimum RX interval.           multiplier  integer      Detect Multiplier.           tx_interval  integer      TX interval in milliseconds.          set  boolean    
Choices: no yes    Set BFD multihop.         set  boolean    
Choices: no yes    Set BFD for this neighbor.         singlehop  boolean    
Choices: no yes    Single-hop session.        bmp_activate_server  integer      Specify server ID for activating BMP monitoring for the peer.        capability  dictionary      Capability.         suppress_4_byte_as  boolean    
Choices: no yes    Suppress 4-byte AS Capability.        description  string      Neighbor specific descripion.        disable_connected_check  boolean    
Choices: no yes    Disable check for directly connected peer.        dont_capability_negotiate  boolean    
Choices: no yes    Don't negotiate capability with this neighbor.        dscp  string      Set dscp value for tcp transport.        dynamic_capability  boolean    
Choices: no yes    Dynamic Capability        ebgp_multihop  integer      Specify multihop TTL for remote peer.        graceful_shutdown  dictionary      Graceful-shutdown for this neighbor.         activate  dictionary      Send graceful-shutdown community.          route_map  string      Apply route-map to modify attributes for outbound.          set  boolean    
Choices: no yes    Set activate.        inherit  dictionary      Inherit a template.         peer  string      Peer template to inherit.         peer_session  string      Peer-session template to inherit.        local_as  string      Specify the local-as number for the eBGP neighbor.        log_neighbor_changes  dictionary      Log message for neighbor up/down event.         disable  boolean    
Choices: no yes    Disable logging of neighbor up/down event.         set  boolean    
Choices: no yes    Set log-neighbor-changes.        low_memory  dictionary      Behaviour in low memory situations.         exempt  boolean    
Choices: no yes    Do not shutdown this peer when under memory pressure.        neighbor_address  string / required      IP address/Prefix of the neighbor or interface.        neighbor_affinity_group  dictionary      Configure an affinity group.         group_id  integer      Affinity Group ID.        password  dictionary      Configure a password for neighbor.         encryption  integer      0 specifies an UNENCRYPTED neighbor password. 3 specifies an 3DES ENCRYPTED neighbor password will follow. 7 specifies a Cisco type 7 ENCRYPTED neighbor password will follow.         key  string      Authentication password.        path_attribute  list / elements=dictionary      BGP path attribute optional filtering.         action  string    
Choices: discard treat-as-withdraw    Action.         range  dictionary      Path attribute range.          end  integer      Path attribute range end value.          start  integer      Path attribute range start value.         type  integer      Path attribute type        peer_type  string    
Choices: fabric-border-leaf fabric-external    Neighbor facing        remote_as  string      Specify Autonomous System Number of the neighbor.        remove_private_as  dictionary      Remove private AS number from outbound updates.         all  boolean    
Choices: no yes    All.         replace_as  boolean    
Choices: no yes    Replace.         set  boolean    
Choices: no yes    Remove private AS.        shutdown  boolean    
Choices: no yes    Administratively shutdown this neighbor.        timers  dictionary      Configure keepalive and hold timers.         holdtime  integer      Holdtime (seconds).         keepalive  integer      Keepalive interval (seconds).        transport  dictionary      BGP transport connection.         connection_mode  dictionary      Specify type of connection.          passive  boolean    
Choices: no yes    Allow passive connection setup only.        ttl_security  dictionary      Enable TTL Security Mechanism.         hops  integer      Specify hop count for remote peer.        update_source  string      Specify source of BGP session and updates.       reconnect_interval  integer      Configure connection reconnect interval.       router_id  string      Specify the IP address to use as router-id.       timers  dictionary      Configure bgp related timers.        bestpath_limit  dictionary      Configure timeout for first bestpath after restart.         always  boolean    
Choices: no yes    Configure update-delay-always option.         timeout  integer      Bestpath timeout (seconds).        bgp  dictionary      Configure different bgp keepalive and holdtimes.         holdtime  integer      Holdtime (seconds).         keepalive  integer      Keepalive interval (seconds).        prefix_peer_timeout  integer      Prefix Peer timeout (seconds).        prefix_peer_wait  integer      Configure wait timer for a prefix peer.       vrf  string      VRF name.     running_config  string      This option is used only with state parsed. The value of this option should be the output received from the NX-OS device by executing the command show running-config | section '^router bgp'. The state parsed reads the configuration from running_config option and transforms it into Ansible structured data as per the resource module's argspec and the value is then returned in the parsed key within the result.     state  string    
Choices: 
merged ← replaced deleted purged parsed gathered rendered    The state the configuration should be left in. State purged removes all the BGP configurations from the target device. Use caution with this state. State deleted only removes BGP attributes that this modules manages and does not negate the BGP process completely. Thereby, preserving address-family related configurations under BGP context. Running states deleted and replaced will result in an error if there are address-family configuration lines present under a neighbor, or a vrf context that is to be removed. Please use the cisco.nxos.nxos_bgp_af or cisco.nxos.nxos_bgp_neighbor_af modules for prior cleanup. States merged and replaced will result in a failure if BGP is already configured with a different ASN than what is provided in the task. In such cases, please use state purged to remove the existing BGP process and proceed further. Refer to examples for more details.     Notes  Note  Tested against NX-OS 9.3.6. Unsupported for Cisco MDS This module works with connection network_cli and httpapi.   Examples # Using merged

# Before state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# Nexus9000v#

- name: Merge the provided configuration with the existing running configuration
  cisco.nxos.nxos_bgp_global:
    config:
      as_number: 65563
      router_id: 586-819-7678
      bestpath:
        as_path:
          multipath_relax: True
        compare_neighborid: True
        cost_community_ignore: True
      confederation:
        identifier: 42
        peers:
          - 65020
          - 65030
          - 65040
      log_neighbor_changes: True
      maxas_limit: 20
      neighbors:
        - neighbor_address: 586-819-7678
          neighbor_affinity_group:
            group_id: 160
          bmp_activate_server: 1
          remote_as: 65563
          description: NBR-1
          low_memory:
            exempt: True
        - neighbor_address: 586-819-7678
          remote_as: 65563
          password:
            encryption: 7
            key: 12090404011C03162E
      neighbor_down:
        fib_accelerate: True
      vrfs:
        - vrf: site-1
          allocate_index: 5000
          local_as: 200
          log_neighbor_changes: True
          neighbors:
            - neighbor_address: 586-819-7678
              description: site-1-nbr-1
              password:
                encryption: 3
                key: 13D4D3549493D2877B1DC116EE27A6BE
              remote_as: 65562
            - neighbor_address: 586-819-7678
              remote_as: 65562
              description: site-1-nbr-2
        - vrf: site-2
          local_as: 300
          log_neighbor_changes: True
          neighbors:
            - neighbor_address: 586-819-7678
              description: site-2-nbr-1
              password:
                encryption: 3
                key: AF92F4C16A0A0EC5BDF56CF58BC030F6
              remote_as: 65568
          neighbor_down:
            fib_accelerate: True

# Task output
# -------------
# before: {}
#
# commands:
#  - router bgp 65563
#  - bestpath as-path multipath-relax
#  - bestpath compare-neighborid
#  - bestpath cost-community ignore
#  - confederation identifier 42
#  - log-neighbor-changes
#  - maxas-limit 20
#  - neighbor-down fib-accelerate
#  - router-id 586-819-7678
#  - confederation peers 65020 65030 65040
#  - neighbor 586-819-7678
#  - remote-as 65563
#  - affinity-group 160
#  - bmp-activate-server 1
#  - description NBR-1
#  - low-memory exempt
#  - neighbor 586-819-7678
#  - remote-as 65563
#  - password 7 12090404011C03162E
#  - vrf site-1
#  - allocate-index 5000
#  - local-as 200
#  - log-neighbor-changes
#  - neighbor 586-819-7678
#  - remote-as 65562
#  - description site-1-nbr-1
#  - password 3 13D4D3549493D2877B1DC116EE27A6BE
#  - neighbor 586-819-7678
#  - remote-as 65562
#  - description site-1-nbr-2
#  - vrf site-2
#  - local-as 300
#  - log-neighbor-changes
#  - neighbor-down fib-accelerate
#  - neighbor 586-819-7678
#  - remote-as 65568
#  - description site-2-nbr-1
#  - password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6
#
# after:
#    as_number: '65563'
#    bestpath:
#      as_path:
#        multipath_relax: true
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65040'
#    log_neighbor_changes: true
#    maxas_limit: 20
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 586-819-7678
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    - neighbor_address: 586-819-7678
#      password:
#        encryption: 7
#        key: 12090404011C03162E
#      remote_as: '65563'
#    router_id: 586-819-7678
#    vrfs:
#    - allocate_index: 5000
#      local_as: '200'
#      log_neighbor_changes: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 586-819-7678
#        password:
#          encryption: 3
#          key: 13D4D3549493D2877B1DC116EE27A6BE
#        remote_as: '65562'
#      - description: site-1-nbr-2
#        neighbor_address: 586-819-7678
#        remote_as: '65562'
#      vrf: site-1
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - description: site-2-nbr-1
#        neighbor_address: 586-819-7678
#        password:
#          encryption: 3
#          key: AF92F4C16A0A0EC5BDF56CF58BC030F6
#        remote_as: '65568'
#      vrf: site-2


# After state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   router-id 586-819-7678
#   confederation identifier 42
#   confederation peers 65020 65030 65040
#   bestpath as-path multipath-relax
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 20
#   log-neighbor-changes
#   neighbor 586-819-7678
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   neighbor 586-819-7678
#     remote-as 65563
#     password 7 12090404011C03162E
#   vrf site-1
#     local-as 200
#     log-neighbor-changes
#     allocate-index 5000
#     neighbor 586-819-7678
#       remote-as 65562
#       description site-1-nbr-1
#       password 3 13D4D3549493D2877B1DC116EE27A6BE
#     neighbor 586-819-7678
#       remote-as 65562
#       description site-1-nbr-2
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 586-819-7678
#       remote-as 65568
#       description site-2-nbr-1
#       password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6

# Using replaced

# Before state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   router-id 586-819-7678
#   confederation identifier 42
#   confederation peers 65020 65030 65040
#   bestpath as-path multipath-relax
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 20
#   log-neighbor-changes
#   neighbor 586-819-7678
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   neighbor 586-819-7678
#     remote-as 65563
#     password 7 12090404011C03162E
#   vrf site-1
#     local-as 200
#     log-neighbor-changes
#     allocate-index 5000
#     neighbor 586-819-7678
#       remote-as 65562
#       description site-1-nbr-1
#       password 3 13D4D3549493D2877B1DC116EE27A6BE
#     neighbor 586-819-7678
#       remote-as 65562
#       description site-1-nbr-2
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 586-819-7678
#       remote-as 65568
#       description site-2-nbr-1
#       password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6

- name: Replace BGP configuration with provided configuration
  cisco.nxos.nxos_bgp_global:
    config:
      as_number: 65563
      router_id: 586-819-7678
      bestpath:
        compare_neighborid: True
        cost_community_ignore: True
      confederation:
        identifier: 42
        peers:
          - 65020
          - 65030
          - 65050
      maxas_limit: 40
      neighbors:
        - neighbor_address: 586-819-7678
          neighbor_affinity_group:
            group_id: 160
          bmp_activate_server: 1
          remote_as: 65563
          description: NBR-1
          low_memory:
            exempt: True
      neighbor_down:
        fib_accelerate: True
      vrfs:
        - vrf: site-2
          local_as: 300
          log_neighbor_changes: True
          neighbors:
            - neighbor_address: 586-819-7678
              password:
                encryption: 7
                key: 12090404011C03162E
          neighbor_down:
            fib_accelerate: True
    state: replaced

# Task output
# -------------
#  before:
#    as_number: '65563'
#    bestpath:
#      as_path:
#        multipath_relax: true
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65040'
#    log_neighbor_changes: true
#    maxas_limit: 20
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 586-819-7678
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    - neighbor_address: 586-819-7678
#      password:
#        encryption: 7
#        key: 12090404011C03162E
#      remote_as: '65563'
#    router_id: 586-819-7678
#    vrfs:
#    - allocate_index: 5000
#      local_as: '200'
#      log_neighbor_changes: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 586-819-7678
#        password:
#          encryption: 3
#          key: 13D4D3549493D2877B1DC116EE27A6BE
#        remote_as: '65562'
#      - description: site-1-nbr-2
#        neighbor_address: 586-819-7678
#        remote_as: '65562'
#      vrf: site-1
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - description: site-2-nbr-1
#        neighbor_address: 586-819-7678
#        password:
#          encryption: 3
#          key: AF92F4C16A0A0EC5BDF56CF58BC030F6
#        remote_as: '65568'
#      vrf: site-2
#
# commands:
#  - router bgp 65563
#  - no bestpath as-path multipath-relax
#  - no log-neighbor-changes
#  - maxas-limit 40
#  - no confederation peers 65020 65030 65040
#  - confederation peers 65020 65030 65050
#  - no neighbor 586-819-7678
#  - vrf site-2
#  - neighbor 586-819-7678
#  - no remote-as 65568
#  - no description site-2-nbr-1
#  - password 7 12090404011C03162E
#  - no vrf site-1

#  after:
#    as_number: '65563'
#    bestpath:
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65050'
#    maxas_limit: 40
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 586-819-7678
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    router_id: 586-819-7678
#    vrfs:
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - neighbor_address: 586-819-7678
#        password:
#          encryption: 7
#          key: 12090404011C03162E
#      vrf: site-2
#
# After state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   router-id 586-819-7678
#   confederation identifier 42
#   confederation peers 65020 65030 65050
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 40
#   neighbor 586-819-7678
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 586-819-7678
#       password 7 12090404011C03162E

# Using deleted

# Before state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   router-id 586-819-7678
#   confederation identifier 42
#   confederation peers 65020 65030 65040
#   bestpath as-path multipath-relax
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 20
#   log-neighbor-changes
#   address-family ipv4 unicast
#     default-metric 400
#     suppress-inactive
#     default-information originate
#   address-family ipv6 multicast
#     wait-igp-convergence
#     redistribute eigrp eigrp-1 route-map site-1-rmap
#   neighbor 586-819-7678
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   neighbor 586-819-7678
#     remote-as 65563
#     password 7 12090404011C03162E
#   vrf site-1
#     local-as 200
#     log-neighbor-changes
#     allocate-index 5000
#     address-family ipv4 multicast
#       maximum-paths 40
#       dampen-igp-metric 1200
#     neighbor 586-819-7678
#       remote-as 65562
#       description site-1-nbr-1
#       password 3 13D4D3549493D2877B1DC116EE27A6BE
#     neighbor 586-819-7678
#       remote-as 65562
#       description site-1-nbr-2
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 586-819-7678
#       remote-as 65568
#       description site-1-nbr-1
#       password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6

- name: Delete BGP configurations handled by this module
  cisco.nxos.nxos_bgp_global:
    state: deleted

# Task output
# -------------

# before:
#    as_number: '65563'
#    bestpath:
#      as_path:
#        multipath_relax: true
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65040'
#    log_neighbor_changes: true
#    maxas_limit: 20
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 586-819-7678
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    - neighbor_address: 586-819-7678
#      password:
#        encryption: 7
#        key: 12090404011C03162E
#      remote_as: '65563'
#    router_id: 586-819-7678
#    vrfs:
#    - allocate_index: 5000
#      local_as: '200'
#      log_neighbor_changes: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 586-819-7678
#        password:
#          encryption: 3
#          key: 13D4D3549493D2877B1DC116EE27A6BE
#        remote_as: '65562'
#      - description: site-1-nbr-2
#        neighbor_address: 586-819-7678
#        remote_as: '65562'
#      vrf: site-1
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 586-819-7678
#        password:
#          encryption: 3
#          key: AF92F4C16A0A0EC5BDF56CF58BC030F6
#        remote_as: '65568'
#      vrf: site-2
#
# commands:
#   - router bgp 65563
#   - no bestpath as-path multipath-relax
#   - no bestpath compare-neighborid
#   - no bestpath cost-community ignore
#   - no confederation identifier 42
#   - no log-neighbor-changes
#   - no maxas-limit 20
#   - no neighbor-down fib-accelerate
#   - no router-id 586-819-7678
#   - no confederation peers 65020 65030 65040
#   - no neighbor 586-819-7678
#   - no neighbor 586-819-7678
#   - no vrf site-1
#   - no vrf site-2
#
#  after:
#    as_number: '65563'
#
# After state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   address-family ipv4 unicast
#     default-metric 400
#     suppress-inactive
#     default-information originate
#   address-family ipv6 multicast
#     wait-igp-convergence
#     redistribute eigrp eigrp-1 route-map site-1-rmap
#

# Using purged

# Before state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   router-id 586-819-7678
#   confederation identifier 42
#   confederation peers 65020 65030 65040
#   bestpath as-path multipath-relax
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 20
#   log-neighbor-changes
#   address-family ipv4 unicast
#     default-metric 400
#     suppress-inactive
#     default-information originate
#   address-family ipv6 multicast
#     wait-igp-convergence
#     redistribute eigrp eigrp-1 route-map site-1-rmap
#   neighbor 586-819-7678
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   neighbor 586-819-7678
#     remote-as 65563
#     password 7 12090404011C03162E
#   vrf site-1
#     local-as 200
#     log-neighbor-changes
#     allocate-index 5000
#     address-family ipv4 multicast
#       maximum-paths 40
#       dampen-igp-metric 1200
#     neighbor 586-819-7678
#       remote-as 65562
#       description site-1-nbr-1
#       password 3 13D4D3549493D2877B1DC116EE27A6BE
#     neighbor 586-819-7678
#       remote-as 65562
#       description site-1-nbr-2
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 586-819-7678
#       remote-as 65568
#       description site-1-nbr-1
#       password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6

- name: Purge all BGP configurations from the device
  cisco.nxos.nxos_bgp_global:
    state: purged

# Task output
# -------------

# before:
#    as_number: '65563'
#    bestpath:
#      as_path:
#        multipath_relax: true
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65040'
#    log_neighbor_changes: true
#    maxas_limit: 20
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 586-819-7678
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    - neighbor_address: 586-819-7678
#      password:
#        encryption: 7
#        key: 12090404011C03162E
#      remote_as: '65563'
#    router_id: 586-819-7678
#    vrfs:
#    - allocate_index: 5000
#      local_as: '200'
#      log_neighbor_changes: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 586-819-7678
#        password:
#          encryption: 3
#          key: 13D4D3549493D2877B1DC116EE27A6BE
#        remote_as: '65562'
#      - description: site-1-nbr-2
#        neighbor_address: 586-819-7678
#        remote_as: '65562'
#      vrf: site-1
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 586-819-7678
#        password:
#          encryption: 3
#          key: AF92F4C16A0A0EC5BDF56CF58BC030F6
#        remote_as: '65568'
#      vrf: site-2
#
# commands:
#   - no router bgp 65563
#
#  after: {}
#
# After state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# Nexus9000v#

# Using rendered

- name: Render platform specific configuration lines (without connecting to the device)
  cisco.nxos.nxos_bgp_global:
    config:
      as_number: 65563
      router_id: 586-819-7678
      bestpath:
        as_path:
          multipath_relax: True
        compare_neighborid: True
        cost_community_ignore: True
      confederation:
        identifier: 42
        peers:
          - 65020
          - 65030
          - 65040
      log_neighbor_changes: True
      maxas_limit: 20
      neighbors:
        - neighbor_address: 586-819-7678
          neighbor_affinity_group:
            group_id: 160
          bmp_activate_server: 1
          remote_as: 65563
          description: NBR-1
          low_memory:
            exempt: True
        - neighbor_address: 586-819-7678
          remote_as: 65563
          password:
            encryption: 7
            key: 12090404011C03162E
      neighbor_down:
        fib_accelerate: True
      vrfs:
        - vrf: site-1
          allocate_index: 5000
          local_as: 200
          log_neighbor_changes: True
          neighbors:
            - neighbor_address: 586-819-7678
              description: site-1-nbr-1
              password:
                encryption: 3
                key: 13D4D3549493D2877B1DC116EE27A6BE
              remote_as: 65562
            - neighbor_address: 586-819-7678
              remote_as: 65562
              description: site-1-nbr-2
        - vrf: site-2
          local_as: 300
          log_neighbor_changes: True
          neighbors:
            - neighbor_address: 586-819-7678
              description: site-1-nbr-1
              password:
                encryption: 3
                key: AF92F4C16A0A0EC5BDF56CF58BC030F6
              remote_as: 65568
          neighbor_down:
            fib_accelerate: True

# Task Output (redacted)
# -----------------------
# rendered:
#   - router bgp 65563
#   - bestpath as-path multipath-relax
#   - bestpath compare-neighborid
#   - bestpath cost-community ignore
#   - confederation identifier 42
#   - log-neighbor-changes
#   - maxas-limit 20
#   - neighbor-down fib-accelerate
#   - router-id 586-819-7678
#   - confederation peers 65020 65030 65040
#   - neighbor 586-819-7678
#   - remote-as 65563
#   - affinity-group 160
#   - bmp-activate-server 1
#   - description NBR-1
#   - low-memory exempt
#   - neighbor 586-819-7678
#   - remote-as 65563
#   - password 7 12090404011C03162E
#   - vrf site-1
#   - allocate-index 5000
#   - local-as 200
#   - log-neighbor-changes
#   - neighbor 586-819-7678
#   - remote-as 65562
#   - description site-1-nbr-1
#   - password 3 13D4D3549493D2877B1DC116EE27A6BE
#   - neighbor 586-819-7678
#   - remote-as 65562
#   - description site-1-nbr-2
#   - vrf site-2
#   - local-as 300
#   - log-neighbor-changes
#   - neighbor-down fib-accelerate
#   - neighbor 586-819-7678
#   - remote-as 65568
#   - description site-1-nbr-1
#   - password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6

# Using parsed

# parsed.cfg
# ------------
# router bgp 65563
#   router-id 586-819-7678
#   confederation identifier 42
#   confederation peers 65020 65030 65040
#   bestpath as-path multipath-relax
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 20
#   log-neighbor-changes
#   neighbor 586-819-7678
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   neighbor 586-819-7678
#     remote-as 65563
#     password 7 12090404011C03162E
#   vrf site-1
#     local-as 200
#     log-neighbor-changes
#     allocate-index 5000
#     neighbor 586-819-7678
#       remote-as 65562
#       description site-1-nbr-1
#       password 3 13D4D3549493D2877B1DC116EE27A6BE
#     neighbor 586-819-7678
#       remote-as 65562
#       description site-1-nbr-2
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 586-819-7678
#       remote-as 65568
#       description site-1-nbr-1
#       password 3 AF92F4C16A0A0EC5BDF56CF58BC030F6

- name: Parse externally provided BGP config
  cisco.nxos.nxos_bgp_global:
    running_config: "{{ lookup('file', 'parsed.cfg') }}"
    state: parsed

# Task output (redacted)
# -----------------------
#  parsed:
#    as_number: '65563'
#    bestpath:
#      as_path:
#        multipath_relax: true
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65040'
#    log_neighbor_changes: true
#    maxas_limit: 20
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 586-819-7678
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    - neighbor_address: 586-819-7678
#      password:
#        encryption: 7
#        key: 12090404011C03162E
#      remote_as: '65563'
#    router_id: 586-819-7678
#    vrfs:
#    - allocate_index: 5000
#      local_as: '200'
#      log_neighbor_changes: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 586-819-7678
#        password:
#          encryption: 3
#          key: 13D4D3549493D2877B1DC116EE27A6BE
#        remote_as: '65562'
#      - description: site-1-nbr-2
#        neighbor_address: 586-819-7678
#        remote_as: '65562'
#      vrf: site-1
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - description: site-1-nbr-1
#        neighbor_address: 586-819-7678
#        password:
#          encryption: 3
#          key: AF92F4C16A0A0EC5BDF56CF58BC030F6
#        remote_as: '65568'
#      vrf: site-2

# Using gathered

# existing config
#
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65563
#   router-id 586-819-7678
#   confederation identifier 42
#   confederation peers 65020 65030 65050
#   bestpath cost-community ignore
#   bestpath compare-neighborid
#   neighbor-down fib-accelerate
#   maxas-limit 40
#   neighbor 586-819-7678
#     low-memory exempt
#     bmp-activate-server 1
#     remote-as 65563
#     description NBR-1
#     affinity-group 160
#   vrf site-1
#   vrf site-2
#     local-as 300
#     neighbor-down fib-accelerate
#     log-neighbor-changes
#     neighbor 586-819-7678
#       password 7 12090404011C03162E

- name: Gather BGP facts using gathered
  cisco.nxos.nxos_bgp_global:
    state: gathered

# Task output (redacted)
# -----------------------
#  gathered:
#    as_number: '65563'
#    bestpath:
#      compare_neighborid: true
#      cost_community_ignore: true
#    confederation:
#      identifier: '42'
#      peers:
#      - '65020'
#      - '65030'
#      - '65050'
#    maxas_limit: 40
#    neighbor_down:
#      fib_accelerate: true
#    neighbors:
#    - bmp_activate_server: 1
#      description: NBR-1
#      low_memory:
#        exempt: true
#      neighbor_address: 586-819-7678
#      neighbor_affinity_group:
#        group_id: 160
#      remote_as: '65563'
#    router_id: 586-819-7678
#    vrfs:
#    - vrf: site-1
#    - local_as: '300'
#      log_neighbor_changes: true
#      neighbor_down:
#        fib_accelerate: true
#      neighbors:
#      - neighbor_address: 586-819-7678
#        password:
#          encryption: 7
#          key: 12090404011C03162E
#      vrf: site-2

# Remove a neighbor having AF configurations with state replaced (will fail)

# Before state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65536
#   log-neighbor-changes
#   maxas-limit 20
#   router-id 586-819-7678
#   neighbor 586-819-7678
#     address-family ipv4 unicast
#       next-hop-self
#     remote-as 65538
#     affinity-group 160
#     description NBR-1
#     low-memory exempt
#   neighbor 586-819-7678
#     remote-as 65537
#     password 7 12090404011C03162E

- name: Remove a neighbor having AF configurations (should fail)
  cisco.nxos.nxos_bgp_global:
    config:
      as_number: 65536
      router_id: 586-819-7678
      maxas_limit: 20
      log_neighbor_changes: True
      neighbors:
        - neighbor_address: 586-819-7678
          remote_as: 65537
          password:
            encryption: 7
            key: 12090404011C03162E
    state: replaced

# Task output (redacted)
# -----------------------
# fatal: [Nexus9000v]: FAILED! => changed=false
#    msg: Neighbor 586-819-7678 has address-family configurations.
#         Please use the nxos_bgp_neighbor_af module to remove those first.

# Remove a VRF having AF configurations with state replaced (will fail)

# Before state:
# -------------
# Nexus9000v# show running-config | section "^router bgp"
# router bgp 65536
#   log-neighbor-changes
#   maxas-limit 20
#   router-id 586-819-7678
#   neighbor 586-819-7678
#     remote-as 65537
#     password 7 12090404011C03162E
#   vrf site-1
#     address-family ipv4 unicast
#       default-information originate
#     neighbor 586-819-7678
#       remote-as 65538
#       affinity-group 160
#       description NBR-1
#       low-memory exempt
#   vrf site-2
#     neighbor-down fib-accelerate

- name: Remove a VRF having AF configurations (should fail)
  cisco.nxos.nxos_bgp_global:
    config:
      as_number: 65536
      router_id: 586-819-7678
      maxas_limit: 20
      log_neighbor_changes: True
      neighbors:
        - neighbor_address: 586-819-7678
          remote_as: 65537
          password:
            encryption: 7
            key: 12090404011C03162E
      vrfs:
        - vrf: site-2
          neighbor_down:
            fib_accelerate: True
    state: replaced

# Task output (redacted)
# -----------------------
# fatal: [Nexus9000v]: FAILED! => changed=false
#    msg: VRF site-1 has address-family configurations.
#         Please use the nxos_bgp_af module to remove those first.
 Return Values Common return values are documented here, the following are the fields unique to this module:   Key Returned Description    after  dictionary   when changed  The resulting configuration model invocation.  Sample: The configuration returned will always be in the same format of the parameters above.     before  dictionary   always  The configuration prior to the model invocation.  Sample: The configuration returned will always be in the same format of the parameters above.     commands  list / elements=string   always  The set of commands pushed to the remote device.  Sample: ['router bgp 65563', 'maxas-limit 20', 'router-id 586-819-7678', 'confederation peers 65020 65030 65040', 'neighbor 586-819-7678', 'remote-as 65563', 'affinity-group 160', 'bmp-activate-server 1', 'description NBR-1', 'low-memory exempt', 'vrf site-1', 'log-neighbor-changes', 'neighbor 586-819-7678', 'remote-as 65562', 'description site-1-nbr-1', 'password 3 13D4D3549493D2877B1DC116EE27A6BE']     Authors  Nilashish Chakraborty (@NilashishC) 

    © 2012–2018 Michael DeHaan
{'path': 'public/docs/ansible/collections/cisco/nxos/nxos_bgp_global_module.html', 'source': 'DevDocs.IO'}