Files
doc-exports/docs/modelarts/api-ref/ListPluginTemplates.html
2025-07-28 12:24:54 +00:00

868 lines
37 KiB
HTML

<a name="EN-US_TOPIC_0000002374896517"></a><a name="EN-US_TOPIC_0000002374896517"></a>
<h1 class="topictitle1">Query Plug-in Templates</h1>
<div id="body1708331107508"><div class="section"><h4 class="sectiontitle">Function</h4><p>This API is used to obtain plug-in templates.</p>
</div>
<div class="section" id="EN-US_TOPIC_0000002374896517__atuogenerate_2"><h4 class="sectiontitle">URI</h4><p>GET /v2/{project_id}/plugintemplates</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, see <a href="modelarts_03_0147.html">Obtaining a Project ID and Name</a>.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" frame="border" border="1" rules="all"><caption><b>Table 2 </b>Query Parameters</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.2.4.2.5.1.1"><p>Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.2.4.2.5.1.2"><p>Mandatory</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="20%" id="mcps1.3.2.4.2.5.1.3"><p>Type</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="40%" id="mcps1.3.2.4.2.5.1.4"><p>Description</p>
</th>
</tr>
</thead>
<tbody><tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.2.4.2.5.1.1 "><p>templateName</p>
</td>
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.2.4.2.5.1.2 "><p>No</p>
</td>
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.2.4.2.5.1.3 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="40%" headers="mcps1.3.2.4.2.5.1.4 "><p>Plug-in name. If this parameter is set, the plug-in with the specified name is queried.</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.2.4.2.5.1.1 "><p>poolName</p>
</td>
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.2.4.2.5.1.2 "><p>No</p>
</td>
<td class="cellrowborder" valign="top" width="20%" headers="mcps1.3.2.4.2.5.1.3 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="40%" headers="mcps1.3.2.4.2.5.1.4 "><p>Resource pool name. If this parameter is set, the list of plug-ins that meet the resource pool's installation requirements is queried.</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section"><h4 class="sectiontitle">Request Parameters</h4><p>None</p>
</div>
<div class="section"><h4 class="sectiontitle">Response Parameters</h4><p><strong>Status code: 200</strong></p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000002374896517__response_PluginTemplateList" frame="border" border="1" rules="all"><caption><b>Table 3 </b>Response body parameters</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="25%" id="mcps1.3.4.3.2.4.1.1"><p>Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="25%" id="mcps1.3.4.3.2.4.1.2"><p>Type</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="50%" id="mcps1.3.4.3.2.4.1.3"><p>Description</p>
</th>
</tr>
</thead>
<tbody><tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.3.2.4.1.1 "><p>kind</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.3.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.3.2.4.1.3 "><p>API type. The value is fixed at <strong>PluginTemplateList</strong> and cannot be changed.</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.3.2.4.1.1 "><p>apiVersion</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.3.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.3.2.4.1.3 "><p>API version. The value is fixed at <strong>v2</strong> and cannot be changed.</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.3.2.4.1.1 "><p>items</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.3.2.4.1.2 "><p>Array of <a href="#EN-US_TOPIC_0000002374896517__response_PluginTemplateV2">PluginTemplateV2</a> objects</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.3.2.4.1.3 "><p>List of plug-in templates.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tablenoborder"><a name="EN-US_TOPIC_0000002374896517__response_PluginTemplateV2"></a><a name="response_PluginTemplateV2"></a><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000002374896517__response_PluginTemplateV2" frame="border" border="1" rules="all"><caption><b>Table 4 </b>PluginTemplateV2</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="25%" id="mcps1.3.4.4.2.4.1.1"><p>Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="25%" id="mcps1.3.4.4.2.4.1.2"><p>Type</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="50%" id="mcps1.3.4.4.2.4.1.3"><p>Description</p>
</th>
</tr>
</thead>
<tbody><tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.4.2.4.1.1 "><p>apiVersion</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.4.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.4.2.4.1.3 "><p>API version. Options:</p>
<ul><li><p><strong>v2</strong></p>
</li></ul>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.4.2.4.1.1 "><p>kind</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.4.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.4.2.4.1.3 "><p>Resource type. Options:</p>
<ul><li><p><strong>PluginTemplate</strong>: plug-in template</p>
</li></ul>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.4.2.4.1.1 "><p>metadata</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.4.2.4.1.2 "><p><a href="#EN-US_TOPIC_0000002374896517__response_PluginTemplateMetadata">PluginTemplateMetadata</a> object</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.4.2.4.1.3 "><p>Plug-in template metadata.</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.4.2.4.1.1 "><p>spec</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.4.2.4.1.2 "><p><a href="#EN-US_TOPIC_0000002374896517__response_PluginTemplateSpecV2">PluginTemplateSpecV2</a> object</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.4.2.4.1.3 "><p>Detailed information about the plug-in template, for example, the version list.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tablenoborder"><a name="EN-US_TOPIC_0000002374896517__response_PluginTemplateMetadata"></a><a name="response_PluginTemplateMetadata"></a><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000002374896517__response_PluginTemplateMetadata" frame="border" border="1" rules="all"><caption><b>Table 5 </b>PluginTemplateMetadata</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="25%" id="mcps1.3.4.5.2.4.1.1"><p>Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="25%" id="mcps1.3.4.5.2.4.1.2"><p>Type</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="50%" id="mcps1.3.4.5.2.4.1.3"><p>Description</p>
</th>
</tr>
</thead>
<tbody><tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.5.2.4.1.1 "><p>name</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.5.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.5.2.4.1.3 "><p>Plug-in template name</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.5.2.4.1.1 "><p>annotations</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.5.2.4.1.2 "><p>Map&lt;String,String&gt;</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.5.2.4.1.3 "><p>Plug-in template annotations in the format of key-value pairs.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tablenoborder"><a name="EN-US_TOPIC_0000002374896517__response_PluginTemplateSpecV2"></a><a name="response_PluginTemplateSpecV2"></a><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000002374896517__response_PluginTemplateSpecV2" frame="border" border="1" rules="all"><caption><b>Table 6 </b>PluginTemplateSpecV2</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="25%" id="mcps1.3.4.6.2.4.1.1"><p>Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="25%" id="mcps1.3.4.6.2.4.1.2"><p>Type</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="50%" id="mcps1.3.4.6.2.4.1.3"><p>Description</p>
</th>
</tr>
</thead>
<tbody><tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.6.2.4.1.1 "><p>optional</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.6.2.4.1.2 "><p>Boolean</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.6.2.4.1.3 "><p>Controls whether the plug-in is mandatory.</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.6.2.4.1.1 "><p>type</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.6.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.6.2.4.1.3 "><p>Plug-in template type. Options:</p>
<ul><li><p><strong>helm</strong>: Helm type</p>
</li><li><p><strong>ccePlugin</strong>: CCE type</p>
</li></ul>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.6.2.4.1.1 "><p>logoURL</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.6.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.6.2.4.1.3 "><p>URL of the logo image.</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.6.2.4.1.1 "><p>description</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.6.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.6.2.4.1.3 "><p>Plug-in template description.</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.6.2.4.1.1 "><p>versions</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.6.2.4.1.2 "><p>Array of <a href="#EN-US_TOPIC_0000002374896517__response_PluginTemplateVersionV2">PluginTemplateVersionV2</a> objects</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.6.2.4.1.3 "><p>Details about the plug-in template version.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="tablenoborder"><a name="EN-US_TOPIC_0000002374896517__response_PluginTemplateVersionV2"></a><a name="response_PluginTemplateVersionV2"></a><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000002374896517__response_PluginTemplateVersionV2" frame="border" border="1" rules="all"><caption><b>Table 7 </b>PluginTemplateVersionV2</caption><thead align="left"><tr><th align="left" class="cellrowborder" valign="top" width="25%" id="mcps1.3.4.7.2.4.1.1"><p>Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="25%" id="mcps1.3.4.7.2.4.1.2"><p>Type</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="50%" id="mcps1.3.4.7.2.4.1.3"><p>Description</p>
</th>
</tr>
</thead>
<tbody><tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.7.2.4.1.1 "><p>version</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.7.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.7.2.4.1.3 "><p>Version number of the plug-in template.</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.7.2.4.1.1 "><p>creationTimestamp</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.7.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.7.2.4.1.3 "><p>Creation time.</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.7.2.4.1.1 "><p>inputs</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.7.2.4.1.2 "><p>Object</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.7.2.4.1.3 "><p>Plug-in installation parameters.</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.7.2.4.1.1 "><p>translate</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.7.2.4.1.2 "><p>Object</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.7.2.4.1.3 "><p>Translation information used by the GUI.</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.7.2.4.1.1 "><p>description</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.7.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.7.2.4.1.3 "><p>Version description.</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.7.2.4.1.1 "><p>detail</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.7.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.7.2.4.1.3 "><p>Version description.</p>
</td>
</tr>
</tbody>
</table>
</div>
<p><strong>Status code: 404</strong></p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000002374896517__response_ErrorResponse" 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="25%" id="mcps1.3.4.9.2.4.1.1"><p>Parameter</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="25%" id="mcps1.3.4.9.2.4.1.2"><p>Type</p>
</th>
<th align="left" class="cellrowborder" valign="top" width="50%" id="mcps1.3.4.9.2.4.1.3"><p>Description</p>
</th>
</tr>
</thead>
<tbody><tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.9.2.4.1.1 "><p>error_code</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.9.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.9.2.4.1.3 "><p>Error code</p>
</td>
</tr>
<tr><td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.9.2.4.1.1 "><p>error_msg</p>
</td>
<td class="cellrowborder" valign="top" width="25%" headers="mcps1.3.4.9.2.4.1.2 "><p>String</p>
</td>
<td class="cellrowborder" valign="top" width="50%" headers="mcps1.3.4.9.2.4.1.3 "><p>Error message</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section"><h4 class="sectiontitle">Example Requests</h4><p>The following is an example of how to query details about node-local-dns plug-in templates.</p>
<pre class="screen">/v2/${projectId}/plugintemplates?templateName=node-local-dns
{
"kind" : "PluginTemplateList",
"apiVersion" : "v2",
"items" : [ {
"kind" : "PluginTemplate",
"apiVersion" : "v2",
"metadata" : {
"name" : "node-local-dns",
"annotations" : {
"os.modelarts.plugin/release.name" : "NodeLocal DNSCache"
}
},
"spec" : {
"optional" : true,
"versions" : [ {
"version" : "1.6.63",
"description" : "NodeLocal DNSCache improves Cluster DNS performance by running a dns caching agent on cluster nodes as a DaemonSet.",
"creationTimestamp" : "2023-05-20T08:50:31Z",
"inputs" : {
"parameters" : {
"custom" : {
"annotations" : { },
"enable_dnsconfig_admission" : true,
"enable_namespace_admission" : true,
"image" : {
"args" : {
"healthPort" : 8080,
"interfaceName" : "nodelocaldns",
"setupIptables" : false,
"skipTeardown" : true,
"skipteardown" : true,
"syncInterval" : "1ns",
"upstreamSvc" : "coredns"
},
"name" : "node-cache",
"pullPolicy" : "Always"
},
"multiAZBalance" : false,
"multiAZEnabled" : false,
"nameserver" : "",
"ndots" : "5",
"node_match_expressions" : [ ],
"search" : "",
"tolerations" : [ {
"effect" : "NoExecute",
"key" : "node.kubernetes.io/not-ready",
"operator" : "Exists",
"tolerationSeconds" : 60
}, {
"effect" : "NoExecute",
"key" : "node.kubernetes.io/unreachable",
"operator" : "Exists",
"tolerationSeconds" : 60
} ],
"zones" : [ {
"plugins" : {
"cache" : {
"denial" : { },
"parameters" : 30,
"prefetch" : { },
"server_stale" : false,
"success" : { }
},
"debug" : false,
"errors" : true,
"forward" : {
"expire" : "",
"force_tcp" : false,
"health_check" : "",
"max_fails" : "",
"parameters" : "__PILLAR__UPSTREAM__SERVERS__",
"policy" : "",
"prefer_udp" : false
},
"log" : {
"classes" : "all",
"format" : "combined"
},
"prometheus" : true,
"reload" : true
},
"zone" : ".:53"
}, {
"plugins" : {
"cache" : {
"parameters" : 30
},
"debug" : false,
"errors" : true,
"forward" : {
"force_tcp" : true,
"parameters" : "__PILLAR__CLUSTER__DNS__"
},
"log" : {
"classes" : "all",
"format" : "combined"
},
"prometheus" : true,
"reload" : true
},
"zone" : "ip6.arpa:53"
}, {
"plugins" : {
"cache" : {
"parameters" : 30
},
"debug" : false,
"errors" : true,
"forward" : {
"force_tcp" : true,
"parameters" : "__PILLAR__CLUSTER__DNS__"
},
"log" : {
"classes" : "all",
"format" : "combined"
},
"prometheus" : true,
"reload" : true
},
"zone" : "in-addr.arpa:53"
}, {
"plugins" : {
"cache" : {
"denial" : {
"size" : 9984,
"ttl" : 5
},
"parameters" : 30,
"prefetch" : { },
"success" : {
"size" : 9984,
"ttl" : 30
}
},
"debug" : false,
"errors" : true,
"forward" : {
"force_tcp" : true,
"parameters" : "__PILLAR__CLUSTER__DNS__"
},
"health" : {
"port" : 8080
},
"log" : {
"classes" : "all",
"format" : "combined"
},
"prometheus" : true,
"reload" : true
},
"zone" : "cluster.local:53"
} ]
},
"flavor1" : {
"description" : "High avaiable",
"is_default" : true,
"name" : "HA",
"replicas" : 2,
"resources" : [ {
"limitsCpu" : "250m",
"limitsMem" : "512Mi",
"name" : "node-local-dns-admission-controller",
"replicas" : 2,
"requestsCpu" : "250m",
"requestsMem" : "512Mi"
}, {
"limitsCpu" : "500m",
"limitsMem" : "512Mi",
"name" : "node-local-dns-cache",
"requestsCpu" : "25m",
"requestsMem" : "5Mi"
} ],
"size" : "large"
},
"flavor2" : {
"description" : "Has only one instance",
"name" : "Single",
"replicas" : 1,
"resources" : [ {
"limitsCpu" : "250m",
"limitsMem" : "512Mi",
"name" : "node-local-dns-admission-controller",
"replicas" : 1,
"requestsCpu" : "250m",
"requestsMem" : "512Mi"
}, {
"limitsCpu" : "500m",
"limitsMem" : "512Mi",
"name" : "node-local-dns-cache",
"requestsCpu" : "25m",
"requestsMem" : "5Mi"
} ],
"size" : "small"
},
"flavor3" : {
"description" : "custom resources",
"name" : "custom-resources",
"replicas" : 2,
"resources" : [ {
"limitsCpu" : "250m",
"limitsMem" : "512Mi",
"name" : "node-local-dns-admission-controller",
"replicas" : 2,
"requestsCpu" : "250m",
"requestsMem" : "512Mi"
}, {
"limitsCpu" : "500m",
"limitsMem" : "512Mi",
"name" : "node-local-dns-cache",
"requestsCpu" : "25m",
"requestsMem" : "5Mi"
} ],
"size" : "custom"
}
}
},
"translate" : {
"zh_CN" : {
"description" : {
"Parameters" : {
"flavor1" : {
"description" : "Dual pods for the automatic DNSConfig injection controller increase the reliability of the plug-in.",
"name" : "High availability"
},
"flavor2" : {
"description" : "Single-instance deployment",
"name" : "Single-instance"
},
"flavor3" : {
"description" : "Custom resource specifications for deployment",
"name" : "Custom"
}
},
"Parameters.flavor1.description" : "Dual pods for the automatic DNSConfig injection controller increase the reliability of the plug-in.",
"Parameters.flavor1.name" : "High availability",
"Parameters.flavor2.description" : "Single-instance deployment",
"Parameters.flavor2.name" : "Single-instance",
"Parameters.flavor3.description" : "Custom resource specifications for deployment",
"Parameters.flavor3.name" : "Custom"
},
"key" : null,
"plugintemplate" : {
"changeLog" : "Kubernetes v1.31 is supported. The admission-controller logs have been updated to stdout logs. node-local-dns supports custom health check ports.",
"components" : {
"node-local-dns-admission-controller" : {
"description" : "Automatically adds DNSConfig to pods. The node-local-dNS-cache address is injected into the container's **/etc/resolv.conf** file. The container service then uses the local cache for DNS domain name resolution.",
"kind" : "Deployment"
},
"node-local-dns-cache" : {
"description" : "Deploys a DNS cache proxy on each cluster node to boost DNS performance.",
"kind" : "DaemonSet"
}
},
"description" : "NodeLocal DNSCache is a set of daemons running on cluster nodes. NodeLocal DNSCache improves cluster DNS performance by using DNS cache proxies."
}
}
}
} ],
"logoURL" : "https://obs.com/plugintemplates/node-local-dnslogo.svg"
}
} ]
}</pre>
</div>
<div class="section"><h4 class="sectiontitle">Example Responses</h4><p><strong>Status code: 200</strong></p>
<p>Request succeeded.</p>
<pre class="screen">{
"kind" : "PluginTemplateList",
"apiVersion" : "v2",
"items" : [ {
"kind" : "PluginTemplate",
"apiVersion" : "v2",
"metadata" : {
"name" : "node-local-dns",
"annotations" : {
"os.modelarts.plugin/release.name" : "NodeLocal DNSCache"
}
},
"spec" : {
"optional" : true,
"versions" : [ {
"version" : "1.6.63",
"description" : "NodeLocal DNSCache improves Cluster DNS performance by running a dns caching agent on cluster nodes as a DaemonSet.",
"creationTimestamp" : "2023-05-20T08:50:31Z",
"inputs" : {
"parameters" : {
"custom" : {
"annotations" : { },
"enable_dnsconfig_admission" : true,
"enable_namespace_admission" : true,
"image" : {
"args" : {
"healthPort" : 8080,
"interfaceName" : "nodelocaldns",
"setupIptables" : false,
"skipTeardown" : true,
"skipteardown" : true,
"syncInterval" : "1ns",
"upstreamSvc" : "coredns"
},
"name" : "node-cache",
"pullPolicy" : "Always"
},
"multiAZBalance" : false,
"multiAZEnabled" : false,
"nameserver" : "",
"ndots" : "5",
"node_match_expressions" : [ ],
"search" : "",
"tolerations" : [ {
"effect" : "NoExecute",
"key" : "node.kubernetes.io/not-ready",
"operator" : "Exists",
"tolerationSeconds" : 60
}, {
"effect" : "NoExecute",
"key" : "node.kubernetes.io/unreachable",
"operator" : "Exists",
"tolerationSeconds" : 60
} ],
"zones" : [ {
"plugins" : {
"cache" : {
"denial" : { },
"parameters" : 30,
"prefetch" : { },
"server_stale" : false,
"success" : { }
},
"debug" : false,
"errors" : true,
"forward" : {
"expire" : "",
"force_tcp" : false,
"health_check" : "",
"max_fails" : "",
"parameters" : "__PILLAR__UPSTREAM__SERVERS__",
"policy" : "",
"prefer_udp" : false
},
"log" : {
"classes" : "all",
"format" : "combined"
},
"prometheus" : true,
"reload" : true
},
"zone" : ".:53"
}, {
"plugins" : {
"cache" : {
"parameters" : 30
},
"debug" : false,
"errors" : true,
"forward" : {
"force_tcp" : true,
"parameters" : "__PILLAR__CLUSTER__DNS__"
},
"log" : {
"classes" : "all",
"format" : "combined"
},
"prometheus" : true,
"reload" : true
},
"zone" : "ip6.arpa:53"
}, {
"plugins" : {
"cache" : {
"parameters" : 30
},
"debug" : false,
"errors" : true,
"forward" : {
"force_tcp" : true,
"parameters" : "__PILLAR__CLUSTER__DNS__"
},
"log" : {
"classes" : "all",
"format" : "combined"
},
"prometheus" : true,
"reload" : true
},
"zone" : "in-addr.arpa:53"
}, {
"plugins" : {
"cache" : {
"denial" : {
"size" : 9984,
"ttl" : 5
},
"parameters" : 30,
"prefetch" : { },
"success" : {
"size" : 9984,
"ttl" : 30
}
},
"debug" : false,
"errors" : true,
"forward" : {
"force_tcp" : true,
"parameters" : "__PILLAR__CLUSTER__DNS__"
},
"health" : {
"port" : 8080
},
"log" : {
"classes" : "all",
"format" : "combined"
},
"prometheus" : true,
"reload" : true
},
"zone" : "cluster.local:53"
} ]
},
"flavor1" : {
"description" : "High avaiable",
"is_default" : true,
"name" : "HA",
"replicas" : 2,
"resources" : [ {
"limitsCpu" : "250m",
"limitsMem" : "512Mi",
"name" : "node-local-dns-admission-controller",
"replicas" : 2,
"requestsCpu" : "250m",
"requestsMem" : "512Mi"
}, {
"limitsCpu" : "500m",
"limitsMem" : "512Mi",
"name" : "node-local-dns-cache",
"requestsCpu" : "25m",
"requestsMem" : "5Mi"
} ],
"size" : "large"
},
"flavor2" : {
"description" : "Has only one instance",
"name" : "Single",
"replicas" : 1,
"resources" : [ {
"limitsCpu" : "250m",
"limitsMem" : "512Mi",
"name" : "node-local-dns-admission-controller",
"replicas" : 1,
"requestsCpu" : "250m",
"requestsMem" : "512Mi"
}, {
"limitsCpu" : "500m",
"limitsMem" : "512Mi",
"name" : "node-local-dns-cache",
"requestsCpu" : "25m",
"requestsMem" : "5Mi"
} ],
"size" : "small"
},
"flavor3" : {
"description" : "custom resources",
"name" : "custom-resources",
"replicas" : 2,
"resources" : [ {
"limitsCpu" : "250m",
"limitsMem" : "512Mi",
"name" : "node-local-dns-admission-controller",
"replicas" : 2,
"requestsCpu" : "250m",
"requestsMem" : "512Mi"
}, {
"limitsCpu" : "500m",
"limitsMem" : "512Mi",
"name" : "node-local-dns-cache",
"requestsCpu" : "25m",
"requestsMem" : "5Mi"
} ],
"size" : "custom"
}
}
},
"translate" : {
"zh_CN" : {
"description" : {
"Parameters" : {
"flavor1" : {
"description" : "Dual pods for the automatic DNSConfig injection controller increase the reliability of the plug-in.",
"name" : "High availability"
},
"flavor2" : {
"description" : "Single-instance deployment",
"name" : "Single-instance"
},
"flavor3" : {
"description" : "Custom resource specifications for deployment",
"name" : "Custom"
}
},
"Parameters.flavor1.description" : "Dual pods for the automatic DNSConfig injection controller increase the reliability of the plug-in.",
"Parameters.flavor1.name" : "High availability",
"Parameters.flavor2.description" : "Single-instance deployment",
"Parameters.flavor2.name" : "Single-instance",
"Parameters.flavor3.description" : "Custom resource specifications for deployment",
"Parameters.flavor3.name" : "Custom"
},
"key" : null,
"plugintemplate" : {
"changeLog" : "Kubernetes v1.31 is supported. The admission-controller logs have been updated to stdout logs. node-local-dns supports custom health check ports.",
"components" : {
"node-local-dns-admission-controller" : {
"description" : "Automatically adds DNSConfig to pods. The node-local-dNS-cache address is injected into the container's **/etc/resolv.conf** file. The container service then uses the local cache for DNS domain name resolution.",
"kind" : "Deployment"
},
"node-local-dns-cache" : {
"description" : "Deploys a DNS cache proxy on each cluster node to boost DNS performance.",
"kind" : "DaemonSet"
}
},
"description" : "NodeLocal DNSCache is a set of daemons running on cluster nodes. NodeLocal DNSCache improves cluster DNS performance by using DNS cache proxies."
}
}
}
} ],
"logoURL" : "https://obs.com/plugintemplates/node-local-dnslogo.svg"
}
} ]
}</pre>
<p><strong>Status code: 404</strong></p>
<p>Not found.</p>
<pre class="screen">{
"error_code" : "ModelArts.50005101",
"error_msg" : "Plugintemplate {name} not found."
}</pre>
</div>
<div class="section"><h4 class="sectiontitle">Status Codes</h4>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000002374896517__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>200</p>
</td>
<td class="cellrowborder" valign="top" width="85%" headers="mcps1.3.7.2.1.3.1.2 "><p>Request succeeded.</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>
</tbody>
</table>
</div>
</div>
<div class="section"><h4 class="sectiontitle">Error Codes</h4><p>See <a href="modelarts_03_0095.html">Error Codes</a>.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="plugintemplate_management.html">Plug-in Template Management</a></div>
</div>
</div>