panos_bgp – Configures Border Gateway Protocol (BGP)

New in version 2.9.

Synopsis

  • NOTE: The modules in this role are deprecated in favour of the modules in the collection https://paloaltonetworks.github.io/pan-os-ansible

  • Use BGP to publish and consume routes from disparate networks.

Requirements

The below requirements are needed on the host that executes this module.

Parameters

Parameter Choices/Defaults Comments
aggregate_med
-
Aggregate route only if they have same MED attributes.
allow_redist_default_route
-
Default:
"no"
Allow redistribute default route to BGP.
always_compare_med
-
Default:
"no"
Always compare MEDs.
api_key
string
Deprecated
Use provider to specify PAN-OS connectivity instead.

The API key to use instead of generating it using username / password.
as_format
-
Default:
"2-byte"
AS format '2-byte'/'4-byte'.
commit
-
Default:
"yes"
Commit configuration if changed.
confederation_member_as
-
Confederation requires member-AS number.
default_local_preference
-
Default:
100
Default local preference.
deterministic_med_comparison
-
Default:
"yes"
Deterministic MEDs comparison.
ecmp_multi_as
-
Default:
"no"
Support multiple AS in ECMP.
enable
-
Default:
"yes"
Enable BGP.
enforce_first_as
-
Default:
"yes"
Enforce First AS for EBGP.
gr_local_restart_time
-
Local restart time to advertise to peer (in seconds).
gr_max_peer_restart_time
-
Maximum of peer restart time accepted (in seconds).
gr_stale_route_time
-
Time to remove stale routes after peer restart (in seconds).
graceful_restart_enable
-
Default:
"yes"
Enable graceful restart.
install_route
-
Default:
"no"
Populate BGP learned route to global route table.
ip_address
string
Deprecated
Use provider to specify PAN-OS connectivity instead.

The IP address or hostname of the PAN-OS device being configured.
local_as
-
Local Autonomous System (AS) number.
password
string
Deprecated
Use provider to specify PAN-OS connectivity instead.

The password to use for authentication. This is ignored if api_key is specified.
port
integer
Default:
443
Deprecated
Use provider to specify PAN-OS connectivity instead.

The port number to connect to the PAN-OS device on.
provider
-
added in 2.8
A dict object containing connection details.
api_key
string
The API key to use instead of generating it using username / password.
ip_address
string
The IP address or hostname of the PAN-OS device being configured.
password
string
The password to use for authentication. This is ignored if api_key is specified.
port
integer
Default:
443
The port number to connect to the PAN-OS device on.
serial_number
string
The serial number of a firewall to use for targeted commands. If ip_address is not a Panorama PAN-OS device, then this param is ignored.
username
string
Default:
"admin"
The username to use for authentication. This is ignored if api_key is specified.
reflector_cluster_id
-
Route reflector cluster ID.
reject_default_route
-
Default:
"yes"
Reject default route.
router_id
- / required
Router ID in IP format (eg. 1.1.1.1)
state
-
    Choices:
  • present ←
  • absent
  • enabled
  • disabled
The state.
template
string
(Panorama only) The template this operation should target. Mutually exclusive with template_stack.
template_stack
string
(Panorama only) The template stack this operation should target. Mutually exclusive with template.
username
string
Default:
"admin"
Deprecated
Use provider to specify PAN-OS connectivity instead.

The username to use for authentication. This is ignored if api_key is specified.
vr_name
-
Default:
"default"
Name of the virtual router; it must already exist.

Notes

Note

  • Checkmode is supported.

  • Panorama is supported.

  • PAN-OS connectivity should be specified using provider or the classic PAN-OS connectivity params (ip_address, username, password, api_key, and port). If both are present, then the classic params are ignored.

  • If the PAN-OS to be configured is Panorama, either template or template_stack must be specified.

Examples

- name: Configure and enable BGP
  panos_bgp:
    provider: '{{ provider }}'
    router_id: '1.1.1.1'
    local_as: '64512'
    commit: true

Status

Authors

  • Joshua Colson (@freakinhippie)

  • Garfield Lee Freeman (@shinmog)