.. _sys_ut_template:

sys-ut template
===============

Packet config template


template Specification
----------------------

	===================================== ===============================================================
	 **Parameter**                         **Value** 

	===================================== ===============================================================
	 **Type**                              *Collection*

	 **Object Key(s)**                     *name*

	 **Collection Name**                   :ref:`3174_template_list`

	 **Collection URI**                    /axapi/v3/sys-ut/template

	                                       

	 **Element Name**                      template

	 **Element URI**                       /axapi/v3/sys-ut/template/{name}

	 **Element Attributes**                template_attributes

	 **Partition Visibility**              shared

	 **Schema**                             :download:`template schema <sys-ut-template/sys-ut-template.txt>`
	===================================== ===============================================================





	**Operations Allowed:**




.. raw:: html

   <script type="text/javascript">
 function showExample(a,b) { document.getElementById(a+'_div').style.display = 'block'; document.getElementById(a+'_cl').style.display = 'block'; document.getElementById(a+'_eg').style.display = 'none';}
   function closeExample(a,b) { document.getElementById(a+'_div').style.display = 'none'; document.getElementById(a+'_cl').style.display = 'none'; document.getElementById(a+'_eg').style.display = 'block';}
 </script>
   <table width='90%' style='margin-left:5%'>



.. raw:: html

   <tr style='border-bottom: thin solid; border-top: thin solid'><th width=15%>Operation</th><th width=10%>Method</th><th>URI</th><th width=15%>Payload</th><th width=10%></th></tr>




.. raw:: html

   <tr  style='border-bottom: thin solid;'><td valign = 'top'>


Create Object



.. raw:: html

   </td><td valign = 'top'>


POST



.. raw:: html

   </td><td valign = 'top'>


/axapi/v3/sys-ut/template



.. raw:: html

   </td><td valign = 'top'>


:ref:`3174_template_attributes`



.. raw:: html

   </td><td><button id='post_eg' onClick="showExample('post')">example</button> <button id='post_cl' onClick="closeExample('post')" style='display:none'>close</button></td></tr>




.. raw:: html

   <tr><td colspan=5 style='padding: 0         % 0    %;' valign = 'top'><div id='post_div' style='display:none'>


.. include:: ../artifacts/sys_ut_template_POST.txt
   :literal:




.. raw:: html

   </div></td></tr>


.. raw:: html

   <tr  style='border-bottom: thin solid;'><td valign = 'top'>


Create List



.. raw:: html

   </td><td valign = 'top'>


POST



.. raw:: html

   </td><td valign = 'top'>


/axapi/v3/sys-ut/template



.. raw:: html

   </td><td valign = 'top'>


:ref:`3174_template_attributes`



.. raw:: html

   </td><td></td></tr>




.. raw:: html

   <tr  style='border-bottom: thin solid;'><td valign = 'top'>


Get Object



.. raw:: html

   </td><td valign = 'top'>


GET



.. raw:: html

   </td><td valign = 'top'>


/axapi/v3/sys-ut/template/{name}



.. raw:: html

   </td><td valign = 'top'>


:ref:`3174_template_attributes`



.. raw:: html

   </td><td><button id='get_eg' onClick="showExample('get')">example</button> <button id='get_cl' onClick="closeExample('get')" style='display:none'>close</button></td></tr>




.. raw:: html

   <tr><td colspan=5 style='padding: 0         % 0    %;' valign = 'top'><div id='get_div' style='display:none'>


.. include:: ../artifacts/sys_ut_template_GET.txt
   :literal:




.. raw:: html

   </div></td></tr>


.. raw:: html

   <tr  style='border-bottom: thin solid;'><td valign = 'top'>


Get List



.. raw:: html

   </td><td valign = 'top'>


GET



.. raw:: html

   </td><td valign = 'top'>


/axapi/v3/sys-ut/template



.. raw:: html

   </td><td valign = 'top'>


:ref:`3174_template_list`



.. raw:: html

   </td><td></td></tr>




.. raw:: html

   <tr  style='border-bottom: thin solid;'><td valign = 'top'>


Modify Object



.. raw:: html

   </td><td valign = 'top'>


POST



.. raw:: html

   </td><td valign = 'top'>


/axapi/v3/sys-ut/template/{name}



