Note
This plugin is part of the junipernetworks.junos collection (version 2.6.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 junipernetworks.junos
.
To use it in a playbook, specify: junipernetworks.junos.junos_ospf_interfaces
.
New in version 1.3.0: of junipernetworks.junos
Note
This module has a corresponding action plugin.
The below requirements are needed on the host that executes this module.
Parameter | Choices/Defaults | Comments | |||||
---|---|---|---|---|---|---|---|
config list / elements=dictionary | A list of OSPF configuration for interfaces. | ||||||
address_family list / elements=dictionary | OSPF settings on the interfaces in address-family context. | ||||||
afi string / required |
| Address Family Identifier (AFI) for OSPF settings on the interfaces. | |||||
processes dictionary | Interfaces configuration for an OSPF process. | ||||||
area dictionary | Specify the area-id | ||||||
area_id string | Specify area id. | ||||||
authentication dictionary | Specify authentication type | ||||||
md5 dictionary | Specify md5 based authentication. | ||||||
key_id string | Specify md5 key-id | ||||||
key_value string | Specify key value | ||||||
start_time string | Specify start time for key transmission | ||||||
simple_password string | Specify password for authentication. | ||||||
bandwidth_based_metrics list / elements=dictionary | Specify list of bandwidth based metrics | ||||||
bandwidth string |
| BW to apply metric to. | |||||
metric integer | Specify metric | ||||||
dead_interval integer | Dead interval (seconds). | ||||||
demand_circuit boolean |
| Interface functions as a demand circuit. | |||||
flood_reduction boolean |
| Enable flood reduction. | |||||
hello_interval integer | Hello interval (seconds). | ||||||
interface_type string |
| Specify type of interface | |||||
ipsec_sa string | IPSec security association name | ||||||
metric integer | Metric applied to the interface. | ||||||
mtu integer | Maximum OSPF packet size | ||||||
no_advertise_adjacency_segment boolean |
| Do not advertise an adjacency segment for this interface. | |||||
no_eligible_backup boolean |
| Not eligible to backup traffic from protected interfaces. | |||||
no_eligible_remote_backup boolean |
| Not eligible for Remote-LFA backup traffic from protected interfaces. | |||||
no_interface_state_traps boolean |
| Do not send interface state change traps. | |||||
no_neighbor_down_notification boolean |
| Don't inform other protocols about neighbor down events. | |||||
node_link_protection string | Protect interface from both link and node faults. | ||||||
poll_interval integer | Poll interval (seconds). | ||||||
priority integer | Priority for the interface. | ||||||
retransmit_interval integer | Retransmit interval (seconds). | ||||||
secondary boolean |
| Treat interface as secondary | |||||
te_metric integer | Traffic engineering metric applied to the interface. | ||||||
transit_delay integer | Transit delay (seconds). | ||||||
name string / required | Name/Identifier of the interface. | ||||||
router_id string / required | The OSPFv3 router id. | ||||||
running_config string | This option is used only with state parsed. The value of this option should be the output received from the Junos device by executing the command show protocols ospf. 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 |
| The state the configuration should be left in. |
Note
netconf
. See the Junos OS Platform Options.# Using merged # # Before state # ------------ # # admin# show protocols ospf - name: Merge Junos OSPF interfaces config junipernetworks.junos.junos_ospf_interfaces: config: - router_id: '10.200.16.75' name: 'ge-0/0/2.0' address_family: - afi: 'ipv4' processes: area: area_id: '0.0.0.2' priority: 3 metric: 5 state: merged # After state # ----------- # # admin# show protocols ospf # area 0.0.0.2 { # interface ge-0/0/2.0 { # metric 5; # priority 3; # } # } # Using replaced # # Before state # ------------ # # admin# show protocols ospf # area 0.0.0.2 { # interface ge-0/0/2.0 { # metric 5; # priority 3; # } # } - name: Replace Junos OSPF interfaces config junipernetworks.junos.junos_ospf_interfaces: config: - router_id: '10.200.16.75' name: 'ge-0/0/2.0' address_family: - afi: 'ipv4' processes: area: area_id: '0.0.0.1' priority: 6 metric: 6 state: replaced # After state # ----------- # # admin# show protocols ospf # area 0.0.0.1 { # interface ge-0/0/2.0 { # metric 6; # priority 6; # } # } # Using overridden # # Before state # ------------ # # admin# show protocols ospf # area 0.0.0.3 { # interface ge-0/0/3.0 { # metric 5; # priority 3; # } # } # area 0.0.0.2 { # interface ge-0/0/2.0 { # metric 5; # priority 3; # } # } - name: Override Junos OSPF interfaces config junipernetworks.junos.junos_ospf_interfaces: config: - router_id: '10.200.16.75' name: 'ge-0/0/1.0' address_family: - afi: 'ipv4' processes: area: area_id: '0.0.0.1' priority: 3 metric: 5 state: overridden # After state # ----------- # # admin# show protocols ospf # area 0.0.0.1 { # interface ge-0/0/1.0 { # metric 5; # priority 3; # } # } # # Using deleted # # Before state # ------------ # # admin# show protocols ospf # area 0.0.0.1 { # interface ge-0/0/1.0 { # metric 5; # priority 3; # } # } - name: Delete Junos OSPF interfaces config junipernetworks.junos.junos_ospf_interfaces: config: - router_id: '10.200.16.75' name: 'ge-0/0/1.0' state: deleted # After state # ----------- # # admin# show protocols ospf # Using gathered # # Before state # ------------ # # admin# show protocols ospf # area 0.0.0.3 { # interface ge-0/0/3.0 { # metric 5; # priority 3; # } # } # area 0.0.0.2 { # interface ge-0/0/2.0 { # metric 5; # priority 3; # } # } - name: Gather Junos OSPF interfaces config junipernetworks.junos.junos_ospf_interfaces: config: state: gathered # # # ------------------------- # Module Execution Result # ------------------------- # # "gathered": [ # { # "address_family": [ # { # "afi": "ipv4", # "processes": { # "area": { # "area_id": "0.0.0.3" # }, # "metric": 5, # "priority": 3 # } # } # ], # "name": "ge-0/0/3.0", # "router_id": "10.200.16.75" # }, # { # "address_family": [ # { # "afi": "ipv4", # "processes": { # "area": { # "area_id": "0.0.0.2" # }, # "metric": 5, # "priority": 3 # } # } # ], # "name": "ge-0/0/2.0", # "router_id": "10.200.16.75" # } # ] # # Using rendered # # - name: Render the commands for provided configuration junipernetworks.junos.junos_ospf_interfaces: config: - router_id: '10.200.16.75' name: 'ge-0/0/2.0' address_family: - afi: 'ipv4' processes: area: area_id: '0.0.0.2' priority: 3 metric: 5 state: rendered # # # ------------------------- # Module Execution Result # ------------------------- # # # "rendered": " # <nc:protocols # xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> # <nc:ospf> # <nc:area> # <nc:name>0.0.0.2</nc:name> # <nc:interface> # <nc:name>ge-0/0/2.0</nc:name> # <nc:priority>3</nc:priority> # <nc:metric>5</nc:metric> # </nc:interface> # </nc:area> # </nc:ospf> # </nc:protocols>" # # Using parsed # parsed.cfg # ------------ # <?xml version="1.0" encoding="UTF-8"?> # <rpc-reply message-id="urn:uuid:0cadb4e8-5bba-47f4-986e-72906227007f"> # <configuration changed-seconds="1590139550" changed-localtime="2020-05-22 09:25:50 UTC"> # <protocols> # <ospf> # <area> # <name>0.0.0.2</name> # <stub> # <default-metric>200</default-metric> # </stub> # <interface> # <name>ge-0/0/2.0</name> # <metric>5</metric> # <priority>3</priority> # </interface> # </area> # </ospf> # </protocols> # <routing-options> # <router-id>10.200.16.75</router-id> # </routing-options> # </configuration> # </rpc-reply> - name: Parsed the device configuration to get output commands junipernetworks.junos.junos_ospf_interfaces: running_config: "{{ lookup('file', './parsed.cfg') }}" state: parsed # # # ------------------------- # Module Execution Result # ------------------------- # # # "parsed": [ # { # "address_family": [ # { # "afi": "ipv4", # "processes": { # "area": { # "area_id": "0.0.0.2" # }, # "metric": 5, # "priority": 3 # } # } # ], # "name": "ge-0/0/2.0", # "router_id": "10.200.16.75" # } # ] #
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: ['<nc:protocols xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <nc:ospf> <nc:area> <nc:name>0.0.0.3</nc:name> <nc:interface> <nc:name>ge-0/0/3.0</nc:name> <nc:priority>3</nc:priority> <nc:metric>5</nc:metric> </nc:interface> </nc:area> <nc:area> <nc:name>0.0.0.2</nc:name> <nc:interface> <nc:name>ge-0/0/2.0</nc:name> <nc:priority>3</nc:priority> <nc:metric>5</nc:metric> </nc:interface> </nc:area> </nc:ospf> </nc:protocols>", " <nc:routing-options xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <nc:router-id>10.200.16.75</nc:router-id> <nc:router-id>10.200.16.75</nc:router-id> </nc:routing-options>', 'xml 2', 'xml 3'] |
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/junipernetworks/junos/junos_ospf_interfaces_module.html