forked from laiweijian4/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: Chen, Junjie <chenjunjie@huawei.com> Co-committed-by: Chen, Junjie <chenjunjie@huawei.com>
579 lines
40 KiB
HTML
579 lines
40 KiB
HTML
<a name="CreateFeatureV2"></a><a name="CreateFeatureV2"></a>
|
||
|
||
<h1 class="topictitle1">Configuring a Feature for a Gateway</h1>
|
||
<div><div class="section"><h4 class="sectiontitle">Function</h4><p>This API is used to configure a feature for a gateway.</p>
|
||
<p>The following table lists the supported features and configuration examples.</p>
|
||
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="14.285714285714285%" id="mcps1.3.1.4.1.8.1.1">Feature Name</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="14.285714285714285%" id="mcps1.3.1.4.1.8.1.2">Feature Description</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="14.285714285714285%" id="mcps1.3.1.4.1.8.1.3">Configuration Example</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="14.285714285714285%" id="mcps1.3.1.4.1.8.1.4">Parameter Name</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="14.285714285714285%" id="mcps1.3.1.4.1.8.1.5">Parameter Description</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="14.285714285714285%" id="mcps1.3.1.4.1.8.1.6">Default Value</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="14.285714285714285%" id="mcps1.3.1.4.1.8.1.7">Value Range</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody><tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">lts</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Reporting of Shubao access logs</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"lts","enable":true,"config": "{\"group_id\": ",\"topic_id\":\"\",\"log_group\":\"\",\"log_stream\":\"\"}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">(1) group_id (2) topic_id (3) log_group (4) log_stream</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">(1) Log group ID. (2) Log stream ID. (3) Log group name. (4) Log stream name.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">-</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">ratelimit</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Request throttling limit configuration</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"ratelimit","enable":true,"config": "{\"api_limits\": 500}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">api_limits</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">Default request throttling limit for APIs. Set this parameter properly to meet your service requirements. A small value may constantly throttle your services.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">200 calls/second</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">1–1,000,000 calls/second</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">request_body_size</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Configuration of the maximum request body size</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"request_body_size","enable":true,"config": "104857600"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">request_body_size</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">The maximum body size allowed for a request.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">12 MB</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">1–9536 MB</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">backend_timeout</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Maximum backend timeout configuration</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"backend_timeout","enable":true,"config": "{"max_timeout": 500}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">max_timeout</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">Maximum timeout allowed for API Gateway to request the backend service.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">60,000 ms</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">1–600,000 ms</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">app_token</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">app_token authentication</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"app_token","enable":true,"config": "{\"enable\": \"on\", \"app_token_expire_time\": 3600, \"app_token_uri\": \"/v1/apigw/oauth2/token\", \"refresh_token_expire_time\": 7200}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">(1) enable (2) app_token_expire_time (3) refresh_token_expire_time (4) app_token_uri (5) app_token_key</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">(1) Whether to enable this feature. (2) Access token validity period. (3) Refresh token validity period. (4) URI for obtaining a token. (5) Token encryption key.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">(1) off (2) 3600s (3) 7200s (4) /v1/apigw/oauth2/token</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">(1) on/off (2) 1–72,000s (3) 1–72,000s</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">app_api_key</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">app_api_key authentication</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"app_api_key","enable":true,"config": "on"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">off</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">on/off</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">app_basic</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">app_basic authentication</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"app_basic","enable":true,"config": "on"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">off</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">on/off</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">app_secret</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">app_secret authentication</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"app_secret","enable":true,"config": "on"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">off</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">on/off</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">app_jwt</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">app_jwt authentication</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"app_jwt","enable":true,"config": "{\"enable\": \"on\", \"auth_header\": \"Authorization\"}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">(1) enable (2) auth_header</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">(1) Whether to enable app_jwt authentication. (2) app_jwt authentication header.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">(1) off (2) Authorization</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">(1) on/off</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">public_key</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">public_key backend signatures</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"public_key","enable":true,"config": "{\"enable\": \"on\", \"public_key_uri_prefix\": \"/apigw/authadv/v2/public-key/\"}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">(1) enable (2) public_key_uri_prefix</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">(1) Whether to enable app_jwt authentication. (2) URI prefix used for obtaining the public key.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">(1) off(2) /apigw/authadv/v2/public-key/</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">(1) on/off</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">backend_token_allow</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Allowing tenants to transparently transmit tokens to the backend</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"backend_token_allow","enable":true,"config": "{\"backend_token_allow_users\": [\"user_name\"]}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">backend_token_allow_users</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">Whitelist of tenants allowed to transparently transmit tokens to the backend. The value is a regular expression of domain names.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">-</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">backend_client_certificate</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Backend two-way authentication</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"backend_client_certificate","enable":true,"config": "{\"enable\": \"on\",\"ca\": \"\",\"content\": \"\",\"key\": \"\"}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">(1) enable (2) ca (3) content (4) key</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">(1) Whether to enable this feature. (2) CA file of two-way authentication. (3) Two-way authentication file. (4) Private key of two-way authentication.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">(1) off</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">(1) on/off</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">ssl_ciphers</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">HTTPS cipher suites</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"ssl_ciphers","enable":true,"config": "config": "{\"ssl_ciphers\": [\"ECDHE-ECDSA-AES256-GCM-SHA384\"]}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">ssl_ciphers</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">Supported cipher suites. The ssl_ciphers parameter cannot be left blank and can contain only the options in the value range.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-SHA384,ECDHE-RSA-AES256-SHA384,ECDHE-ECDSA-AES128-SHA256,ECDHE-RSA-AES128-SHA256</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">real_ip_from_xff</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Whether to use the X-Forwarded-For header to specify source IP addresses for access control and request throttling.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"real_ip_from_xff","enable": true,"config": "{\"enable\": \"on\",\"xff_index\": 1}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">(1) enable (2) xff_index</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">(1) Whether to enable this feature. (2) Index of the source IP address in the X-Forwarded-For header. (Negative numbers are allowed and –1 is the last index.)</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">(1) off (2) -1</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">(1) on/off (2) Valid Int32 value</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">app_route</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Whether to allow IP address access.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"app_route","enable":true,"config": "on"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">off</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">on/off</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">vpc_name_modifiable</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Load balance channel name modification</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"vpc_name_modifiable","enable":true,"config": "on"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">on</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">on/off</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">default_group_host_trustlist</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Access to the DEFAULT group from IP addresses that are not inbound access addresses of the current gateway</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"default_group_host_trustlist","enable": true,"config": "{\"enable\":\"on\",\"hosts\":[\"123.2.2.2\",\"202.2.2.2\"]}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">(1) enable (2) hosts</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">(1) Whether to enable this feature. (2) IP addresses that are not inbound access addresses of the current gateway.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">(1) on/off</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">throttle_strategy</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Whether to enable request throttling.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"throttle_strategy","enable":true,"config": "{\"enable\": \"on\",\"strategy\": \"local\"}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">(1) enable (2) strategy</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">(1) Whether to enable this feature. (2) Request throttling mode.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">(1) off</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">(1) on/off (2) cluster/local</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">custom_log</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Whether to print custom request headers, query strings, and cookies in logs.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"custom_log","enable":true,"config": "{\"custom_logs\":[{\"location\":\"header\",\"name\":\"a1234\"}]}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">(1) custom_logs (2) location (3) name</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">(1) Custom logs. (2) Location. (3) Name.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">(1) Max. 10 items. (2) header/query/cookie</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">real_ip_header_getter</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Whether to use a custom header to obtain source IP addresses.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"real_ip_header_getter","enable":true,"config": "{\"enable\": \"on\",\"header_getter\": \"header:testIP\"}"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">(1) enable (2) header_getter</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">(1) Whether to enable this feature. (2) Custom header for obtaining source IP addresses.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">(1) off</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">(1) on/off</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.1 ">policy_cookie_param</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.2 ">Whether to support cookies in backend policy conditions.</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.3 ">{"name":"policy_cookie_param","enable":true,"config": "on"}</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.4 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.5 ">-</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.6 ">off</td>
|
||
<td class="cellrowborder" valign="top" width="14.285714285714285%" headers="mcps1.3.1.4.1.8.1.7 ">on/off</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
<div class="section"><h4 class="sectiontitle">URI</h4><p>POST /v2/{project_id}/apigw/instances/{instance_id}/features</p>
|
||
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><caption><b>Table 1 </b>Path Parameters</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.2.3.2.5.1.1"><p>Parameter</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.2.3.2.5.1.2"><p>Mandatory</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.2.3.2.5.1.3"><p>Type</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="40%" id="mcps1.3.2.3.2.5.1.4"><p>Description</p>
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody><tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.2.3.2.5.1.1 "><p>project_id</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.2.3.2.5.1.2 "><p>Yes</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.2.3.2.5.1.3 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="40%" headers="mcps1.3.2.3.2.5.1.4 "><p>Project ID. For details about how to obtain a project ID, see "Appendix" > "Obtaining a Project ID" in this document.</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.2.3.2.5.1.1 "><p>instance_id</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.2.3.2.5.1.2 "><p>Yes</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.2.3.2.5.1.3 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="40%" headers="mcps1.3.2.3.2.5.1.4 "><p>Gateway ID, which can be obtained from the gateway information on the APIG console.</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
<div class="section"><h4 class="sectiontitle">Request Parameters</h4>
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="CreateFeatureV2__HeaderParameter" frame="border" border="1" rules="all"><caption><b>Table 2 </b>Request header parameters</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.3.2.2.5.1.1"><p>Parameter</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.3.2.2.5.1.2"><p>Mandatory</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.3.2.2.5.1.3"><p>Type</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="40%" id="mcps1.3.3.2.2.5.1.4"><p>Description</p>
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody><tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.3.2.2.5.1.1 "><p>X-Auth-Token</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.3.2.2.5.1.2 "><p>Yes</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.3.2.2.5.1.3 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="40%" headers="mcps1.3.3.2.2.5.1.4 "><p>User token. It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is a token.</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="CreateFeatureV2__request_FeatureToggle" frame="border" border="1" rules="all"><caption><b>Table 3 </b>Request body parameters</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.3.3.2.5.1.1"><p>Parameter</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.3.3.2.5.1.2"><p>Mandatory</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.3.3.2.5.1.3"><p>Type</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="40%" id="mcps1.3.3.3.2.5.1.4"><p>Description</p>
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody><tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.3.3.2.5.1.1 "><p>name</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.3.3.2.5.1.2 "><p>Yes</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.3.3.2.5.1.3 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="40%" headers="mcps1.3.3.3.2.5.1.4 "><p>Feature name.</p>
|
||
<p>Minimum: <strong>1</strong></p>
|
||
<p>Maximum: <strong>64</strong></p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.3.3.2.5.1.1 "><p>enable</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.3.3.2.5.1.2 "><p>Yes</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.3.3.2.5.1.3 "><p>Boolean</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="40%" headers="mcps1.3.3.3.2.5.1.4 "><p>Indicates whether to enable the feature.</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.3.3.2.5.1.1 "><p>config</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.3.3.2.5.1.2 "><p>No</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.3.3.2.5.1.3 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="40%" headers="mcps1.3.3.3.2.5.1.4 "><p>Parameter configuration.</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
<div class="section"><h4 class="sectiontitle">Response Parameters</h4><p><strong>Status code: 201</strong></p>
|
||
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="CreateFeatureV2__response_FeatureInfo" frame="border" border="1" rules="all"><caption><b>Table 4 </b>Response body parameters</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.4.3.2.4.1.1"><p>Parameter</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.4.3.2.4.1.2"><p>Type</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="60%" id="mcps1.3.4.3.2.4.1.3"><p>Description</p>
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody><tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.3.2.4.1.1 "><p>id</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.3.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.3.2.4.1.3 "><p>Feature ID.</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.3.2.4.1.1 "><p>name</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.3.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.3.2.4.1.3 "><p>Feature name.</p>
|
||
<p>Minimum: <strong>1</strong></p>
|
||
<p>Maximum: <strong>64</strong></p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.3.2.4.1.1 "><p>enable</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.3.2.4.1.2 "><p>Boolean</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.3.2.4.1.3 "><p>Indicates whether to enable the feature.</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.3.2.4.1.1 "><p>config</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.3.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.3.2.4.1.3 "><p>Parameter configuration.</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.3.2.4.1.1 "><p>instance_id</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.3.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.3.2.4.1.3 "><p>Gateway ID.</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.3.2.4.1.1 "><p>update_time</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.3.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.3.2.4.1.3 "><p>Feature update time.</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<p><strong>Status code: 400</strong></p>
|
||
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="CreateFeatureV2__response_ErrorMsg" frame="border" border="1" rules="all"><caption><b>Table 5 </b>Response body parameters</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.4.5.2.4.1.1"><p>Parameter</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.4.5.2.4.1.2"><p>Type</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="60%" id="mcps1.3.4.5.2.4.1.3"><p>Description</p>
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody><tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.5.2.4.1.1 "><p>error_code</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.5.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.5.2.4.1.3 "><p>Error code.</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.5.2.4.1.1 "><p>error_msg</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.5.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.5.2.4.1.3 "><p>Error message.</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<p><strong>Status code: 401</strong></p>
|
||
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="CreateFeatureV2__response_ErrorMsg_1" frame="border" border="1" rules="all"><caption><b>Table 6 </b>Response body parameters</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.4.7.2.4.1.1"><p>Parameter</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.4.7.2.4.1.2"><p>Type</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="60%" id="mcps1.3.4.7.2.4.1.3"><p>Description</p>
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody><tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.7.2.4.1.1 "><p>error_code</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.7.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.7.2.4.1.3 "><p>Error code.</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.7.2.4.1.1 "><p>error_msg</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.7.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.7.2.4.1.3 "><p>Error message.</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<p><strong>Status code: 403</strong></p>
|
||
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="CreateFeatureV2__response_ErrorMsg_2" frame="border" border="1" rules="all"><caption><b>Table 7 </b>Response body parameters</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.4.9.2.4.1.1"><p>Parameter</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.4.9.2.4.1.2"><p>Type</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="60%" id="mcps1.3.4.9.2.4.1.3"><p>Description</p>
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody><tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.9.2.4.1.1 "><p>error_code</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.9.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.9.2.4.1.3 "><p>Error code.</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.9.2.4.1.1 "><p>error_msg</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.9.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.9.2.4.1.3 "><p>Error message.</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<p><strong>Status code: 404</strong></p>
|
||
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="CreateFeatureV2__response_ErrorMsg_3" frame="border" border="1" rules="all"><caption><b>Table 8 </b>Response body parameters</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.4.11.2.4.1.1"><p>Parameter</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.4.11.2.4.1.2"><p>Type</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="60%" id="mcps1.3.4.11.2.4.1.3"><p>Description</p>
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody><tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.11.2.4.1.1 "><p>error_code</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.11.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.11.2.4.1.3 "><p>Error code.</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.11.2.4.1.1 "><p>error_msg</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.11.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.11.2.4.1.3 "><p>Error message.</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<p><strong>Status code: 500</strong></p>
|
||
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="CreateFeatureV2__response_ErrorMsg_4" frame="border" border="1" rules="all"><caption><b>Table 9 </b>Response body parameters</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.4.13.2.4.1.1"><p>Parameter</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.4.13.2.4.1.2"><p>Type</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="60%" id="mcps1.3.4.13.2.4.1.3"><p>Description</p>
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody><tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.13.2.4.1.1 "><p>error_code</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.13.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.13.2.4.1.3 "><p>Error code.</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.13.2.4.1.1 "><p>error_msg</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.4.13.2.4.1.2 "><p>String</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="60%" headers="mcps1.3.4.13.2.4.1.3 "><p>Error message.</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
<div class="section"><h4 class="sectiontitle">Example Requests</h4><pre class="screen">{
|
||
"name" : "app_api_key",
|
||
"config" : "on",
|
||
"enable" : true
|
||
}</pre>
|
||
</div>
|
||
<div class="section"><h4 class="sectiontitle">Example Responses</h4><p><strong>Status code: 201</strong></p>
|
||
<p>Created</p>
|
||
<pre class="screen">{
|
||
"config" : "on",
|
||
"enable" : true,
|
||
"id" : "db9a9260cd3e4a16a9b5747a65d3ffaa",
|
||
"instance_id" : "eddc4d25480b4cd6b512f270a1b8b341",
|
||
"name" : "app_api_key",
|
||
"update_time" : "2020-08-24T01:17:31.041984021Z"
|
||
}</pre>
|
||
<p><strong>Status code: 400</strong></p>
|
||
<p>Bad Request</p>
|
||
<pre class="screen">{
|
||
"error_code" : "APIG.2000",
|
||
"error_msg" : "unrecognized feature app-api-key"
|
||
}</pre>
|
||
<p><strong>Status code: 401</strong></p>
|
||
<p>Unauthorized</p>
|
||
<pre class="screen">{
|
||
"error_code" : "APIG.1002",
|
||
"error_msg" : "Incorrect token or token resolution failed"
|
||
}</pre>
|
||
<p><strong>Status code: 403</strong></p>
|
||
<p>Forbidden</p>
|
||
<pre class="screen">{
|
||
"error_code" : "APIG.1005",
|
||
"error_msg" : "No permissions to request this method"
|
||
}</pre>
|
||
<p><strong>Status code: 404</strong></p>
|
||
<p>Not Found</p>
|
||
<pre class="screen">{
|
||
"error_code" : "APIG.3030",
|
||
"error_msg" : "The instance does not exist;id:eddc4d25480b4cd6b512f270a1b8b341"
|
||
}</pre>
|
||
<p><strong>Status code: 500</strong></p>
|
||
<p>Internal Server Error</p>
|
||
<pre class="screen">{
|
||
"error_code" : "APIG.9999",
|
||
"error_msg" : "System error"
|
||
}</pre>
|
||
</div>
|
||
<div class="section"><h4 class="sectiontitle">Status Codes</h4>
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="CreateFeatureV2__status_code" frame="border" border="1" rules="all"><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="15%" id="mcps1.3.7.2.1.3.1.1"><p>Status Code</p>
|
||
</th>
|
||
<th align="left" class="cellrowborder" valign="top" width="85%" id="mcps1.3.7.2.1.3.1.2"><p>Description</p>
|
||
</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody><tr><td class="cellrowborder" valign="top" width="15%" headers="mcps1.3.7.2.1.3.1.1 "><p>201</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="85%" headers="mcps1.3.7.2.1.3.1.2 "><p>Created</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="15%" headers="mcps1.3.7.2.1.3.1.1 "><p>400</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="85%" headers="mcps1.3.7.2.1.3.1.2 "><p>Bad Request</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="15%" headers="mcps1.3.7.2.1.3.1.1 "><p>401</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="85%" headers="mcps1.3.7.2.1.3.1.2 "><p>Unauthorized</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="15%" headers="mcps1.3.7.2.1.3.1.1 "><p>403</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="85%" headers="mcps1.3.7.2.1.3.1.2 "><p>Forbidden</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="15%" headers="mcps1.3.7.2.1.3.1.1 "><p>404</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="85%" headers="mcps1.3.7.2.1.3.1.2 "><p>Not Found</p>
|
||
</td>
|
||
</tr>
|
||
<tr><td class="cellrowborder" valign="top" width="15%" headers="mcps1.3.7.2.1.3.1.1 "><p>500</p>
|
||
</td>
|
||
<td class="cellrowborder" valign="top" width="85%" headers="mcps1.3.7.2.1.3.1.2 "><p>Internal Server Error</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
<div class="section"><h4 class="sectiontitle">Error Codes</h4><p>See <a href="ErrorCode.html">Error Codes</a>.</p>
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<div class="familylinks">
|
||
<div class="parentlink"><strong>Parent topic:</strong> <a href="topic_300000021.html">Gateway Feature Management</a></div>
|
||
</div>
|
||
</div>
|
||
|