文档目录

脚本库

概览

脚本库:脚本库集中存储和管理自动化脚本文件。对云主机执行脚本,可以完成复杂的运维操作和自动化任务。

图 1所示:
图 1. 脚本库


功能优势

ZStack Cloud脚本库功能具有以下优势:
  • 简单易用
    • 支持以可视化方式快速创建脚本,并通过自定义参数实现脚本灵活配置。
    • 脚本内可以包含复杂命令,为云主机一键执行脚本,即可完成复杂的运维操作,例如:应用健康检查、平台电源负载均衡 (节能) 与调度、应用程序批量更新、灰度发布等,提高管理便利性,降低人工运维成本。
  • 便捷运维
    • 提供专门的脚本库页面,对脚本进行集中生命周期管理。用户可以在脚本库中灵活地创建、修改或删除脚本。
    • 创建好的脚本可以长期保存,重复使用;一个脚本可以同时在多台云主机执行、互不影响,有效提升大规模场景运维效率。
    • 提供丰富、详细的脚本执行记录,包括运行过该脚本的云主机、运行时间、结束时间、运行时配置和结果返回,便于操作回溯和问题定位。
  • 类型丰富:支持多种命令类型,包括:Shell、Python、Perl、Bat、Powershell,用户可根据实际需求,灵活选用。

清单

属性 (Properties)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 资源的UUID,唯一标示该资源 5.2.0
name 资源名称 5.2.0
description 资源的详细描述 5.2.0
scriptContent 脚本内容 5.2.0
renderParams 参数 5.2.0
platform 平台 5.2.0
scriptType 类型 5.2.0
scriptTimeout 超时时间 5.2.0
createDate 创建时间 5.2.0
lastOpDate 最后操作时间 5.2.0
userTags 用户标签 5.2.0
systemTags 系统标签 5.2.0
groupBy 5.2.0

脚本执行记录清单 (Guest VM Script Execution Record Inventory)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 资源的UUID,唯一标示该资源 5.2.0
scriptUuid 脚本uuid 5.2.0
recordName 记录名称 5.2.0
scriptTimeout 超时时间 5.2.0
status 状态 5.2.0
executor 执行人 5.2.0
executionCount 执行次数 5.2.0
version 版本 5.2.0
scriptContent 脚本内容 5.2.0
startTime 开始时间 5.2.0
endTime 结束时间 5.2.0
tagUuid 标签UUID列表 5.2.0
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 5.2.0
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 5.2.0
groupBy 5.2.0

示例

{
    "inventories": [
        {
            "endTime": "Sep 4, 2024 5:42:39 PM",
            "executionCount": 1,
            "executor": "admin",
            "recordName": "20240904053437_system_info.ps1",
            "scriptTimeout": 480,
            "scriptUuid": "94e251dbd63f43d79077d62edfc694f0",
            "startTime": "Sep 4, 2024 5:34:37 PM",
            "status": "Failed",
            "uuid": "de2ea20623b545699d4f8d7561f8dd8f",
            "version": 3
        }
    ],
    "success": true
}

脚本执行记录明细清单 (Guest VM Script Execution Record Details Inventory)

名字 描述 可选的 可选的参数值 起始支持版本
recordUuid 记录UUID 5.2.0
vmInstanceUuid 云主机UUID 5.2.0
vmName 云主机名称 5.2.0
status 状态 5.2.0
exitCode 退出code 5.2.0
stdout 标准输出 5.2.0
errCause 错误原因 5.2.0
stderr 错误输出 5.2.0
startTime 开始时间 5.2.0
endTime 结束时间 5.2.0
tagUuid 标签UUID列表 5.2.0
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 5.2.0
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 5.2.0
groupBy 5.2.0

示例

