junipernetworks.junos.junos_static_routes – Static routes resource module

From Get docs
Ansible/docs/2.11/collections/junipernetworks/junos/junos static routes module


junipernetworks.junos.junos_static_routes – Static routes resource module

Note

This plugin is part of the junipernetworks.junos collection (version 1.3.0).

To install it use: ansible-galaxy collection install junipernetworks.junos.

To use it in a playbook, specify: junipernetworks.junos.junos_static_routes.


New in version 1.0.0: of junipernetworks.junos


Synopsis

  • This module provides declarative management of static routes on Juniper JUNOS devices

Note

This module has a corresponding action plugin.


Requirements

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

  • ncclient (>=v0.6.4)
  • xmltodict (>=0.12)

Parameters

Parameter Choices/Defaults Comments

config

list / elements=dictionary

A dictionary of static routes options

address_families

list / elements=dictionary

Address family to use for the static routes

afi

string / required

  • ipv4
  • ipv6

afi to use for the static routes

routes

list / elements=dictionary

Static route configuration

dest

string

Static route destination including prefix

metric

integer

Metric value for the static route

next_hop

list / elements=dictionary

Next hop to destination

forward_router_address

string

List of next hops

vrf

string

Virtual Routing and Forwarding (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 Junos device by executing the command show routing-options.

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

  • merged

  • replaced
  • overridden
  • deleted
  • gathered
  • rendered
  • parsed

The state the configuration should be left in



Notes

Note

  • This module requires the netconf system service be enabled on the device being managed.
  • This module works with connection netconf. See the Junos OS Platform Options.
  • Tested against JunOS v18.4R1


Examples

# Using deleted

# Before state
# ------------
#
# admin# show routing-options
# static {
#     route 192.168.47.0/24 next-hop 172.16.1.2;
#     route 192.168.16.0/24 next-hop 172.16.1.2;
#     route 10.200.16.75/24 next-hop 10.200.16.2;
# }

- name: Delete provided configuration (default operation is merge)
  junipernetworks.junos.junos_static_routes:
    config:
    - address_families:
      - afi: ipv4
        routes:
        - dest: 10.200.16.75/24
          next_hop:
          - forward_router_address: 10.200.16.2
    state: deleted

# After state:
# ------------
#
# admin# show routing-options
# static {
#     route 192.168.47.0/24 next-hop 172.16.1.2;
#     route 192.168.16.0/24 next-hop 172.16.1.2;
# }

# Using merged

# Before state
# ------------
#
# admin# show routing-options
# static {
#     route 192.168.47.0/24 next-hop 172.16.1.2;
#     route 192.168.16.0/24 next-hop 172.16.1.2;
# }

- name: Merge provided configuration with device configuration (default operation
    is merge)
  junipernetworks.junos.junos_static_routes:
    config:
    - address_families:
      - afi: ipv4
        routes:
        - dest: 10.200.16.75/24
          next_hop:
          - forward_router_address: 10.200.16.2
    state: merged

# After state:
# ------------
#
# admin# show routing-options
# static {
#     route 192.168.47.0/24 next-hop 172.16.1.2;
#     route 192.168.16.0/24 next-hop 172.16.1.2;
#     route 10.200.16.75/24 next-hop 10.200.16.2;
# }

# Using overridden

# Before state
# ------------
#
# admin# show routing-options
# static {
#     route 192.168.47.0/24 next-hop 172.16.1.2;
#     route 192.168.16.0/24 next-hop 172.16.0.1;
# }

- name: Override provided configuration with device configuration (default operation
    is merge)
  junipernetworks.junos.junos_static_routes:
    config:
    - address_families:
      - afi: ipv4
        routes:
        - dest: 10.200.16.75/24
          next_hop:
          - forward_router_address: 10.200.16.2
    state: overridden

# After state:
# ------------
#
# admin# show routing-options
# static {
#     route 10.200.16.75/24 next-hop 10.200.16.2;
# }

# Using replaced

# Before state
# ------------
#
# admin# show routing-options
# static {
#     route 192.168.47.0/24 next-hop 172.16.1.2;
#     route 192.168.16.0/24 next-hop 172.16.1.2;
# }

- name: Replace provided configuration with device configuration (default operation
    is merge)
  junipernetworks.junos.junos_static_routes:
    config:
    - address_families:
      - afi: ipv4
        routes:
        - dest: 192.168.47.0/24
          next_hop:
          - forward_router_address: 10.200.16.2
    state: replaced

# After state:
# ------------
#
# admin# show routing-options
# static {
#     route 192.168.47.0/24 next-hop 10.200.16.2;
#     route 192.168.16.0/24 next-hop 172.16.1.2;
# }

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description

after

string

when changed

The resulting configuration model invocation.


Sample:

The configuration returned will always be in the same format of the parameters above.

before

string

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:

['command 1', 'command 2', 'command 3']




Authors

  • Daniel Mellado (@dmellado)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/junipernetworks/junos/junos_static_routes_module.html