.. raw:: html

   </td><td valign = 'top'>


:ref:`3174_template_attributes`



.. raw:: html

   </td><td></td></tr>




.. raw:: html

   <tr  style='border-bottom: thin solid;'><td valign = 'top'>


Replace Object



.. raw:: html

   </td><td valign = 'top'>


PUT



.. raw:: html

   </td><td valign = 'top'>


/axapi/v3/sys-ut/template/{name}



.. raw:: html

   </td><td valign = 'top'>


:ref:`3174_template_attributes`



.. raw:: html

   </td><td><button id='put_eg' onClick="showExample('put')">example</button> <button id='put_cl' onClick="closeExample('put')" style='display:none'>close</button></td></tr>




.. raw:: html

   <tr><td colspan=5 style='padding: 0         % 0    %;' valign = 'top'><div id='put_div' style='display:none'>


.. include:: ../artifacts/sys_ut_template_PUT.txt
   :literal:




.. raw:: html

   </div></td></tr>


.. raw:: html

   <tr  style='border-bottom: thin solid;'><td valign = 'top'>


Replace List



.. raw:: html

   </td><td valign = 'top'>


PUT



.. raw:: html

   </td><td valign = 'top'>


/axapi/v3/sys-ut/template



.. raw:: html

   </td><td valign = 'top'>


:ref:`3174_template_list`



.. raw:: html

   </td><td></td></tr>




.. raw:: html

   <tr  style='border-bottom: thin solid;'><td valign = 'top'>


Delete Object



.. raw:: html

   </td><td valign = 'top'>


DELETE



.. raw:: html

   </td><td valign = 'top'>


/axapi/v3/sys-ut/template/{name}



.. raw:: html

   </td><td valign = 'top'>


:ref:`3174_template_attributes`



.. raw:: html

   </td><td><button id='delete_eg' onClick="showExample('delete')">example</button> <button id='delete_cl' onClick="closeExample('delete')" style='display:none'>close</button></td></tr>




.. raw:: html

   <tr><td colspan=5 style='padding: 0         % 0    %;' valign = 'top'><div id='delete_div' style='display:none'>


.. include:: ../artifacts/sys_ut_template_DELETE.txt
   :literal:




.. raw:: html

   </div></td></tr>


.. raw:: html

   </table>

.. _3174_template_list:

template-list
-------------


    template-list is **JSON List** of :ref:`3174_template_attributes` 

        template-list : [

             { :ref:`3174_template_attributes` },

             { :ref:`3174_template_attributes` },

             ...

         ]

.. _3174_template_attributes:

template attributes
-------------------

    **ignore-validation**

        **Description:** ignore-validation is a **JSON Block**.  Please see below for :ref:`3174_ignore-validation` 

        **Type:** Object

        **Reference Object:** :doc:`/axapi/v3/sys-ut/template/{name}/ignore-validation <sys_ut_template>`

    **l1**

        **Description:** l1 is a **JSON Block**.  Please see below for :ref:`3174_l1` 

        **Type:** Object

        **Reference Object:** :doc:`/axapi/v3/sys-ut/template/{name}/l1 <sys_ut_template>`

    **l2**

        **Description:** l2 is a **JSON Block**.  Please see below for :ref:`3174_l2` 

        **Type:** Object

        **Reference Object:** :doc:`/axapi/v3/sys-ut/template/{name}/l2 <sys_ut_template>`

    **l3**

        **Description:** l3 is a **JSON Block**.  Please see below for :ref:`3174_l3` 

        **Type:** Object

        **Reference Object:** :doc:`/axapi/v3/sys-ut/template/{name}/l3 <sys_ut_template>`

    **name**

        **Description** template name

        **Type:** string

        **Maximum Length:** 64 characters

        **Maximum Length:** 1 characters

    **tcp**

        **Description:** tcp is a **JSON Block**.  Please see below for :ref:`3174_tcp` 

        **Type:** Object

        **Reference Object:** :doc:`/axapi/v3/sys-ut/template/{name}/tcp <sys_ut_template>`

    **udp**

        **Description:** udp is a **JSON Block**.  Please see below for :ref:`3174_udp` 

        **Type:** Object

        **Reference Object:** :doc:`/axapi/v3/sys-ut/template/{name}/udp <sys_ut_template>`

    **user-tag**

        **Description** Customized tag

        **Type:** string

        **Format:** string-rlx

        **Maximum Length:** 127 characters

        **Maximum Length:** 1 characters

    **uuid**

        **Description** uuid of the object

        **Type:** string

        **Maximum Length:** 64 characters

        **Maximum Length:** 1 characters

