<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: FTD - DHCPRelayService in Network Security</title>
    <link>https://community.cisco.com/t5/network-security/ftd-dhcprelayservice/m-p/4978963#M486</link>
    <description>&lt;P&gt;Why you use API?&lt;/P&gt;
&lt;P&gt;This option available in FMC and I think in FDM (i will check ver. Support it).&lt;/P&gt;
&lt;P&gt;MHM&lt;/P&gt;</description>
    <pubDate>Fri, 15 Dec 2023 12:23:16 GMT</pubDate>
    <dc:creator>MHM Cisco World</dc:creator>
    <dc:date>2023-12-15T12:23:16Z</dc:date>
    <item>
      <title>FTD - DHCPRelayService</title>
      <link>https://community.cisco.com/t5/network-security/ftd-dhcprelayservice/m-p/4978962#M485</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;via API-Explorer with put dhcprelayservices working fine, but per ansible i get only first value but no server and agent records.&lt;BR /&gt;&lt;BR /&gt;Code via API-Explorer is working:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;{
  "version": "m2l3jneotn6e4",
  "name": "NAME_DHCP-RELAY-SERVER",
  "ipv4RelayTimeout": 60,
  "ipv6RelayTimeout": 60,
  "servers": [
    {
      "server": {
        "type": "networkobject",
        "name": "IPv4_DHCP1"
      },
      "interface": {
        "type": "subinterface",
        "name": "Interfacename who the dhcp running"
      },
      "type": "dhcprelayserver"
    },
	{
      "server": {
        "type": "networkobject",
        "name": "IPv4_DHCP2"
      },
      "interface": {
        "type": "subinterface",
        "name": "Interfacename who the dhcp running"
      },
      "type": "dhcprelayserver"
    }
  ]
  "agents": [
    {
      "enableIpv4Relay": true,
      "enableIpv6Relay": false,
      "setRoute": false,
      "interface": {
        "type": "subinterface",
        "name": "Interface-Name"
      },
      "type": "dhcprelayagent"
    },
    {
      "enableIpv4Relay": true,
      "enableIpv6Relay": false,
      "setRoute": false,
      "interface": {
        "type": "subinterface",
        "name": "Interface-Name"
      },
      "type": "dhcprelayagent"
    }
  ]
  "type": "dhcprelayservice"
  }
}&lt;/LI-CODE&gt;&lt;P&gt;&lt;SPAN&gt;Ansible code (all ID values ​​are read before this script is executed):&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;---
- name: Execute upsertDHCPRelayService operation M-NET HB
  ftd_configuration:
    operation: upsertDHCPRelayService
    data:
      version: "{{ dhcprelay.version }}"
      name: NAME_DHCP-RELAY-SERVER
      description: "NAME_DHCP-RELAY-SERVER"
      ipv4RelayTimeout: 60
      ipv6RelayTimeout: 60
      servers[0]: [
      {"server": {"type": "networkobject","name": "IPv4_dhcpserver1"},"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX.id }}' },"type": "dhcprelayserver"}
      ]
      servers[1]: [
        {"server": {"type": "networkobject","name": "IPv4_dhcpserver2"},"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX.id }}' },"type": "dhcprelayserver"}
      ]
      agents[0]: [
      {"enableIpv4Relay": true,"enableIpv6Relay": false,"setRoute": false,"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX.id }}' },"type": "dhcprelayagent"}
      ]
      agents[1]: [
      {"enableIpv4Relay": true,"enableIpv6Relay": false,"setRoute": false,"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX.id }}' },"type": "dhcprelayagent"}
      ]
      agents[2]: [
      {"enableIpv4Relay": true,"enableIpv6Relay": false,"setRoute": false,"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX.id }}' },"type": "dhcprelayagent"}
      ]
      agents[3]: [
      {"enableIpv4Relay": true,"enableIpv6Relay": false,"setRoute": false,"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX.id }}' },"type": "dhcprelayagent"}
      ]
      agents[4]: [
      {"enableIpv4Relay": true,"enableIpv6Relay": false,"setRoute": false,"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX_f.id }}' },"type": "dhcprelayagent"}
      ]
      type: dhcprelayservice&lt;/LI-CODE&gt;&lt;P&gt;If a use no number by server and agents, then i get follow error by ansible.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;"msg": {
        "Invalid data provided": {
            "required": [
                "servers[0].server.id",
                "servers[1].server.id"&lt;/LI-CODE&gt;&lt;P&gt;Ansible-Output:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;changed: [ftd-name] =&amp;gt; {
    "ansible_facts": {},
    "changed": true,
    "invocation": {
        "module_args": {
            "data": {
                "agents[0]": [
                    {
                        "enableIpv4Relay": true,
                        "enableIpv6Relay": false,
                        "interface": {
                            "id": "39f2769f-9062-11ee-8f5f-9fdadd220530",
                            "type": "subinterface"
                        },
                        "setRoute": false,
                        "type": "dhcprelayagent"
                    }
                ],
                "agents[1]": [
                    {
                        "enableIpv4Relay": true,
                        "enableIpv6Relay": false,
                        "interface": {
                            "id": "2f321ffb-9063-11ee-8f5f-0d83eeffbb9c",
                            "type": "subinterface"
                        },
                        "setRoute": false,
                        "type": "dhcprelayagent"
                    }
                ],
                "agents[2]": [
                    {
                        "enableIpv4Relay": true,
                        "enableIpv6Relay": false,
                        "interface": {
                            "id": "b2bd3384-9063-11ee-8f5f-cb99fc234435",
                            "type": "subinterface"
                        },
                        "setRoute": false,
                        "type": "dhcprelayagent"
                    }
                ],
                "agents[3]": [
                    {
                        "enableIpv4Relay": true,
                        "enableIpv6Relay": false,
                        "interface": {
                            "id": "b96eea77-9063-11ee-8f5f-81d10b4858ef",
                            "type": "subinterface"
                        },
                        "setRoute": false,
                        "type": "dhcprelayagent"
                    }
                ],
                "agents[4]": [
                    {
                        "enableIpv4Relay": true,
                        "enableIpv6Relay": false,
                        "interface": {
                            "id": "c01297aa-9063-11ee-8f5f-b5272134f9bc",
                            "type": "subinterface"
                        },
                        "setRoute": false,
                        "type": "dhcprelayagent"
                    }
                ],
                "description": "NAME_DHCP-RELAY-SERVER",
                "id": "c25e5737-9be2-11ed-8442-7f729e5d90b5",
                "ipv4RelayTimeout": 60,
                "ipv6RelayTimeout": 60,
                "name": "NAME_DHCP-RELAY-SERVER",
                "servers[0]": [
                    {
                        "interface": {
                            "id": "5318e182-9065-11ee-8f5f-39e51efbc113",
                            "type": "subinterface"
                        },
                        "server": {
                            "name": "IPv4_name",
                            "type": "networkobject"
                        },
                        "type": "dhcprelayserver"
                    }
                ],
                "servers[1]": [
                    {
                        "interface": {
                            "id": "5318e182-9065-11ee-8f5f-39e51efbc113",
                            "type": "subinterface"
                        },
                        "server": {
                            "name": "IPv4_name",
                            "type": "networkobject"
                        },
                        "type": "dhcprelayserver"
                    }
                ],
                "type": "dhcprelayservice",
                "version": "oodxtfoeskckb"
            },
            "filters": {
                "name": "NAME_DHCP-RELAY-SERVER"
            },
            "operation": "upsertDHCPRelayService",
            "path_params": {
                "objId": "c25e5737-9be2-11ed-8442-7f729e5d90b5"
            },
            "query_params": null,
            "register_as": null
        }
    },
    "response": {}
}&lt;/LI-CODE&gt;&lt;P&gt;But the values ​​for server and agent are not set. Do you have an idea?&lt;/P&gt;&lt;P&gt;Ansible-Output from getDHCPRelayService :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;ok: [ftd-name] =&amp;gt; {
"ansible_facts": {
"dhcprelay": {
"id": "c25e5737-9be2-11ed-8442-7f729e5d90b5",
"ipv4RelayTimeout": 60,
"ipv6RelayTimeout": 60,
"links": {
"self": "https://X.X.X.X/api/fdm/v6/devicesettings/default/dhcprelayservices/c25e5737-9be2-11ed-8442-7f729e5d90b5"
},
"name": "NAME_DHCP-RELAY-SERVER",
"type": "dhcprelayservice",
"version": "oodxtfoeskckb"
}
},
"changed": false,
"invocation": {
"module_args": {
"data": null,
"filters": null,
"operation": "getDHCPRelayService",
"path_params": {
"objId": "c25e5737-9be2-11ed-8442-7f729e5d90b5"
},
"query_params": null,
"register_as": "dhcprelay"
}
},
"response": {
"id": "c25e5737-9be2-11ed-8442-7f729e5d90b5",
"ipv4RelayTimeout": 60,
"ipv6RelayTimeout": 60,
"links": {
"self": "https://x.x.x.x/api/fdm/v6/devicesettings/default/dhcprelayservices/c25e5737-9be2-11ed-8442-7f729e5d90b5"
},
"name": "NAME_DHCP-RELAY-SERVER",
"type": "dhcprelayservice",
"version": "oodxtfoeskckb"
}
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2023 12:21:31 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/ftd-dhcprelayservice/m-p/4978962#M485</guid>
      <dc:creator>kscholz</dc:creator>
      <dc:date>2023-12-15T12:21:31Z</dc:date>
    </item>
    <item>
      <title>Re: FTD - DHCPRelayService</title>
      <link>https://community.cisco.com/t5/network-security/ftd-dhcprelayservice/m-p/4978963#M486</link>
      <description>&lt;P&gt;Why you use API?&lt;/P&gt;
&lt;P&gt;This option available in FMC and I think in FDM (i will check ver. Support it).&lt;/P&gt;
&lt;P&gt;MHM&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2023 12:23:16 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/ftd-dhcprelayservice/m-p/4978963#M486</guid>
      <dc:creator>MHM Cisco World</dc:creator>
      <dc:date>2023-12-15T12:23:16Z</dc:date>
    </item>
    <item>
      <title>Re: FTD - DHCPRelayService</title>
      <link>https://community.cisco.com/t5/network-security/ftd-dhcprelayservice/m-p/4978967#M487</link>
      <description>&lt;P&gt;We have only FTD in Version "7.0.1-84" no FMC and no access to updates.&amp;nbsp;&lt;BR /&gt;We use ansible for all Task at the Firewall (FTD).&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2023 12:28:21 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/ftd-dhcprelayservice/m-p/4978967#M487</guid>
      <dc:creator>kscholz</dc:creator>
      <dc:date>2023-12-15T12:28:21Z</dc:date>
    </item>
    <item>
      <title>Re: FTD - DHCPRelayService</title>
      <link>https://community.cisco.com/t5/network-security/ftd-dhcprelayservice/m-p/4978982#M488</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;
&lt;P&gt;I never worked with the FTD modules, as a workaround you can switch to the uri module and post the content in raw format/JSON (like in the API explorer):&amp;nbsp;&lt;A href="https://docs.ansible.com/ansible/latest/collections/ansible/builtin/uri_module.html" target="_blank" rel="noopener"&gt;https://docs.ansible.com/ansible/latest/collections/ansible/builtin/uri_module.html&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2023 12:32:27 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/ftd-dhcprelayservice/m-p/4978982#M488</guid>
      <dc:creator>Marcel Zehnder</dc:creator>
      <dc:date>2023-12-15T12:32:27Z</dc:date>
    </item>
    <item>
      <title>Re: FTD - DHCPRelayService</title>
      <link>https://community.cisco.com/t5/network-security/ftd-dhcprelayservice/m-p/4979002#M489</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hi&lt;BR /&gt;&lt;BR /&gt;Thank you, I'll try that.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2023 12:36:21 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/ftd-dhcprelayservice/m-p/4979002#M489</guid>
      <dc:creator>kscholz</dc:creator>
      <dc:date>2023-12-15T12:36:21Z</dc:date>
    </item>
    <item>
      <title>Re: FTD - DHCPRelayService</title>
      <link>https://community.cisco.com/t5/network-security/ftd-dhcprelayservice/m-p/4979896#M490</link>
      <description>&lt;P&gt;I found the solution myself.&lt;/P&gt;&lt;P&gt;Here for everyone who runs into the same error.&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="2"&gt;- Maintask:&lt;BR /&gt;&amp;nbsp; - Notice:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; -&amp;nbsp;get_DHCPRelayService.yml | is needed to get version {every change create a new version.id}&lt;BR /&gt;&amp;nbsp; &amp;nbsp; -&amp;nbsp;get_Subinterfaces.yml | all client interfaces and also the interface who running dhcpserver&lt;BR /&gt;&amp;nbsp; &amp;nbsp; -&amp;nbsp;get_Networkobject_Hosts.yml | Networkobject-Host for all Dhcp-Servers&lt;BR /&gt;&amp;nbsp; &amp;nbsp; -&amp;nbsp;create_upsertDHCPRelayService.yml | Puts everything together&amp;nbsp;and create the DHCPRelayService&lt;/FONT&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;## dhcprelay
- include_tasks: dhcprelay/get_DHCPRelayService.yml
- include_tasks: dhcprelay/get_Subinterfaces.yml
- include_tasks: dhcprelay/get_Networkobject_Hosts.yml
- include_tasks: dhcprelay/create_upsertDHCPRelayService.yml&lt;/LI-CODE&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;- get_DHCPRelayService.yml &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;(get objId from API-Explorer "&lt;/FONT&gt;&lt;FONT face="courier new,courier" size="2"&gt;devicesettings/default/dhcprelayservices")&lt;/FONT&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;- name: Execute getDHCPRelayService operation
  ftd_configuration:
    operation: getDHCPRelayService
    path_params:
      objId: "c25e5737-9be2-11ed-8442-7f729e5d90b5"
    register_as: dhcprelay&lt;/LI-CODE&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;-&amp;nbsp;get_subinterfaces.yml&lt;BR /&gt;&amp;nbsp; &amp;nbsp; (parentID = etherchannelinterfaces.id | objectId = subinterface.id | /devices/default/etherchannelinterfaces/{parentId}/subinterfaces/{objId} )&lt;/FONT&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;- name: Execute 'getEtherChannelSubInterface' operation for subinterface_dhcpserver
  ftd_configuration:
    operation: getEtherChannelSubInterface
    path_params:
        parentId: "3e566c4c-893f-11ee-affa-0f8b24bd1413"
        objId: "39f2769f-9062-11ee-8f5f-9fdadd220530"
    register_as: subinterface_running_dhcpserver
- name: Execute 'getEtherChannelSubInterface' operation
  ftd_configuration:
    operation: getEtherChannelSubInterface
    path_params:
        parentId: "3e566c4c-893f-11ee-affa-0f8b24bd1413"
        objId: "4b2a27c7-9063-11ee-8f5f-e509fc162e52"
    register_as: subinterface_for_dhcp_client_x&lt;/LI-CODE&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;-&amp;nbsp;get_networkobject_hosts.yml&lt;BR /&gt;&amp;nbsp; (objectId = dhcpserver.id |&amp;nbsp;object/networks)&lt;/FONT&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;---
- name: Get network object DHCPSRV01
  ftd_configuration:
    operation: getNetworkObject
    path_params:
      objId: "a7229958-69ba-11ee-ac26-77f58cb87786"
    register_as: networkobject_ipv4_dhcpsrv01
- name: Get network object DHCPSRV02
  ftd_configuration:
    operation: getNetworkObject
    path_params:
      objId: "a7f7758b-69ba-11ee-ac26-0199d25e7228"
    register_as: networkobject_ipv4_dhcpsrv02&lt;/LI-CODE&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;-&amp;nbsp;create_upsertDHCPRelayService.yml&lt;/FONT&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;---
- name: Execute upsertDHCPRelayService operation
  ftd_configuration:
    operation: upsertDHCPRelayService
    data:
      version: "{{ dhcprelay.version }}"
      name: NAME_DHCP-RELAY-SERVER
      description: "NAME_DHCP-RELAY-SERVER"
      ipv4RelayTimeout: 60
      ipv6RelayTimeout: 60
      servers: [
      {"interface": {"id": " {{ subinterface_running_dhcpserver.id }} ", "type": "subinterface"}, "server": {"id": " {{ networkobject_ipv4_dhcpsrv01.id }} ", "type": "networkobject"}, "type": "dhcprelayserver"},
      {"interface": {"id": " {{ subinterface_running_dhcpserver.id }} ", "type": "subinterface"}, "server": {"id": " {{ networkobject_ipv4_dhcpsrv02.id }} ", "type": "networkobject"}, "type": "dhcprelayserver"}
      ]
      agents: [
      {"enableIpv4Relay": true, "enableIpv6Relay": false, "interface": {"id": " {{ subinterface_for_dhcp_client_x.id }} ", "type": "subinterface"}, "setRoute": false, "type": "dhcprelayagent"},
      {"enableIpv4Relay": true, "enableIpv6Relay": false, "interface": {"id": " {{ subinterface_for_dhcp_client_x.id }} ", "type": "subinterface"}, "setRoute": false, "type": "dhcprelayagent"}
      ]
      type: dhcprelayservice&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 16 Dec 2023 10:59:00 GMT</pubDate>
      <guid>https://community.cisco.com/t5/network-security/ftd-dhcprelayservice/m-p/4979896#M490</guid>
      <dc:creator>kscholz</dc:creator>
      <dc:date>2023-12-16T10:59:00Z</dc:date>
    </item>
  </channel>
</rss>

