.. _ddos_zone_profile_ip_proto_proto_name:

ddos zone-profile ip-proto proto-name
=====================================

DDOS IP protocol profile configuration


proto-name Specification
------------------------

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

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

	 **Object Key(s)**                     *protocol*

	 **Collection Name**                   :ref:`1229_proto-name_list`

	 **Collection URI**                    /axapi/v3/ddos/zone-profile/{profile-name}/ip-proto/proto-name

	                                       

	 **Element Name**                      proto-name

	 **Element URI**                       /axapi/v3/ddos/zone-profile/{profile-name}/ip-proto/proto-name/{protocol}

	 **Element Attributes**                proto-name_attributes

	 **Partition Visibility**              shared

	 **Schema**                             :download:`proto-name schema <ddos-zone-profile-ip-proto-proto-name/ddos-zone-profile-ip-proto-proto-name.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/ddos/zone-profile/{profile-name}/ip-proto/proto-name



.. raw:: html

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


:ref:`1229_proto-name_attributes`



.. raw:: html

   </td><td></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/ddos/zone-profile/{profile-name}/ip-proto/proto-name



.. raw:: html

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


:ref:`1229_proto-name_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/ddos/zone-profile/{profile-name}/ip-proto/proto-name/{protocol}



.. raw:: html

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


:ref:`1229_proto-name_attributes`



.. raw:: html

   </td><td></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/ddos/zone-profile/{profile-name}/ip-proto/proto-name



.. raw:: html

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


:ref:`1229_proto-name_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/ddos/zone-profile/{profile-name}/ip-proto/proto-name/{protocol}



.. raw:: html

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


:ref:`1229_proto-name_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/ddos/zone-profile/{profile-name}/ip-proto/proto-name/{protocol}



.. raw:: html

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


:ref:`1229_proto-name_attributes`



.. raw:: html

   </td><td></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/ddos/zone-profile/{profile-name}/ip-proto/proto-name



.. raw:: html

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


:ref:`1229_proto-name_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/ddos/zone-profile/{profile-name}/ip-proto/proto-name/{protocol}



.. raw:: html

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


:ref:`1229_proto-name_attributes`



.. raw:: html

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




.. raw:: html

   </table>

.. _1229_proto-name_list:

proto-name-list
---------------


    proto-name-list is **JSON List** of :ref:`1229_proto-name_attributes` 

        proto-name-list : [

             { :ref:`1229_proto-name_attributes` },

             { :ref:`1229_proto-name_attributes` },

             ...

         ]

.. _1229_proto-name_attributes:

proto-name attributes
---------------------

    **indicator-list**

        **Type:** List

        **Reference Object:** :doc:`/axapi/v3/ddos/zone-profile/{profile-name}/ip-proto/proto-name/{protocol}/indicator/{indicator-name} <ddos_zone_profile>`

    **protocol**

        **Description** 'icmp-v4': ip-proto icmp-v4; 'icmp-v6': ip-proto icmp-v6; 'gre': ip-proto gre; 'ipv4-encap': ip-proto IPv4 Encapsulation; 'ipv6-encap': ip-proto IPv6 Encapsulation; 

        **Type:** string

        **Supported Values:** icmp-v4, icmp-v6, gre, ipv4-encap, ipv6-encap

    **uuid**

        **Description** uuid of the object

        **Type:** string

        **Maximum Length:** 64 characters

        **Maximum Length:** 1 characters

.. _1229_indicator-list:

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

	 **Block object keys**             

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

    **indicator-name**

        **Description** 'pkt-rate': pkt-rate; 'pkt-drop-rate': pkt-drop-rate; 'bit-rate': bit-rate; 'pkt-drop-ratio': pkt-drop-ratio; 'bytes-to-bytes-from-ratio': bytes-to-bytes-from-ratio; 'frag-rate': frag-rate; 'cpu-utilization': cpu-utilization; 'interface-utilization': interface-utilization; 

        **Type:** string

        **Supported Values:** pkt-rate, pkt-drop-rate, bit-rate, pkt-drop-ratio, bytes-to-bytes-from-ratio, frag-rate, cpu-utilization, interface-utilization

    **src-threshold-cfg**

        **Description:** src-threshold-cfg is a **JSON Block**.  Please see below for :ref:`1229_indicator-list_src-threshold-cfg` 

        **Type:** Object

    **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

    **zone-threshold-cfg**

        **Description:** zone-threshold-cfg is a **JSON Block**.  Please see below for :ref:`1229_indicator-list_zone-threshold-cfg` 

        **Type:** Object

.. _1229_indicator-list_src-threshold-cfg:

indicator-list_src-threshold-cfg
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *object*

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

    **src-threshold-large-num**

        **Description** Indicator per-src threshold

        **Type:** number

        **Range:** 1-10995116277760

    **src-threshold-num**

        **Description** Indicator per-src threshold

        **Type:** number

        **Range:** 1-2147483647

    **src-threshold-str**

        **Description** Indicator per-src threshold (Non-zero floating point)

        **Type:** string

        **Maximum Length:** 128 characters

        **Maximum Length:** 1 characters

.. _1229_indicator-list_zone-threshold-cfg:

indicator-list_zone-threshold-cfg
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	=============================== ===================================================
	**Specification**                 **Value**
	=============================== ===================================================
	 **Type**                        *object*

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

    **zone-threshold-large-num**

        **Description** Threshold for the entire zone

        **Type:** number

        **Range:** 1-10995116277760

    **zone-threshold-num**

        **Description** Threshold for the entire zone

        **Type:** number

        **Range:** 1-2147483647

    **zone-threshold-str**

        **Description** Threshold for the entire zone (Non-zero floating point)

        **Type:** string

        **Maximum Length:** 128 characters

        **Maximum Length:** 1 characters