fmgd_router_ospf – Configure OSPF.
Added in version 1.0.0.
Synopsis
This module is able to configure a FortiManager device.
Examples include all parameters and values need to be adjusted to data sources before usage.
Tested with FortiManager v7.x.
Requirements
The below requirements are needed on the host that executes this module.
ansible-core>=2.16.0
FortiManager Version Compatibility
Supported Version Ranges: v7.2.6 -> v7.2.12, v7.4.3 -> latest
Parameters
- access_token -The token to access FortiManager without using username and password. type: str required: false
- bypass_validation - Only set to True when module schema diffs with FortiManager API structure, module continues to execute without validating parameters. type: bool required: false default: False
- enable_log - Enable/Disable logging for task. type: bool required: false default: False
- forticloud_access_token - Access token of forticloud managed API users, this option is available with FortiManager later than 6.4.0. type: str required: false
- proposed_method - The overridden method for the underlying Json RPC request. type: str required: false choices: set, update, add
- rc_succeeded - The rc codes list with which the conditions to succeed will be overriden. type: list required: false
- rc_failed - The rc codes list with which the conditions to fail will be overriden. type: list required: false
- workspace_locking_adom - Acquire the workspace lock if FortiManager is running in workspace mode. type: str required: false choices: global, custom adom including root
- workspace_locking_timeout - The maximum time in seconds to wait for other users to release workspace lock. type: integer required: false default: 300
- device - The parameter in requested url type: str required: true
- vdom - The parameter in requested url type: str required: true
- router_ospf - Configure OSPF. type: dict
- abr_type (Alias name: abr-type) Area border router type. type: str choices: [cisco, ibm, shortcut, standard] more...
- area Area. type: list
more...
- authentication Authentication type. type: str choices: [none, text, md5, message-digest] more...
- comments Comment. type: str more...
- default_cost (Alias name: default-cost) Summary default cost of stub or nssa area. type: int more...
- filter_list (Alias name: filter-list) Filter list. type: list more...
- id Area entry ip address. type: str more...
- nssa_default_information_originate (Alias name: nssa-default-information-originate) Redistribute, advertise, or do not originate type-7 default route into nssa area. type: str choices: [disable, enable, always] more...
- nssa_default_information_originate_metric (Alias name: nssa-default-information-originate-metric) Ospf default metric. type: int more...
- nssa_default_information_originate_metric_type (Alias name: nssa-default-information-originate-metric-type) Ospf metric type for default routes. type: str choices: [2, 1] more...
- nssa_redistribution (Alias name: nssa-redistribution) Enable/disable redistribute into nssa area. type: str choices: [disable, enable] more...
- nssa_translator_role (Alias name: nssa-translator-role) Nssa translator role type. type: str choices: [candidate, never, always] more...
- range Range. type: list
more...
- advertise Enable/disable advertise status. type: str choices: [disable, enable] more...
- id Range entry id. type: int more...
- prefix Prefix. type: list more...
- substitute Substitute prefix. type: list more...
- substitute_status (Alias name: substitute-status) Enable/disable substitute status. type: str choices: [disable, enable] more...
- shortcut Enable/disable shortcut option. type: str choices: [disable, enable, default] more...
- stub_type (Alias name: stub-type) Stub summary setting. type: str choices: [summary, no-summary] more...
- type Area type setting. type: str choices: [regular, nssa, stub] more...
- virtual_link (Alias name: virtual-link) Virtual link. type: list
more...
- authentication Authentication type. type: str choices: [none, text, md5, message-digest] more...
- authentication_key (Alias name: authentication-key) Authentication key. type: list more...
- dead_interval (Alias name: dead-interval) Dead interval. type: int more...
- hello_interval (Alias name: hello-interval) Hello interval. type: int more...
- keychain Message-digest key-chain name. type: list more...
- md5_keys (Alias name: md5-keys) Md5 keys. type: list more...
- name Virtual link entry name. type: str more...
- peer Peer ip. type: str more...
- retransmit_interval (Alias name: retransmit-interval) Retransmit interval. type: int more...
- transmit_delay (Alias name: transmit-delay) Transmit delay. type: int more...
- md5_keychain (Alias name: md5-keychain) Authentication md5 key-chain name. type: list more...
- auto_cost_ref_bandwidth (Alias name: auto-cost-ref-bandwidth) Reference bandwidth in terms of megabits per second. type: int more...
- bfd Bidirectional forwarding detection (bfd). type: str choices: [disable, enable] more...
- database_overflow (Alias name: database-overflow) Enable/disable database overflow. type: str choices: [disable, enable] more...
- database_overflow_max_lsas (Alias name: database-overflow-max-lsas) Database overflow maximum lsas. type: int more...
- database_overflow_time_to_recover (Alias name: database-overflow-time-to-recover) Database overflow time to recover (sec). type: int more...
- default_information_metric (Alias name: default-information-metric) Default information metric. type: int more...
- default_information_metric_type (Alias name: default-information-metric-type) Default information metric type. type: str choices: [2, 1] more...
- default_information_originate (Alias name: default-information-originate) Enable/disable generation of default route. type: str choices: [disable, enable, always] more...
- default_information_route_map (Alias name: default-information-route-map) Default information route map. type: list more...
- default_metric (Alias name: default-metric) Default metric of redistribute routes. type: int more...
- distance Distance of the route. type: int more...
- distance_external (Alias name: distance-external) Administrative external distance. type: int more...
- distance_inter_area (Alias name: distance-inter-area) Administrative inter-area distance. type: int more...
- distance_intra_area (Alias name: distance-intra-area) Administrative intra-area distance. type: int more...
- distribute_list (Alias name: distribute-list) Distribute list. type: list more...
- distribute_list_in (Alias name: distribute-list-in) Filter incoming routes. type: list more...
- distribute_route_map_in (Alias name: distribute-route-map-in) Filter incoming external routes by route-map. type: list more...
- log_neighbour_changes (Alias name: log-neighbour-changes) Log of ospf neighbor changes. type: str choices: [disable, enable] more...
- neighbor Neighbor. type: list
more...
- cost Cost of the interface, value range from 0 to 65535, 0 means auto-cost. type: int more...
- id Neighbor entry id. type: int more...
- ip Interface ip address of the neighbor. type: str more...
- poll_interval (Alias name: poll-interval) Poll interval time in seconds. type: int more...
- priority Priority. type: int more...
- network Network. type: list more...
- ospf_interface (Alias name: ospf-interface) Ospf interface. type: list
more...
- authentication Authentication type. type: str choices: [none, text, md5, message-digest] more...
- authentication_key (Alias name: authentication-key) Authentication key. type: list more...
- bfd Bidirectional forwarding detection (bfd). type: str choices: [global, enable, disable] more...
- comments Comment. type: str more...
- cost Cost of the interface, value range from 0 to 65535, 0 means auto-cost. type: int more...
- database_filter_out (Alias name: database-filter-out) Enable/disable control of flooding out lsas. type: str choices: [disable, enable] more...
- dead_interval (Alias name: dead-interval) Dead interval. type: int more...
- hello_interval (Alias name: hello-interval) Hello interval. type: int more...
- hello_multiplier (Alias name: hello-multiplier) Number of hello packets within dead interval. type: int more...
- interface Configuration interface name. type: list more...
- ip Ip address. type: str more...
- keychain Message-digest key-chain name. type: list more...
- md5_keys (Alias name: md5-keys) Md5 keys. type: list more...
- mtu Mtu for database description packets. type: int more...
- mtu_ignore (Alias name: mtu-ignore) Enable/disable ignore mtu. type: str choices: [disable, enable] more...
- name Interface entry name. type: str more...
- network_type (Alias name: network-type) Network type. type: str choices: [broadcast, non-broadcast, point-to-point, point-to-multipoint, point-to-multipoint-non-broadcast] more...
- prefix_length (Alias name: prefix-length) Prefix length. type: int more...
- priority Priority. type: int more...
- resync_timeout (Alias name: resync-timeout) Graceful restart neighbor resynchronization timeout. type: int more...
- retransmit_interval (Alias name: retransmit-interval) Retransmit interval. type: int more...
- status Enable/disable status. type: str choices: [disable, enable] more...
- transmit_delay (Alias name: transmit-delay) Transmit delay. type: int more...
- md5_keychain (Alias name: md5-keychain) Authentication md5 key-chain name. type: list more...
- linkdown_fast_failover (Alias name: linkdown-fast-failover) Enable/disable fast link failover. type: str choices: [disable, enable] more...
- passive_interface (Alias name: passive-interface) Passive interface configuration. type: list more...
- redistribute Redistribute. type: dict
more...
- metric Redistribute metric setting. type: int more...
- metric_type (Alias name: metric-type) Metric type. type: str choices: [2, 1] more...
- name Redistribute name. type: str more...
- routemap Route map name. type: list more...
- status Status. type: str choices: [disable, enable] more...
- tag Tag value. type: int more...
- restart_mode (Alias name: restart-mode) Ospf restart mode (graceful or lls). type: str choices: [none, lls, graceful-restart] more...
- restart_on_topology_change (Alias name: restart-on-topology-change) Enable/disable continuing graceful restart upon topology change. type: str choices: [disable, enable] more...
- restart_period (Alias name: restart-period) Graceful restart period. type: int more...
- rfc1583_compatible (Alias name: rfc1583-compatible) Enable/disable rfc1583 compatibility. type: str choices: [disable, enable] more...
- router_id (Alias name: router-id) Router id. type: str more...
- spf_timers (Alias name: spf-timers) Spf calculation frequency. type: list more...
- summary_address (Alias name: summary-address) Summary address. type: list more...
- lsa_refresh_interval (Alias name: lsa-refresh-interval) The minimal ospf lsa update time interval type: int more...
Notes
Note
Running in workspace locking mode is supported in this FortiManager module, the top level parameters workspace_locking_adom and workspace_locking_timeout help do the work.
To create or update an object, use state: present directive.
To delete an object, use state: absent directive
Normally, running one module can fail when a non-zero rc is returned. you can also override the conditions to fail or succeed with parameters rc_failed and rc_succeeded
Examples
- name: Example playbook (generated based on argument schema)
hosts: fortimanagers
connection: httpapi
gather_facts: false
vars:
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_httpapi_port: 443
tasks:
- name: Configure OSPF.
fortinet.fmgdevice.fmgd_router_ospf:
# bypass_validation: false
# workspace_locking_adom: <global or your adom name>
# workspace_locking_timeout: 300
# rc_succeeded: [0, -2, -3, ...]
# rc_failed: [-2, -3, ...]
device: <your own value>
vdom: <your own value>
router_ospf:
# abr_type: <value in [cisco, ibm, shortcut, ...]>
# area:
# - authentication: <value in [none, text, md5, ...]>
# comments: <string>
# default_cost: <integer>
# filter_list:
# - direction: <value in [out, in]>
# id: <integer>
# list: <list or string>
# id: <string>
# nssa_default_information_originate: <value in [disable, enable, always]>
# nssa_default_information_originate_metric: <integer>
# nssa_default_information_originate_metric_type: <value in [2, 1]>
# nssa_redistribution: <value in [disable, enable]>
# nssa_translator_role: <value in [candidate, never, always]>
# range:
# - advertise: <value in [disable, enable]>
# id: <integer>
# prefix: <list or string>
# substitute: <list or string>
# substitute_status: <value in [disable, enable]>
# shortcut: <value in [disable, enable, default]>
# stub_type: <value in [summary, no-summary]>
# type: <value in [regular, nssa, stub]>
# virtual_link:
# - authentication: <value in [none, text, md5, ...]>
# authentication_key: <list or string>
# dead_interval: <integer>
# hello_interval: <integer>
# keychain: <list or string>
# md5_keys:
# - id: <integer>
# key_string: <list or string>
# name: <string>
# peer: <string>
# retransmit_interval: <integer>
# transmit_delay: <integer>
# md5_keychain: <list or string>
# auto_cost_ref_bandwidth: <integer>
# bfd: <value in [disable, enable]>
# database_overflow: <value in [disable, enable]>
# database_overflow_max_lsas: <integer>
# database_overflow_time_to_recover: <integer>
# default_information_metric: <integer>
# default_information_metric_type: <value in [2, 1]>
# default_information_originate: <value in [disable, enable, always]>
# default_information_route_map: <list or string>
# default_metric: <integer>
# distance: <integer>
# distance_external: <integer>
# distance_inter_area: <integer>
# distance_intra_area: <integer>
# distribute_list:
# - access_list: <list or string>
# id: <integer>
# protocol: <value in [connected, static, rip]>
# distribute_list_in: <list or string>
# distribute_route_map_in: <list or string>
# log_neighbour_changes: <value in [disable, enable]>
# neighbor:
# - cost: <integer>
# id: <integer>
# ip: <string>
# poll_interval: <integer>
# priority: <integer>
# network:
# - area: <string>
# comments: <string>
# id: <integer>
# prefix: <list or string>
# ospf_interface:
# - authentication: <value in [none, text, md5, ...]>
# authentication_key: <list or string>
# bfd: <value in [global, enable, disable]>
# comments: <string>
# cost: <integer>
# database_filter_out: <value in [disable, enable]>
# dead_interval: <integer>
# hello_interval: <integer>
# hello_multiplier: <integer>
# interface: <list or string>
# ip: <string>
# keychain: <list or string>
# md5_keys:
# - id: <integer>
# key_string: <list or string>
# mtu: <integer>
# mtu_ignore: <value in [disable, enable]>
# name: <string>
# network_type: <value in [broadcast, non-broadcast, point-to-point, ...]>
# prefix_length: <integer>
# priority: <integer>
# resync_timeout: <integer>
# retransmit_interval: <integer>
# status: <value in [disable, enable]>
# transmit_delay: <integer>
# md5_keychain: <list or string>
# linkdown_fast_failover: <value in [disable, enable]>
# passive_interface: <list or string>
# redistribute:
# metric: <integer>
# metric_type: <value in [2, 1]>
# name: <string>
# routemap: <list or string>
# status: <value in [disable, enable]>
# tag: <integer>
# restart_mode: <value in [none, lls, graceful-restart]>
# restart_on_topology_change: <value in [disable, enable]>
# restart_period: <integer>
# rfc1583_compatible: <value in [disable, enable]>
# router_id: <string>
# spf_timers: <list or integer>
# summary_address:
# - advertise: <value in [disable, enable]>
# id: <integer>
# prefix: <list or string>
# tag: <integer>
# lsa_refresh_interval: <integer>
Return Values
Common return values are documented: https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values, the following are the fields unique to this module:
- meta - The result of the request.returned: always type: dict
- request_url - The full url requested. returned: always type: str sample: /sys/login/user
- response_code - The status of api request. returned: always type: int sample: 0
- response_data - The data body of the api response. returned: optional type: list or dict
- response_message - The descriptive message of the api response. returned: always type: str sample: OK
- system_information - The information of the target system. returned: always type: dict
- rc - The status the request. returned: always type: int sample: 0
- version_check_warning - Warning if the parameters used in the playbook are not supported by the current FortiManager version. returned: if at least one parameter not supported by the current FortiManager version type: list
Status
This module is not guaranteed to have a backwards compatible interface.