{
  "inventories": [
    {
      "recordUuid": "ab90a0142aef36fd97c3c759bc7e459d",
      "vmInstanceUuid": "4708f0f6f76e39e882886241761d0c27",
      "status": "Completed",
      "stdout": "helloworld",
      "errCause": "",
      "stderr": "1/0 is not a goodScript",
      "startTime": "Sep 23, 2024 11:53:03 AM",
      "endTime": "Sep 23, 2024 11:53:03 AM"
    }
  ]
}

操作 (Operations)

创建脚本(CreateGuestVmScript)

用户可以使用CreateGuestVmScript创建脚本。例如:
CreateGuestVmScript name=script1 scriptContent=ZWNobyBoZWxsb3dvcmxkCg== platform=Linux scriptType=Shell scriptTimeout=30

参数(Parameters)

名字 描述 可选的 可选的参数值 起始支持版本
name 资源名称 5.2.0
description 资源的详细描述 5.2.0
scriptContent 脚本内容 5.2.0
renderParams 参数 5.2.0
platform 平台 5.2.0
scriptType 脚本类型 5.2.0
scriptTimeout 超时时间 5.2.0
resourceUuid 资源UUID 5.2.0
tagUuids 标签UUID列表 5.2.0
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 5.2.0
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 5.2.0
timeout

删除脚本(DeleteGuestVmScript)

用户可以使用DeleteGuestVmScript删除脚本。例如:
DeleteGuestVmScript uuid=ed1ef717239e37c29163dcad7576b8d4

参数(Parameters)

名字 描述 可选的 可选的参数值 起始支持版本
name 资源名称 5.2.0
deleteMode 删除模式
  • Permissive
  • Enforcing,Permissive
5.2.0
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 5.2.0
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 5.2.0
timeout

更新脚本(UpdateGuestVmScript)

用户可以使用UpdateGuestVmScript更新脚本。例如:
UpdateGuestVmScript uuid=110b774720573fd6aec8ec70b669ffb8 scriptContent=ls

参数(Parameters)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 资源的UUID,唯一标示该资源 5.2.0
name 资源名称 5.2.0
description 资源的详细描述 5.2.0
scriptContent 脚本内容 5.2.0
renderParams 参数 5.2.0
platform 平台 5.2.0
scriptType 脚本类型 5.2.0
scriptTimeout 超时时间 5.2.0
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 5.2.0
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 5.2.0
timeout

执行脚本(ExecuteGuestVmScript)

用户可以使用ExecuteGuestVmScript执行脚本。例如:
ExecuteGuestVmScript uuid=f9f25df251013694bbbf68bb42b1bde1 vmInstanceUuids=c9cc2aa748383595b144d9d12ff3abb2

参数(Parameters)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 资源的UUID,唯一标示该资源 5.2.0
vmInstanceUuids 云主机UUID 5.2.0
scriptTimeout 超时时间 5.2.0
logPath 日志路径 5.2.0
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 5.2.0
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 5.2.0
timeout

查询脚本(QueryGuestVmScript)

用户可以使用QueryGuestVmScript查询脚本。例如:
QueryGuestVmScript name=script1

原生域查询(Primitive Fields of Query)

请参见Guest Vm Script Inventory

查询脚本执行记录(QueryGuestVmScriptExecutedRecord)

用户可以使用QueryGuestVmScriptExecutedRecord查询脚本执行记录。例如:
QueryGuestVmScriptExecutedRecord scriptUuid=94e251dbd63f43d79077d62edfc694f0

原生域查询(Primitive Fields of Query)

请参见脚本执行记录清单 (Guest VM Script Execution Record Inventory)

查询脚本执行记录明细(QueryGuestVmScriptExecutedRecordDetail)

用户可以使用QueryGuestVmScriptExecutedRecordDetail查询脚本执行记录明细。例如:
QueryGuestVmScriptExecutedRecordDetail

原生域查询(Primitive Fields of Query)

请参见脚本执行记录明细清单 (Guest VM Script Execution Record Details Inventory)

CLI命令使用手册 | 5.5.30 | ZStack Cloud · ZCF | ZStack 资源中心