editManualNatRule

The editManualNatRule operation handles configuration related to ManualNatRule model. 

Description

This API call is not allowed on the standby unit in an HA pair.

Data Parameters

Parameter Required Type Description
version False string A unique string version assigned by the system when the object is created or modified. No assumption can be made on the format or content of this identifier. The identifier must be provided whenever attempting to modify/delete an existing object. As the version will change every time the object is modified, the value provided in this identifier must match exactly what is present in the system or the request will be rejected.
name True string A string containing the name of the ManualNatRule object
description False string An optional string that describes the rule
Field level constraints: must match pattern ^((?!;).)*$. (Note: Additional constraints might exist)
sourceInterface False object
Allowed types are: [EtherChannelInterface, PhysicalInterface, SubInterface, VirtualTunnelInterface, VlanInterface]
destinationInterface False object
Allowed types are: [EtherChannelInterface, PhysicalInterface, SubInterface, VirtualTunnelInterface, VlanInterface]
natType True string
Field level constraints: cannot be null. (Note: Additional constraints might exist)
patOptions False object
netToNet False boolean
noProxyArp False boolean
dns False boolean
interfaceIPv6 False boolean
routeLookup False boolean
enabled False boolean
interfaceInOriginalDestination False boolean A Boolean object which can be true if it's routed mode only, and translatedDestination must be null, and originalDestinationPort, translatedDestinationPort and sourceInterface fields must all not null.
interfaceInTranslatedSource False boolean For static NAT, this could be:
  • If routed mode, True with null in translatedSource, and not-null in originalSourcePort and translatedSourcePort, and destiantionInterface field cannot be null, OR,
  • False with a NetworkObject or NetworkObjectGroup reference in translatedSource
For dynamic NAT, the translatedSource field cannot be null, and to set this field to true, the firewall mode has to be routed and destinationInterface field cannot be null.
originalSource False object A NetworkObject or NetworkObjectGroup reference, or null for 'any' source address.
Allowed types are: [NetworkObject, NetworkObjectGroup]
originalDestination False object A NetworkObject or NetworkObjectGroup reference, or null for 'any' destination address.
Allowed types are: [NetworkObject, NetworkObjectGroup]
originalSourcePort False object A reference to TCPPortObject or UDPPortObject that contains single port number. Use null for 'any' port. Note, if specified, all the four port fields should all be either UDP or TCP ports. Additionally, originalSourcePort and translatedSourcePort should be either both specified (not null), or both null.
Allowed types are: [ICMPv4PortObject, ICMPv6PortObject, ProtocolObject, TCPPortObject, UDPPortObject]
originalDestinationPort False object A reference to TCPPortObject or UDPPortObject that contains single port number. Use null for 'any' port. Note, if specified, all the four port fields should all be either UDP or TCP ports. Additionally, originalDestinationPort and translatedDestinationPort should be either both specified (not null), or both null
Allowed types are: [ICMPv4PortObject, ICMPv6PortObject, ProtocolObject, TCPPortObject, UDPPortObject]
translatedSource False object A NetworkObject or NetworkObjectGroup reference, note only 'host' or 'IP range' are allowed in the object(s), no 'network' sub-type is allowed.
Allowed types are: [NetworkObject, NetworkObjectGroup]
translatedDestination False object A NetworkObject or NetworkObjectGroup reference, note only 'host' or 'IP range' are allowed in the object(s), no 'network' sub-type is allowed.
Allowed types are: [NetworkObject, NetworkObjectGroup]
translatedSourcePort False object A reference to TCPPortObject or UDPPortObject that contains single port number. Use null for 'any' port. Note, if specified, all the four port fields should all be either UDP or TCP ports. Additionally, originalSourcePort and translatedSourcePort should be either both specified (not null), or both null.
Allowed types are: [ICMPv4PortObject, ICMPv6PortObject, ProtocolObject, TCPPortObject, UDPPortObject]
translatedDestinationPort False object A reference to TCPPortObject or UDPPortObject that contains single port number. Use null for 'any' port. Note, if specified, all the four port fields should all be either UDP or TCP ports. Additionally, originalDestinationPort and translatedDestinationPort should be either both specified (not null), or both null.
Allowed types are: [ICMPv4PortObject, ICMPv6PortObject, ProtocolObject, TCPPortObject, UDPPortObject]
unidirectional False boolean A Boolean object which can be true only for static NAT rule.
rulePosition False integer Transient field holding the index position for the rule
id False string A unique string identifier assigned by the system when the object is created. No assumption can be made on the format or content of this identifier. The identifier must be provided whenever attempting to modify/delete (or reference) an existing object.
Field level constraints: must match pattern ^((?!;).)*$. (Note: Additional constraints might exist)
type True string A UTF8 string, all letters lower-case, that represents the class-type. This corresponds to the class name.

Path Parameters

Parameter Required Type Description
parentId True string
objId True string

Query Parameters

Parameter Required Type Description
at False integer An integer representing where to add the new object in the ordered list. Use 0 to add it at the beginning of the list. If not specified, it will be added at the end of the list

Example

- name: Execute 'editManualNatRule' operation
  ftd_configuration:
    operation: "editManualNatRule"
    data:
        version: "{{ version }}"
        name: "{{ name }}"
        description: "{{ description }}"
        sourceInterface: "{{ source_interface }}"
        destinationInterface: "{{ destination_interface }}"
        natType: "{{ nat_type }}"
        patOptions: "{{ pat_options }}"
        netToNet: "{{ net_to_net }}"
        noProxyArp: "{{ no_proxy_arp }}"
        dns: "{{ dns }}"
        interfaceIPv6: "{{ interface_i_pv6 }}"
        routeLookup: "{{ route_lookup }}"
        enabled: "{{ enabled }}"
        interfaceInOriginalDestination: "{{ interface_in_original_destination }}"
        interfaceInTranslatedSource: "{{ interface_in_translated_source }}"
        originalSource: "{{ original_source }}"
        originalDestination: "{{ original_destination }}"
        originalSourcePort: "{{ original_source_port }}"
        originalDestinationPort: "{{ original_destination_port }}"
        translatedSource: "{{ translated_source }}"
        translatedDestination: "{{ translated_destination }}"
        translatedSourcePort: "{{ translated_source_port }}"
        translatedDestinationPort: "{{ translated_destination_port }}"
        unidirectional: "{{ unidirectional }}"
        rulePosition: "{{ rule_position }}"
        id: "{{ id }}"
        type: "{{ type }}"
    path_params:
        parentId: "{{ parent_id }}"
        objId: "{{ obj_id }}"
    query_params:
        at: "{{ at }}"