.. _3174_udp:

udp
^^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *object*

	=============================== ===================================================

    **checksum**

        **Description** 'valid': valid; 'invalid': invalid; 

        **Type:** string

        **Supported Values:** valid, invalid

        **Default:** valid

    **dest-port**

        **Description** Dest port

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **dest-port-value**

        **Description** Dest port value

        **Type:** number

        **Range:** 1-65535

    **length**

        **Description** Total packet length starting at UDP header

        **Type:** number

        **Range:** 64-9000

    **nat-pool**

        **Description** Nat pool port

        **Type:** string

        **Maximum Length:** 128 characters

        **Maximum Length:** 1 characters

    **src-port-range**

        **Type:** List

    **uuid**

        **Description** uuid of the object

        **Type:** string

        **Maximum Length:** 64 characters

        **Maximum Length:** 1 characters

.. _3174_udp_src-port-range:

udp_src-port-range
^^^^^^^^^^^^^^^^^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *list*

	 **Block object keys**             

	=============================== ===================================================

    **src-port-end**

        **Description** Src port end value

        **Type:** number

    **src-port-start**

        **Description** Source port value

        **Type:** number

.. _3174_l1:

l1
^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *object*

	=============================== ===================================================

    **auto**

        **Description** Auto calculate pkt len

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

        **Mutual Exclusion:** auto and value are mutually exclusive

    **drop**

        **Description** Packet drop. Only allowed for output spec

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **eth-list**

        **Type:** List

    **length**

        **Description** packet length

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **trunk_list**

        **Type:** List

    **uuid**

        **Description** uuid of the object

        **Type:** string

        **Maximum Length:** 64 characters

        **Maximum Length:** 1 characters

    **value**

        **Description** Total packet length starting at L2 header

        **Type:** number

        **Range:** 64-9000

        **Mutual Exclusion:** value and auto are mutually exclusive

.. _3174_l1_eth-list:

l1_eth-list
^^^^^^^^^^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *list*

	 **Block object keys**             

	=============================== ===================================================

    **ethernet-end**

        **Description** Ethernet port

        **Type:** number

        **Format:** interface

    **ethernet-start**

        **Description** Ethernet port (Interface number)

        **Type:** number

        **Format:** interface

        **Reference Object:** :doc:`/axapi/v3/interface/ethernet <interface_ethernet>`

.. _3174_l1_trunk_list:

l1_trunk_list
^^^^^^^^^^^^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *list*

	 **Block object keys**             

	=============================== ===================================================

    **trunk-end**

        **Description** Trunk Group

        **Type:** number

    **trunk-start**

        **Description** Trunk groups

        **Type:** number

.. _3174_l2:

l2
^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *object*

	=============================== ===================================================

    **ethertype**

        **Description** L2 frame type

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **mac-list**

        **Type:** List

        **Reference Object:** :doc:`/axapi/v3/sys-ut/template/{name}/l2/mac/{src-dst} <sys_ut_template>`

    **protocol**

        **Description** 'arp': arp; 'ipv4': ipv4; 'ipv6': ipv6; 

        **Type:** string

        **Supported Values:** arp, ipv4, ipv6

        **Default:** ipv4

        **Mutual Exclusion:** protocol and value are mutually exclusive

    **uuid**

        **Description** uuid of the object

        **Type:** string

        **Maximum Length:** 64 characters

        **Maximum Length:** 1 characters

    **value**

        **Description** ethertype number

        **Type:** number

        **Range:** 0-2147483647

        **Mutual Exclusion:** value and protocol are mutually exclusive

    **vlan**

        **Description** Vlan ID on the packet. 0 is untagged

        **Type:** number

        **Range:** 0-4095

        **Default:** 0

.. _3174_l2_mac-list:

