Query Plug-in Templates
Function
This API is used to obtain plug-in templates.
URI
GET /v2/{project_id}/plugintemplates
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. For details, see Obtaining a Project ID and Name. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
templateName |
No |
String |
Plug-in name. If this parameter is set, the plug-in with the specified name is queried. |
poolName |
No |
String |
Resource pool name. If this parameter is set, the list of plug-ins that meet the resource pool's installation requirements is queried. |
Request Parameters
None
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
kind |
String |
API type. The value is fixed at PluginTemplateList and cannot be changed. |
apiVersion |
String |
API version. The value is fixed at v2 and cannot be changed. |
items |
Array of PluginTemplateV2 objects |
List of plug-in templates. |
Parameter |
Type |
Description |
---|---|---|
apiVersion |
String |
API version. Options:
|
kind |
String |
Resource type. Options:
|
metadata |
PluginTemplateMetadata object |
Plug-in template metadata. |
spec |
PluginTemplateSpecV2 object |
Detailed information about the plug-in template, for example, the version list. |
Parameter |
Type |
Description |
---|---|---|
name |
String |
Plug-in template name |
annotations |
Map<String,String> |
Plug-in template annotations in the format of key-value pairs. |
Parameter |
Type |
Description |
---|---|---|
optional |
Boolean |
Controls whether the plug-in is mandatory. |
type |
String |
Plug-in template type. Options:
|
logoURL |
String |
URL of the logo image. |
description |
String |
Plug-in template description. |
versions |
Array of PluginTemplateVersionV2 objects |
Details about the plug-in template version. |
Parameter |
Type |
Description |
---|---|---|
version |
String |
Version number of the plug-in template. |
creationTimestamp |
String |
Creation time. |
inputs |
Object |
Plug-in installation parameters. |
translate |
Object |
Translation information used by the GUI. |
description |
String |
Version description. |
detail |
String |
Version description. |
Status code: 404
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error code |
error_msg |
String |
Error message |
Example Requests
The following is an example of how to query details about node-local-dns plug-in templates.
/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" } } ] }
Example Responses
Status code: 200
Request succeeded.
{ "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" } } ] }
Status code: 404
Not found.
{ "error_code" : "ModelArts.50005101", "error_msg" : "Plugintemplate {name} not found." }
Status Codes
Status Code |
Description |
---|---|
200 |
Request succeeded. |
404 |
Not found. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.