How to FortiManager API?

25. CSF Management#

25.1. How to get the CSF for a specific ADOM?#

The following example shows how to get the CSF for the demo ADOM:

{
  "id": 3,
  "method": "get",
  "params": [
    {
      "url": "/csf/adom/demo/group"
    }
  ],
  "session": "{{session}}",
  "verbose": 1
}
{
  "id": 3,
  "result": [
    {
      "data": [
        {
          "chksum": "68.4.1155131330",
          "member": [
            {
              "device": [
                {
                  "name": "dev_001",
                  "vdom": "root"
                }
              ],
              "intf": null,
              "ip": null,
              "oid": 131,
              "parent": [],
              "parent-intf": null,
              "sn": "FGVMMLREDACTED67"
            },
            {
              "device": [
                {
                  "name": "dev_002",
                  "vdom": "root"
                }
              ],
              "intf": "port1",
              "ip": "10.210.34.121",
              "oid": 132,
              "parent": [
                {
                  "name": "dev_001",
                  "vdom": "root"
                }
              ],
              "parent-intf": "port1",
              "sn": "FGVMMLREDACTED39"
            }
          ],
          "name": "csf_001",
          "oid": 130,
          "root": [
            {
              "name": "dev_001",
              "vdom": "root"
            }
          ]
        }
      ],
      "status": {
        "code": 0,
        "message": "OK"
      },
      "url": "/csf/adom/demo/group"
    }
  ]
}

Note

  • In this case, the demo ADOM is with a single CSF composed of two

    managed devices: dev_001 and dev_002

  • CSF name is csf_001 and its root member is dev_001

25.2. How to get a specific CSF in an ADOM?#

If you know the CSF name, you can just append it to the url attribute.

The following example shows how to get the csf_001 CSF from the demo ADOM:

{
  "id": 3,
  "method": "get",
  "params": [
    {
      "url": "/csf/adom/demo/group/csf_001"
    }
  ],
  "session": "{{session}}",
  "verbose": 1
}
{
  "id": 3,
  "result": [
    {
      "data": {
        "chksum": "68.4.1155131330",
        "member": [
          {
            "device": [
              {
                "name": "dev_001",
                "vdom": "root"
              }
            ],
            "oid": 131,
            "parent": [],
            "sn": "FGVMMLREDACTED67"
          },
          {
            "device": [
              {
                "name": "dev_002",
                "vdom": "root"
              }
            ],
            "intf": "port1",
            "ip": "10.210.34.121",
            "oid": 132,
            "parent": [
              {
                "name": "dev_001",
                "vdom": "root"
              }
            ],
            "parent-intf": "port1",
            "sn": "FGVMMLREDACTED39"
          }
        ],
        "name": "csf_001",
        "oid": 130,
        "root": [
          {
            "name": "dev_001",
            "vdom": "root"
          }
        ]
      },
      "status": {
        "code": 0,
        "message": "OK"
      },
      "url": "/csf/adom/demo/group/csf_001"
    }
  ]
}

25.3. How to delete a CSF from an ADOM?#

Caught in #0833442.

This is when you need to delete an empty CSF.

This case could occur when you move all devices from a CSF in a different ADOM.

The following example shows how to delete the empty csf_001 CSF from the demo ADOM:

{
  "id": 3,
  "method": "delete",
  "params": [
    {
      "url": "/csf/adom/demo/group/csf_001"
    }
  ],
  "session": "{{session}}"
}
{
  "id": 3,
  "result": [
    {
      "status": {
        "code": 0,
        "message": "OK"
      },
      "url": "/csf/adom/demo/group/csf_001"
    }
  ]
}