对外接口
<p>[TOC]</p>
<h4>一、简要描述</h4>
<ul>
<li>cmdb对外接口</li>
</ul>
<h4>二、请求URL</h4>
<ul>
<li><code>http://10.52.181.25:8080/ops/customize/cmdbScriptApi</code></li>
</ul>
<h4>三、请求协议</h4>
<ul>
<li>HTTP</li>
</ul>
<h4>四、请求方式</h4>
<ul>
<li>POST</li>
</ul>
<h4>五、请求头部</h4>
<ul>
<li>Content-Type :application/json</li>
</ul>
<h4>六、请求参数</h4>
<h5>1、新增/修改模型</h5>
<h6>参数</h6>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">publicClass</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>方法名(新增:addModel/修改:updateModel)</td>
</tr>
<tr>
<td style="text-align: left;">objectId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>模型id</td>
</tr>
<tr>
<td style="text-align: left;">name</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>模型名字</td>
</tr>
</tbody>
</table>
<h6>参数示例</h6>
<pre><code>{
"publicClass": "updateModel",
"objectId": "HOST",
"name": "主机"
}</code></pre>
<h5>2、删除模型</h5>
<h6>参数</h6>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">publicClass</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>方法名(deleteModel)</td>
</tr>
<tr>
<td style="text-align: left;">objectId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>模型id</td>
</tr>
</tbody>
</table>
<h6>参数示例</h6>
<pre><code>{
"publicClass": "deleteModel",
"objectId": "HOST"
}</code></pre>
<h5>3、新增/修改模型属性</h5>
<h6>参数</h6>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">publicClass</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>方法名(新增:addAttribute/修改:updateAttribute)</td>
</tr>
<tr>
<td style="text-align: left;">objectId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>模型id</td>
</tr>
<tr>
<td style="text-align: left;">attributeList</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">list</td>
<td>属性信息</td>
</tr>
</tbody>
</table>
<h6>参数示例</h6>
<pre><code>{
"publicClass": "updateAttribute",
"objectId": "HOST",
"attributeList": [
{
"inheritObjectId": "",
"custom": "false",
"description": "",
"notifyDenied": false,
"isInherit": false,
"required": "true",
"tips": "",
"protected": true,
"readonly": "false",
"wordIndexDenied": false,
"unique": "false",
"name": "主机名",
"id": "hostname",
"tag": [
"默认属性"
],
"value": {
"mode": "default",
"struct_define": [ ],
"default_type": "value",
"prefix": "",
"start_value": 0,
"type": "str",
"series_number_length": 0
}
},
{
"inheritObjectId": "",
"custom": "false",
"description": "",
"notifyDenied": false,
"isInherit": false,
"required": "false",
"tips": "",
"protected": true,
"readonly": "false",
"wordIndexDenied": false,
"unique": "false",
"name": "agent版本",
"id": "agentVersion",
"tag": [
"默认属性"
],
"value": {
"mode": "default",
"struct_define": [ ],
"default_type": "value",
"prefix": "",
"start_value": 0,
"type": "str",
"series_number_length": 0
}
}
]
}</code></pre>
<h5>4、删除模型属性</h5>
<h6>备注</h6>
<ul>
<li>只删除模型和属性的关系</li>
</ul>
<h6>参数</h6>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">publicClass</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>方法名(deleteModelAttribute)</td>
</tr>
<tr>
<td style="text-align: left;">objectId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>模型id</td>
</tr>
<tr>
<td style="text-align: left;">idList</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">list</td>
<td>属性id</td>
</tr>
</tbody>
</table>
<h6>参数示例</h6>
<pre><code>{
"publicClass": "deleteModelAttribute",
"objectId": "HOST",
"idList": [
"hostname",
"agentVersion"
]
}</code></pre>
<h5>5、新增/修改实例</h5>
<h6>参数</h6>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">publicClass</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>方法名(新增:addExample/修改:updateExample)</td>
</tr>
<tr>
<td style="text-align: left;">objectId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>模型id</td>
</tr>
<tr>
<td style="text-align: left;">exampleList</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">list</td>
<td>实例信息</td>
</tr>
</tbody>
</table>
<h6>参数示例</h6>
<pre><code>{
"publicClass": "addExample",
"objectId": "HOST",
"exampleList": [
{
"_agentHeartBeat": -1,
"_agentStatus": "未安装",
"_object_id": "HOST",
"_object_version": 38,
"_orderIP_ip": "00000000000000000BOiMM",
"_ts": 1637044809,
"_version": 1,
"creator": "easyops",
"ctime": "2021-11-16 14:40:09",
"deviceId": "5d0e2325d5096",
"hostname": "f2c-test2",
"instanceId": "5d0e2325d5096",
"ip": "10.10.10.10",
"org": 212100709
}
]
}</code></pre>
<h5>4、删除实例</h5>
<h6>参数</h6>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">publicClass</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>方法名(deleteExample)</td>
</tr>
<tr>
<td style="text-align: left;">objectId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>模型id</td>
</tr>
<tr>
<td style="text-align: left;">instanceIdList</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">list</td>
<td>实例id</td>
</tr>
</tbody>
</table>
<h6>参数示例</h6>
<pre><code>{
"publicClass": "deleteExample",
"objectId": "HOST",
"instanceIdList": [
"5d0e2325d5096"
]
}</code></pre>
<h5>返回示例</h5>
<pre><code> {
"errorCode": 0,
"message": "success",
"responseBody": {
"result": "成功"
},
"time": 1643092984178
}</code></pre>
<h4>七、返回参数说明</h4>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">errorCode</td>
<td style="text-align: left;">int</td>
<td>0 为成功,其他为失败</td>
</tr>
<tr>
<td style="text-align: left;">message</td>
<td style="text-align: left;">string</td>
<td>成功时,返回 success,失败则返回错误信息</td>
</tr>
<tr>
<td style="text-align: left;">time</td>
<td style="text-align: left;">long</td>
<td>响应时间</td>
</tr>
<tr>
<td style="text-align: left;">responseBody</td>
<td style="text-align: left;">object</td>
<td>返回结果集</td>
</tr>
</tbody>
</table>
<h4>八、备注</h4>
<ul>
<li>objectId 第三方模型id</li>
<li>attributeList 第三方模型信息</li>
<li>exampleList 第三方实例信息</li>
</ul>