.. _cgnv6_template_pcp:

cgnv6 template pcp
==================

Port Control Protocol Template


pcp Specification
-----------------

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

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

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

	 **Collection Name**                   :ref:`614_pcp_list`

	 **Collection URI**                    /axapi/v3/cgnv6/template/pcp

	                                       

	 **Element Name**                      pcp

	 **Element URI**                       /axapi/v3/cgnv6/template/pcp/{name}

	 **Element Attributes**                pcp_attributes

	 **Partition Visibility**              shared

	 **Schema**                             :download:`pcp schema <cgnv6-template-pcp/cgnv6-template-pcp.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/cgnv6/template/pcp



.. raw:: html

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


:ref:`614_pcp_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/cgnv6_template_pcp_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/cgnv6/template/pcp



.. raw:: html

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


:ref:`614_pcp_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/cgnv6/template/pcp/{name}



.. raw:: html

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


:ref:`614_pcp_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/cgnv6_template_pcp_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/cgnv6/template/pcp



.. raw:: html

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


:ref:`614_pcp_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/cgnv6/template/pcp/{name}



.. raw:: html

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


:ref:`614_pcp_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/cgnv6/template/pcp/{name}



.. raw:: html

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


:ref:`614_pcp_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/cgnv6_template_pcp_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/cgnv6/template/pcp



.. raw:: html

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


:ref:`614_pcp_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/cgnv6/template/pcp/{name}



.. raw:: html

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


:ref:`614_pcp_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/cgnv6_template_pcp_DELETE.txt
   :literal:




.. raw:: html

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


.. raw:: html

   </table>

.. _614_pcp_list:

pcp-list
--------


    pcp-list is **JSON List** of :ref:`614_pcp_attributes` 

        pcp-list : [

             { :ref:`614_pcp_attributes` },

             { :ref:`614_pcp_attributes` },

             ...

         ]

.. _614_pcp_attributes:

pcp attributes
--------------

    **allow-third-party-from-lan**

        **Description** Allow third party request coming from LAN (default is disabled)

        **Type:** boolean

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

        **Default:** 0

    **allow-third-party-from-wan**

        **Description** Allow third party request coming from WAN (default is disabled)

        **Type:** boolean

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

        **Default:** 0

    **announce**

        **Description** PCP ANNOUNCE Opcode (default is enabled)

        **Type:** boolean

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

        **Default:** 0

    **check-client-nonce**

        **Description** To validate NONCE value in PCP request (default: disabled)

        **Type:** boolean

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

        **Default:** 0

    **disable-map-filter**

        **Description** To disable processing of FILTER options in MAP request

        **Type:** boolean

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

        **Default:** 0

    **map**

        **Description** PCP MAP Opcode (default is enabled)

        **Type:** boolean

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

        **Default:** 0

    **maximum**

        **Description** To set maximum lifetime of PCP mappings (default 1440 minutes)

        **Type:** number

        **Range:** 2-1440

        **Default:** 1440

    **minimum**

        **Description** To set minimum lifetime of PCP mappings (default 2 minutes)

        **Type:** number

        **Range:** 2-1440

        **Default:** 2

    **name**

        **Description** PCP Template name

        **Type:** string

        **Format:** string-rlx

        **Maximum Length:** 63 characters

        **Maximum Length:** 1 characters

    **pcp-server-port**

        **Description** PCP server listening port (default 5351) (PCP UDP destination port)

        **Type:** number

        **Range:** 1024-65535

        **Default:** 5351

    **peer**

        **Description** PCP PEER Opcode (default is enabled)

        **Type:** boolean

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

        **Default:** 0

    **source-ip**

        **Description** Specify source IP address for IPv4 ANNOUNCE message

        **Type:** string

        **Format:** ipv4-address

    **source-ipv6**

        **Description** Specify source IPv6 address for IPv6 ANNOUNCE message

        **Type:** string

        **Format:** ipv6-address

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