l2_mac-list
^^^^^^^^^^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *list*

	 **Block object keys**             

	=============================== ===================================================

    **address-type**

        **Description** 'broadcast': broadcast; 'multicast': multicast; 

        **Type:** string

        **Supported Values:** broadcast, multicast

    **ethernet**

        **Description** Ethernet interface

        **Type:** number

        **Format:** interface

        **Reference Object:** :doc:`/axapi/v3/interface/ethernet <interface_ethernet>`

    **nat-pool**

        **Description** Nat pool

        **Type:** string

        **Maximum Length:** 128 characters

        **Maximum Length:** 1 characters

    **src-dst**

        **Description** 'dest': dest; 'src': src; 

        **Type:** string

        **Supported Values:** dest, src

    **trunk**

        **Description** Trunk number

        **Type:** number

        **Format:** interface

    **uuid**

        **Description** uuid of the object

        **Type:** string

        **Maximum Length:** 64 characters

        **Maximum Length:** 1 characters

    **value**

        **Description** Mac Address

        **Type:** string

        **Format:** mac-address

    **ve**

        **Description** Virtual Ethernet interface

        **Type:** number

        **Format:** interface

        **Reference Object:** :doc:`/axapi/v3/interface/ve <interface_ve>`

    **virtual-server**

        **Description** vip

        **Type:** string

        **Maximum Length:** 128 characters

        **Maximum Length:** 1 characters

        **Reference Object:** :doc:`/axapi/v3/slb/virtual-server <slb_virtual_server>`

.. _3174_l3:

l3
^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *object*

	=============================== ===================================================

    **checksum**

        **Description** 'valid': valid; 'invalid': invalid; 

        **Type:** string

        **Supported Values:** valid, invalid

        **Default:** valid

    **ip-list**

        **Type:** List

        **Reference Object:** :doc:`/axapi/v3/sys-ut/template/{name}/l3/ip/{src-dst} <sys_ut_template>`

    **protocol**

        **Description** L4 Protocol

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **ttl**

        **Description** 

        **Type:** number

        **Range:** 1-64

    **type**

        **Description** 'tcp': tcp; 'udp': udp; 'icmp': icmp; 

        **Type:** string

        **Supported Values:** tcp, udp, icmp

        **Mutual Exclusion:** type and value are mutually exclusive

    **uuid**

        **Description** uuid of the object

        **Type:** string

        **Maximum Length:** 64 characters

        **Maximum Length:** 1 characters

    **value**

        **Description** protocol number

        **Type:** number

        **Range:** 0-2147483647

        **Mutual Exclusion:** value and type are mutually exclusive

.. _3174_l3_ip-list:

l3_ip-list
^^^^^^^^^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *list*

	 **Block object keys**             

	=============================== ===================================================

    **ethernet**

        **Description** Ethernet interface

        **Type:** number

        **Format:** interface

        **Reference Object:** :doc:`/axapi/v3/interface/ethernet <interface_ethernet>`

    **ipv4-end-address**

        **Description** IP end address

        **Type:** string

        **Format:** ipv4-address

    **ipv4-start-address**

        **Description** IP address

        **Type:** string

        **Format:** ipv4-address

    **ipv6-end-address**

        **Description** Ipv6 end address

        **Type:** string

        **Format:** ipv6-address

    **ipv6-start-address**

        **Description** Ipv6 address

        **Type:** string

        **Format:** ipv6-address

    **nat-pool**

        **Description** Nat pool

        **Type:** string

        **Maximum Length:** 128 characters

        **Maximum Length:** 1 characters

    **src-dst**

        **Description** 'dest': dest; 'src': src; 

        **Type:** string

        **Supported Values:** dest, src

    **trunk**

        **Description** Trunk number

        **Type:** number

        **Format:** interface

    **uuid**

        **Description** uuid of the object

        **Type:** string

        **Maximum Length:** 64 characters

        **Maximum Length:** 1 characters

    **ve**

        **Description** Virtual Ethernet interface

        **Type:** number

        **Format:** interface

        **Reference Object:** :doc:`/axapi/v3/interface/ve <interface_ve>`

    **virtual-server**

        **Description** vip

        **Type:** string

        **Maximum Length:** 128 characters

        **Maximum Length:** 1 characters

        **Reference Object:** :doc:`/axapi/v3/slb/virtual-server <slb_virtual_server>`

