fmgr_user_radius_dynamicmapping – Configure RADIUS server entries.

Added in version 2.0.0.

Warning

Starting in version 3.0.0, all input arguments will be named using the underscore naming convention (snake_case).

  • Argument name before 3.0.0: var-name, var name, var.name

  • New argument name starting in 3.0.0: var_name

FortiManager Ansible v2.4+ supports both previous argument name and new underscore name. You will receive deprecation warnings if you keep using the previous argument name. You can ignore the warning by setting deprecation_warnings=False in ansible.cfg.

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 v6.x and v7.x.

Requirements

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

  • ansible>=2.15.0

FortiManager Version Compatibility

Supported Version Ranges: v6.0.0 -> 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
  • state - The directive to create, update or delete an object type: str required: true choices: present, absent
  • 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
  • adom - The parameter in requested url type: str required: true
  • radius - The parameter in requested url type: str required: true
  • user_radius_dynamicmapping - Configure RADIUS server entries. type: dict
    • _scope type: list more...
      • name type: str more...
      • vdom type: str more...
    • acct_all_servers (Alias name: acct-all-servers) type: str choices: [disable, enable] more...
    • acct_interim_interval (Alias name: acct-interim-interval) type: int more...
    • all_usergroup (Alias name: all-usergroup) type: str choices: [disable, enable] more...
    • auth_type (Alias name: auth-type) type: str choices: [pap, chap, ms_chap, ms_chap_v2, auto] more...
    • class type: list more...
    • dp_carrier_endpoint_attribute (Alias name: dp-carrier-endpoint-attribute) type: str choices: [User-Name, User-Password, CHAP-Password, NAS-IP-Address, NAS-Port, Service-Type, Framed-Protocol, Framed-IP-Address, Framed-IP-Netmask, Framed-Routing, Filter-Id, Framed-MTU, Framed-Compression, Login-IP-Host, Login-Service, Login-TCP-Port, Reply-Message, Callback-Number, Callback-Id, Framed-Route, Framed-IPX-Network, State, Class, Vendor-Specific, Session-Timeout, Idle-Timeout, Termination-Action, Called-Station-Id, Calling-Station-Id, NAS-Identifier, Proxy-State, Login-LAT-Service, Login-LAT-Node, Login-LAT-Group, Framed-AppleTalk-Link, Framed-AppleTalk-Network, Framed-AppleTalk-Zone, Acct-Status-Type, Acct-Delay-Time, Acct-Input-Octets, Acct-Output-Octets, Acct-Session-Id, Acct-Authentic, Acct-Session-Time, Acct-Input-Packets, Acct-Output-Packets, Acct-Terminate-Cause, Acct-Multi-Session-Id, Acct-Link-Count, CHAP-Challenge, NAS-Port-Type, Port-Limit, Login-LAT-Port] more...
    • dp_carrier_endpoint_block_attribute (Alias name: dp-carrier-endpoint-block-attribute) type: str choices: [User-Name, User-Password, CHAP-Password, NAS-IP-Address, NAS-Port, Service-Type, Framed-Protocol, Framed-IP-Address, Framed-IP-Netmask, Framed-Routing, Filter-Id, Framed-MTU, Framed-Compression, Login-IP-Host, Login-Service, Login-TCP-Port, Reply-Message, Callback-Number, Callback-Id, Framed-Route, Framed-IPX-Network, State, Class, Vendor-Specific, Session-Timeout, Idle-Timeout, Termination-Action, Called-Station-Id, Calling-Station-Id, NAS-Identifier, Proxy-State, Login-LAT-Service, Login-LAT-Node, Login-LAT-Group, Framed-AppleTalk-Link, Framed-AppleTalk-Network, Framed-AppleTalk-Zone, Acct-Status-Type, Acct-Delay-Time, Acct-Input-Octets, Acct-Output-Octets, Acct-Session-Id, Acct-Authentic, Acct-Session-Time, Acct-Input-Packets, Acct-Output-Packets, Acct-Terminate-Cause, Acct-Multi-Session-Id, Acct-Link-Count, CHAP-Challenge, NAS-Port-Type, Port-Limit, Login-LAT-Port] more...
    • dp_context_timeout (Alias name: dp-context-timeout) type: int more...
    • dp_flush_ip_session (Alias name: dp-flush-ip-session) type: str choices: [disable, enable] more...
    • dp_hold_time (Alias name: dp-hold-time) type: int more...
    • dp_http_header (Alias name: dp-http-header) type: str more...
    • dp_http_header_fallback (Alias name: dp-http-header-fallback) type: str choices: [ip-header-address, default-profile] more...
    • dp_http_header_status (Alias name: dp-http-header-status) type: str choices: [disable, enable] more...
    • dp_http_header_suppress (Alias name: dp-http-header-suppress) type: str choices: [disable, enable] more...
    • dp_log_dyn_flags (Alias name: dp-log-dyn_flags) type: list choices: [none, protocol-error, profile-missing, context-missing, accounting-stop-missed, accounting-event, radiusd-other, endpoint-block] more...
    • dp_log_period (Alias name: dp-log-period) type: int more...
    • dp_mem_percent (Alias name: dp-mem-percent) type: int more...
    • dp_profile_attribute (Alias name: dp-profile-attribute) type: str choices: [User-Name, User-Password, CHAP-Password, NAS-IP-Address, NAS-Port, Service-Type, Framed-Protocol, Framed-IP-Address, Framed-IP-Netmask, Framed-Routing, Filter-Id, Framed-MTU, Framed-Compression, Login-IP-Host, Login-Service, Login-TCP-Port, Reply-Message, Callback-Number, Callback-Id, Framed-Route, Framed-IPX-Network, State, Class, Vendor-Specific, Session-Timeout, Idle-Timeout, Termination-Action, Called-Station-Id, Calling-Station-Id, NAS-Identifier, Proxy-State, Login-LAT-Service, Login-LAT-Node, Login-LAT-Group, Framed-AppleTalk-Link, Framed-AppleTalk-Network, Framed-AppleTalk-Zone, Acct-Status-Type, Acct-Delay-Time, Acct-Input-Octets, Acct-Output-Octets, Acct-Session-Id, Acct-Authentic, Acct-Session-Time, Acct-Input-Packets, Acct-Output-Packets, Acct-Terminate-Cause, Acct-Multi-Session-Id, Acct-Link-Count, CHAP-Challenge, NAS-Port-Type, Port-Limit, Login-LAT-Port] more...
    • dp_profile_attribute_key (Alias name: dp-profile-attribute-key) type: str more...
    • dp_radius_response (Alias name: dp-radius-response) type: str choices: [disable, enable] more...
    • dp_radius_server_port (Alias name: dp-radius-server-port) type: int more...
    • dp_secret (Alias name: dp-secret) type: list more...
    • dp_validate_request_secret (Alias name: dp-validate-request-secret) type: str choices: [disable, enable] more...
    • dynamic_profile (Alias name: dynamic-profile) type: str choices: [disable, enable] more...
    • endpoint_translation (Alias name: endpoint-translation) type: str choices: [disable, enable] more...
    • ep_carrier_endpoint_convert_hex (Alias name: ep-carrier-endpoint-convert-hex) type: str choices: [disable, enable] more...
    • ep_carrier_endpoint_header (Alias name: ep-carrier-endpoint-header) type: str more...
    • ep_carrier_endpoint_header_suppress (Alias name: ep-carrier-endpoint-header-suppress) type: str choices: [disable, enable] more...
    • ep_carrier_endpoint_prefix (Alias name: ep-carrier-endpoint-prefix) type: str choices: [disable, enable] more...
    • ep_carrier_endpoint_prefix_range_max (Alias name: ep-carrier-endpoint-prefix-range-max) type: int more...
    • ep_carrier_endpoint_prefix_range_min (Alias name: ep-carrier-endpoint-prefix-range-min) type: int more...
    • ep_carrier_endpoint_prefix_string (Alias name: ep-carrier-endpoint-prefix-string) type: str more...
    • ep_carrier_endpoint_source (Alias name: ep-carrier-endpoint-source) type: str choices: [http-header, cookie] more...
    • ep_ip_header (Alias name: ep-ip-header) type: str more...
    • ep_ip_header_suppress (Alias name: ep-ip-header-suppress) type: str choices: [disable, enable] more...
    • ep_missing_header_fallback (Alias name: ep-missing-header-fallback) type: str choices: [session-ip, policy-profile] more...
    • ep_profile_query_type (Alias name: ep-profile-query-type) type: str choices: [session-ip, extract-ip, extract-carrier-endpoint] more...
    • h3c_compatibility (Alias name: h3c-compatibility) type: str choices: [disable, enable] more...
    • nas_ip (Alias name: nas-ip) type: str more...
    • password_encoding (Alias name: password-encoding) type: str choices: [ISO-8859-1, auto] more...
    • password_renewal (Alias name: password-renewal) type: str choices: [disable, enable] more...
    • radius_coa (Alias name: radius-coa) type: str choices: [disable, enable] more...
    • radius_port (Alias name: radius-port) type: int more...
    • rsso type: str choices: [disable, enable] more...
    • rsso_context_timeout (Alias name: rsso-context-timeout) type: int more...
    • rsso_endpoint_attribute (Alias name: rsso-endpoint-attribute) type: str choices: [User-Name, User-Password, CHAP-Password, NAS-IP-Address, NAS-Port, Service-Type, Framed-Protocol, Framed-IP-Address, Framed-IP-Netmask, Framed-Routing, Filter-Id, Framed-MTU, Framed-Compression, Login-IP-Host, Login-Service, Login-TCP-Port, Reply-Message, Callback-Number, Callback-Id, Framed-Route, Framed-IPX-Network, State, Class, Session-Timeout, Idle-Timeout, Termination-Action, Called-Station-Id, Calling-Station-Id, NAS-Identifier, Proxy-State, Login-LAT-Service, Login-LAT-Node, Login-LAT-Group, Framed-AppleTalk-Link, Framed-AppleTalk-Network, Framed-AppleTalk-Zone, Acct-Status-Type, Acct-Delay-Time, Acct-Input-Octets, Acct-Output-Octets, Acct-Session-Id, Acct-Authentic, Acct-Session-Time, Acct-Input-Packets, Acct-Output-Packets, Acct-Terminate-Cause, Acct-Multi-Session-Id, Acct-Link-Count, CHAP-Challenge, NAS-Port-Type, Port-Limit, Login-LAT-Port] more...
    • rsso_endpoint_block_attribute (Alias name: rsso-endpoint-block-attribute) type: str choices: [User-Name, User-Password, CHAP-Password, NAS-IP-Address, NAS-Port, Service-Type, Framed-Protocol, Framed-IP-Address, Framed-IP-Netmask, Framed-Routing, Filter-Id, Framed-MTU, Framed-Compression, Login-IP-Host, Login-Service, Login-TCP-Port, Reply-Message, Callback-Number, Callback-Id, Framed-Route, Framed-IPX-Network, State, Class, Session-Timeout, Idle-Timeout, Termination-Action, Called-Station-Id, Calling-Station-Id, NAS-Identifier, Proxy-State, Login-LAT-Service, Login-LAT-Node, Login-LAT-Group, Framed-AppleTalk-Link, Framed-AppleTalk-Network, Framed-AppleTalk-Zone, Acct-Status-Type, Acct-Delay-Time, Acct-Input-Octets, Acct-Output-Octets, Acct-Session-Id, Acct-Authentic, Acct-Session-Time, Acct-Input-Packets, Acct-Output-Packets, Acct-Terminate-Cause, Acct-Multi-Session-Id, Acct-Link-Count, CHAP-Challenge, NAS-Port-Type, Port-Limit, Login-LAT-Port] more...
    • rsso_ep_one_ip_only (Alias name: rsso-ep-one-ip-only) type: str choices: [disable, enable] more...
    • rsso_flush_ip_session (Alias name: rsso-flush-ip-session) type: str choices: [disable, enable] more...
    • rsso_log_flags (Alias name: rsso-log-flags) type: list choices: [none, protocol-error, profile-missing, context-missing, accounting-stop-missed, accounting-event, radiusd-other, endpoint-block] more...
    • rsso_log_period (Alias name: rsso-log-period) type: int more...
    • rsso_radius_response (Alias name: rsso-radius-response) type: str choices: [disable, enable] more...
    • rsso_radius_server_port (Alias name: rsso-radius-server-port) type: int more...
    • rsso_secret (Alias name: rsso-secret) type: list more...
    • rsso_validate_request_secret (Alias name: rsso-validate-request-secret) type: str choices: [disable, enable] more...
    • secondary_secret (Alias name: secondary-secret) type: list more...
    • secondary_server (Alias name: secondary-server) type: str more...
    • secret type: list more...
    • server type: str more...
    • source_ip (Alias name: source-ip) type: str more...
    • sso_attribute (Alias name: sso-attribute) type: str choices: [User-Name, User-Password, CHAP-Password, NAS-IP-Address, NAS-Port, Service-Type, Framed-Protocol, Framed-IP-Address, Framed-IP-Netmask, Framed-Routing, Filter-Id, Framed-MTU, Framed-Compression, Login-IP-Host, Login-Service, Login-TCP-Port, Reply-Message, Callback-Number, Callback-Id, Framed-Route, Framed-IPX-Network, State, Class, Session-Timeout, Idle-Timeout, Termination-Action, Called-Station-Id, Calling-Station-Id, NAS-Identifier, Proxy-State, Login-LAT-Service, Login-LAT-Node, Login-LAT-Group, Framed-AppleTalk-Link, Framed-AppleTalk-Network, Framed-AppleTalk-Zone, Acct-Status-Type, Acct-Delay-Time, Acct-Input-Octets, Acct-Output-Octets, Acct-Session-Id, Acct-Authentic, Acct-Session-Time, Acct-Input-Packets, Acct-Output-Packets, Acct-Terminate-Cause, Acct-Multi-Session-Id, Acct-Link-Count, CHAP-Challenge, NAS-Port-Type, Port-Limit, Login-LAT-Port] more...
    • sso_attribute_key (Alias name: sso-attribute-key) type: str more...
    • sso_attribute_value_override (Alias name: sso-attribute-value-override) type: str choices: [disable, enable] more...
    • tertiary_secret (Alias name: tertiary-secret) type: list more...
    • tertiary_server (Alias name: tertiary-server) type: str more...
    • timeout type: int more...
    • use_group_for_profile (Alias name: use-group-for-profile) type: str choices: [disable, enable] more...
    • use_management_vdom (Alias name: use-management-vdom) type: str choices: [disable, enable] more...
    • username_case_sensitive (Alias name: username-case-sensitive) type: str choices: [disable, enable] more...
    • interface type: str more...
    • interface_select_method (Alias name: interface-select-method) type: str choices: [auto, sdwan, specify] more...
    • group_override_attr_type (Alias name: group-override-attr-type) type: str choices: [filter-Id, class] more...
    • switch_controller_acct_fast_framedip_detect (Alias name: switch-controller-acct-fast-framedip-detect) type: int more...
    • accounting_server (Alias name: accounting-server) type: list more...
      • id type: int more...
      • interface type: str more...
      • interface_select_method (Alias name: interface-select-method) type: str choices: [auto, sdwan, specify] more...
      • port type: int more...
      • secret type: list more...
      • server type: str more...
      • source_ip (Alias name: source-ip) type: str more...
      • status type: str choices: [disable, enable] more...
    • switch_controller_service_type (Alias name: switch-controller-service-type) type: list choices: [login, framed, callback-login, callback-framed, outbound, administrative, nas-prompt, authenticate-only, callback-nas-prompt, call-check, callback-administrative] more...
    • delimiter Configure delimiter to be used for separating profile group names in the sso attribute (default = plus character +). type: str choices: [plus, comma] more...
    • mac_case (Alias name: mac-case) Mac authentication case (default = lowercase). type: str choices: [uppercase, lowercase] more...
    • mac_password_delimiter (Alias name: mac-password-delimiter) Mac authentication password delimiter (default = hyphen). type: str choices: [hyphen, single-hyphen, colon, none] more...
    • mac_username_delimiter (Alias name: mac-username-delimiter) Mac authentication username delimiter (default = hyphen). type: str choices: [hyphen, single-hyphen, colon, none] more...
    • nas_id (Alias name: nas-id) Custom nas identifier. type: str more...
    • nas_id_type (Alias name: nas-id-type) Nas identifier type configuration (default = legacy). type: str choices: [legacy, custom, hostname] more...
    • ca_cert (Alias name: ca-cert) Ca of server to trust under tls. type: str more...
    • client_cert (Alias name: client-cert) Client certificate to use under tls. type: str more...
    • server_identity_check (Alias name: server-identity-check) Enable/disable radius server identity check (verify server domain name/ip address against the server certificate). type: str choices: [disable, enable] more...
    • status_ttl (Alias name: status-ttl) Time for which server reachability is cached so that when a server is unreachable, it will not be retried for at least this period of time (0 = cache disabled, default = 300). type: int more...
    • tls_min_proto_version (Alias name: tls-min-proto-version) Minimum supported protocol version for tls connections (default is to follow system global setting). type: str choices: [default, TLSv1, TLSv1-1, TLSv1-2, SSLv3, TLSv1-3] more...
    • transport_protocol (Alias name: transport-protocol) Transport protocol to be used (default = udp). type: str choices: [udp, tcp, tls] more...
    • account_key_cert_field (Alias name: account-key-cert-field) Define subject identity field in certificate for user access right checking. type: str choices: [othername, rfc822name, dnsname] more...
    • account_key_processing (Alias name: account-key-processing) Account key processing operation. type: str choices: [same, strip] more...
    • call_station_id_type (Alias name: call-station-id-type) Calling & called station identifier type configuration (default = legacy), this option is not available for 802. type: str choices: [legacy, IP, MAC] more...
    • switch_controller_nas_ip_dynamic (Alias name: switch-controller-nas-ip-dynamic) Enable/disable switch-controller nas-ip dynamic to dynamically set nas-ip. type: str choices: [disable, enable] 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
  hosts: fortimanagers
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Configure dynamic mappings of RADIUS server
      fortinet.fortimanager.fmgr_user_radius_dynamicmapping:
        bypass_validation: false
        adom: ansible
        radius: ansible-test-radius # name
        state: present
        user_radius_dynamicmapping:
          _scope:
            - name: FGT_AWS # need a valid device name
              vdom: root # need a valid vdom name under the device
          server: ansible
          timeout: 100

- name: Gathering fortimanager facts
  hosts: fortimanagers
  gather_facts: false
  connection: httpapi
  vars:
    ansible_httpapi_use_ssl: true
    ansible_httpapi_validate_certs: false
    ansible_httpapi_port: 443
  tasks:
    - name: Retrieve all the dynamic mappings of RADIUS server
      fortinet.fortimanager.fmgr_fact:
        facts:
          selector: "user_radius_dynamicmapping"
          params:
            adom: "ansible"
            radius: "ansible-test-radius" # name
            dynamic_mapping: "your_value"

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.

Authors

  • Xinwei Du (@dux-fortinet)

  • Xing Li (@lix-fortinet)

  • Jie Xue (@JieX19)

  • Link Zheng (@chillancezen)

  • Frank Shen (@fshen01)

  • Hongbin Lu (@fgtdev-hblu)