Back to Ansible Reference

$ ansible-doc -t module cisco.sccfm.list_ftd_compatible_versions

> MODULE cisco.sccfm.list_ftd_compatible_versions (sccfm-ansible/plugins/modules/list_ftd_compatible_versions.py)

  Queries compatible upgrade versions for one or more FTD devices
  managed by SCC Firewall Manager and computes the intersection of
  versions common to all selected devices.
  Returns version details including software version, upgrade package
  UID, upgrade type (UPGRADE, PATCH, HOTFIX), and whether the version
  is the suggested upgrade target.

OPTIONS (= indicates it is required):

- api_token  API token for SCCFM.
        set_via:
          env:
          - name: SCCFM_API_TOKEN
        default: null
        no_log: true
        type: str

- limit   Maximum number of devices to return when using `query'.
           Ignored when using `uids'.
        default: 50
        type: int

- offset  Pagination offset when using `query'.
           Ignored when using `uids'.
        default: 0
        type: int

- per_device  Whether to include per-device version breakdown in the
               output.
               When false (default), single-device queries return a
               flat list and multi-device queries return only the
               common versions.
               When true, the full per-device breakdown is included
               alongside common versions.
        default: false
        type: bool

- query   Lucene query to filter FTD devices.
           Mutually exclusive with `uids'.
           The query is automatically combined with FTD device type
           filters.
        default: null
        type: str

- region  SCCFM region (int, us, eu, apj, au, uae, in, or ci).
        set_via:
          env:
          - name: SCCFM_REGION
        default: null
        type: str

- uids    List of device UIDs to query.
           Mutually exclusive with `query'.
        default: null
        elements: str
        type: list

AUTHOR: Cisco SCCFM Team

EXAMPLES:
# Example 1: Get compatible versions for a single FTD (flat list output)
- name: Get compatible versions for a single FTD
  cisco.sccfm.list_ftd_compatible_versions:
    uids:
      - "12345678-1234-1234-1234-123456789abc"
    region: "{{ sccfm_region }}"
    api_token: "{{ sccfm_api_token }}"
  register: compat_versions

- name: Show compatible versions
  ansible.builtin.debug:
    var: compat_versions.compatible_versions

# Example 2: Get common versions across a group (intersection)
- name: Get common compatible versions for specific FTDs
  cisco.sccfm.list_ftd_compatible_versions:
    uids:
      - "12345678-1234-1234-1234-123456789abc"
      - "87654321-4321-4321-4321-cba987654321"
  register: compat_versions

- name: Show common versions
  ansible.builtin.debug:
    var: compat_versions.common_versions

# Example 3: Include per-device breakdown (opt-in)
- name: Get group versions with per-device details
  cisco.sccfm.list_ftd_compatible_versions:
    uids:
      - "12345678-1234-1234-1234-123456789abc"
      - "87654321-4321-4321-4321-cba987654321"
    per_device: true
  register: compat_versions

- name: Show per-device counts
  ansible.builtin.debug:
    msg: "Device {{ item.key }}: {{ item.value | length }} version(s)"
  loop: "{{ compat_versions.per_device | dict2items }}"

# Example 4: Using module_defaults (recommended)
- name: List FTD compatible versions
  hosts: localhost
  gather_facts: false
  module_defaults:
    group/cisco.sccfm.all:
      region: "{{ sccfm_region }}"
      api_token: "{{ sccfm_api_token }}"
  tasks:
    - name: Get compatible versions for branch FTDs
      cisco.sccfm.list_ftd_compatible_versions:
        query: "name:branch-*"
      register: compat_versions

RETURN VALUES:

- common_versions  Software versions compatible with every selected
                    FTD device. Returned for multi-device queries or
                    when `per_device' is true.
        elements: dict
        returned: success (multi-device or per_device=true)
        type: list

- compatible_versions  Flat list of compatible versions. Returned for
                        single-device queries when `per_device' is
                        false.
        elements: dict
        returned: success (single device, per_device=false)
        type: list

- device_count  Number of devices included in the query.
        returned: success (multi-device or per_device=true)
        type: int

- per_device  Per-device compatible version lists keyed by device
               UID.
        returned: success (only when per_device=true)
        type: dict

- skipped  FTD device UIDs skipped during eligibility checks, keyed
            by UID.
        returned: success (check mode or when devices are skipped)
        type: dict