.. _3174_ignore-validation:

ignore-validation
^^^^^^^^^^^^^^^^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *object*

	=============================== ===================================================

    **all**

        **Description** Skip validation

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **l1**

        **Description** Dont validate TX descriptor. This includes Tx port, Len & vlan

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **l2**

        **Description** Dont validate L2 header

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **l3**

        **Description** Dont validate L3 header

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **l4**

        **Description** Dont validate L4 header

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **uuid**

        **Description** uuid of the object

        **Type:** string

        **Maximum Length:** 64 characters

        **Maximum Length:** 1 characters

.. _3174_tcp:

tcp
^^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *object*

	=============================== ===================================================

    **ack-seq-number**

        **Description** 'valid': valid; 'invalid': invalid; 

        **Type:** string

        **Supported Values:** valid, invalid

        **Default:** valid

    **checksum**

        **Description** 'valid': valid; 'invalid': invalid; 

        **Type:** string

        **Supported Values:** valid, invalid

        **Default:** valid

    **dest-port**

        **Description** Dest port

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **dest-port-value**

        **Description** Dest port value

        **Type:** number

        **Range:** 1-65535

    **flags**

        **Description:** flags is a **JSON Block**.  Please see below for :ref:`3174_tcp_flags` 

        **Type:** Object

        **Reference Object:** :doc:`/axapi/v3/sys-ut/template/{name}/tcp/flags <sys_ut_template>`

    **nat-pool**

        **Description** Nat pool port

        **Type:** string

        **Maximum Length:** 128 characters

        **Maximum Length:** 1 characters

    **options**

        **Description:** options is a **JSON Block**.  Please see below for :ref:`3174_tcp_options` 

        **Type:** Object

        **Reference Object:** :doc:`/axapi/v3/sys-ut/template/{name}/tcp/options <sys_ut_template>`

    **seq-number**

        **Description** 'valid': valid; 'invalid': invalid; 

        **Type:** string

        **Supported Values:** valid, invalid

        **Default:** valid

    **src-port-range**

        **Type:** List

    **urgent**

        **Description** 'valid': valid; 'invalid': invalid; 

        **Type:** string

        **Supported Values:** valid, invalid

        **Default:** valid

    **uuid**

        **Description** uuid of the object

        **Type:** string

        **Maximum Length:** 64 characters

        **Maximum Length:** 1 characters

    **window**

        **Description** 'valid': valid; 'invalid': invalid; 

        **Type:** string

        **Supported Values:** valid, invalid

        **Default:** valid

.. _3174_tcp_src-port-range:

tcp_src-port-range
^^^^^^^^^^^^^^^^^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *list*

	 **Block object keys**             

	=============================== ===================================================

    **src-port-end**

        **Description** Src port end value

        **Type:** number

    **src-port-start**

        **Description** Source port value

        **Type:** number

.. _3174_tcp_flags:

tcp_flags
^^^^^^^^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *object*

	=============================== ===================================================

    **ack**

        **Description** Ack

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **cwr**

        **Description** Cwr

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **ece**

        **Description** Ece

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **fin**

        **Description** Fin

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **psh**

        **Description** Psh

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **rst**

        **Description** Rst

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **syn**

        **Description** Syn

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **urg**

        **Description** Urg

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **uuid**

        **Description** uuid of the object

        **Type:** string

        **Maximum Length:** 64 characters

        **Maximum Length:** 1 characters

.. _3174_tcp_options:

tcp_options
^^^^^^^^^^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *object*

	=============================== ===================================================

    **mss**

        **Description** TCP MSS

        **Type:** number

        **Range:** 536-1460

    **nop**

        **Description** No Op

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **sack-type**

        **Description** 'permitted': permitted; 'block': block; 

        **Type:** string

        **Supported Values:** permitted, block

    **time-stamp-enable**

        **Description** adds Time Stamp to options

        **Type:** boolean

        **Supported Values:** true, false, 1, 0

        **Default:** 0

    **uuid**

        **Description** uuid of the object

        **Type:** string

        **Maximum Length:** 64 characters

        **Maximum Length:** 1 characters

    **wscale**

        **Description** 

        **Type:** number

        **Range:** 1-8