AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

SSM 文档插件参考

此参考介绍可在 AWS Systems Manager (SSM) 文档中指定的操作或插件。本参考不包含有关 AWS Systems Manager 自动化文档插件的信息。有关自动化文档插件的信息,请参阅Systems Manager 自动化文档参考

Systems Manager 通过读取 Systems Manager 文档的内容确定在托管实例上执行的操作。每个文档都包含代码执行部分。根据文档的架构版本,此代码执行部分可能包含一个或多个插件或步骤。为了便于理解本帮助主题,我们将这些插件和步骤都称为插件。本部分包含有关每个 Systems Manager 插件的信息。有关文档的更多信息,包括创建文档以及不同架构版本之间区别的信息,请参阅AWS Systems Manager 文档

注意

此处介绍的部分插件仅在 Windows Server 实例或 Linux 实例上运行。应注意每个插件的平台依赖性。

顶级元素

顶级元素通常用于所有 Systems Manager 文档。顶级元素提供 Systems Manager 文档的结构。

属性

schemaVersion

架构的版本。

类型:版本

必需:是

description

关于配置的描述。

类型:字符串

必需:否

parameters

parameters 是一个结构,其中包含处理文档时要执行的一个或多个参数。您可在运行时指定文档中的参数或者使用 Systems Manager Parameter Store 指定参数。有关更多信息,请参阅 AWS Systems Manager Parameter Store

类型:结构

parameters 结构接受以下字段和值:

  • type:(必需) 允许的值包括:StringStringListBooleanIntegerMapListStringMap。要查看每种类型的示例,请参阅下一节中的 type 示例

  • description:(可选) 关于参数的描述。

  • default:(可选) 参数的默认值或对 Parameter Store 中参数的引用。

  • allowedValues:(可选) 参数的允许值。

  • allowedPattern:(可选) 参数必须匹配的正则表达式。

  • displayType:(可选) 用于在 AWS 控制台中显示 textfieldtextareatextfield 是单行文本框。textarea 是多行文本区域。

  • minItems:(可选) 允许的最小项目数。

  • maxItems:(可选) 允许的最大项目数。

  • minChars:(可选) 允许的最小参数字符数。

  • maxChars:(可选) 允许的最大参数字符数。

runtimeConfig

(仅限 1.2 版架构) 由一个或多个 Systems Manager 插件应用的实例的配置。不保证插件按顺序运行。

类型:Dictionary<string,PluginConfiguration>

必需:否

mainSteps

(仅限 0.3、2.0 和 2.2 版架构) 由一个或多个 Systems Manager 插件应用的实例的配置。插件按照步骤内的操作 进行组织。步骤按文档中列出的先后顺序执行。

类型:Dictionary<string,PluginConfiguration>

必需:否

type 示例

此节包括每个参数 type 的示例。

type 描述 示例 示例使用案例

字符串

使用双引号括起来的零个或多个 Unicode 字符序列。使用反斜杠转义。

"i-1234567890abcdef0"

"InstanceId":{ "type":"String", "description":"(Required) The target EC2 instance ID." }

StringList

以逗号分隔的 String 项目列表

["cd ~", "pwd"]

"commands":{ "type":"StringList", "description":"(Required) Specify a shell script or a command to run.", "minItems":1, "displayType":"textarea" },

Boolean

仅接受 truefalse。不接受 "true" 或 0。

true

"canRun": { "type": "Boolean", "description": "", "default": true, }

整数

整数。不接受小数 (如 3.14159) 或使用双引号括起来的数 (如 "3")。

39 或 -5

"timeout": { "type": "Integer", "description": "The type of action to perform.", "default": 100 }

StringMap

键到值的映射。键只能为字符串。例如:{ "type": "object" }

{ "NotificationType":"Command", "NotificationEvents":[ "Failed" ], "NotificationArn":"$dependency.topicArn" }
"notificationConfig" : { "type" : "StringMap", "description" : "The configuration for events to be notified about", "default" : { "NotificationType" : "Command", "NotificationEvents" : ["Failed"], "NotificationArn" : "$dependency.topicArn" }, "maxChars" : 150 }

MapList

StringMap 项目的列表。

[ { "DeviceName" : "/dev/sda1", "Ebs" : { "VolumeSize" : "50" } }, { "DeviceName" : "/dev/sdm", "Ebs" : { "VolumeSize" : "100" } } ]
"blockDeviceMappings" : { "type" : "MapList", "description" : "The mappings for the create image inputs", "default" : [{"DeviceName":"/dev/sda1","Ebs":{"VolumeSize":"50"}},{"DeviceName":"/dev/sdm","Ebs":{ "VolumeSize":"100"}}], "maxItems": 2 }

aws:applications

在 EC2 实例上安装、修复或卸载应用程序。此插件仅在 Microsoft Windows Server 操作系统中运行。有关更多信息,请参阅 AWS Systems Manager 文档

语法

"runtimeConfig":{ "aws:applications":{ "properties":[ { "id":"0.aws:applications", "action":"{{ action }}", "parameters":"{{ parameters }}", "source":"{{ source }}", "sourceHash":"{{ sourceHash }}" } ] }

属性

action

要执行的操作。

类型:Enum

有效值:Install | Repair | Uninstall

必需:是

参数

安装程序的参数。

类型:字符串

必需:否

source

应用程序的 .msi 文件的 URL。

类型:字符串

必需:是

sourceHash

.msi 文件的 SHA256 哈希值。

类型:字符串

必需:否

aws:cloudWatch

将数据从 Windows Server 导出到 Amazon CloudWatch 或 Amazon CloudWatch Logs,并使用 CloudWatch 指标监控数据。此插件仅在 Microsoft Windows Server 操作系统中运行。有关配置 CloudWatch 与 Amazon EC2 的集成的更多信息,请参阅向 Amazon CloudWatch 发送日志、事件和性能计数器。有关文档的更多信息,请参阅 AWS Systems Manager 文档

您可以导出并监控以下数据类型:

ApplicationEventLog

将应用程序事件日志数据发送到 CloudWatch Logs。

CustomLogs

将任何基于文本的日志文件发送到 CloudWatch 日志。CloudWatch 插件会为日志文件创建指纹。系统随后将数据偏移与每个指纹进行关联。该插件会在出现更改时上传文件,记录偏移,然后将该偏移与指纹关联。此方法用于避免出现这种情况:用户启用插件后,将服务与包含大量文件的目录关联,然后系统会上传所有文件。

警告

请注意,如果应用程序在轮询期间截断或尝试清除日志,为 LogDirectoryPath 指定的任何日志都可能丢失条目。例如,如果您要限制日志文件大小,请在达到此限制时创建新的日志文件,然后继续将数据写入新文件。

ETW

将 Windows 事件跟踪 (ETW) 数据发送到 CloudWatch Logs。不支持 Microsoft Windows Server 2003。

IIS

将 IIS 日志数据发送到 CloudWatch Logs。

PerformanceCounter

将 Windows 性能计数器发送到 CloudWatch。您可以选择不同类别作为指标上传到 CloudWatch。对于要上传的每个性能计数器,创建具有唯一 ID 的 PerformanceCounter 部分 (例如“PerformanceCounter2”、“PerformanceCounter3”等),然后配置其属性。

注意

如果 SSM 代理或 CloudWatch 插件已停止,则性能计数器数据不再记录到 CloudWatch 中,此行为不同于自定义日志或 Windows 事件日志。自定义日志和 Windows 事件日志会保留性能计数器数据,并在 SSM 代理或 CloudWatch 插件可用时将其上传到 CloudWatch。

SecurityEventLog

将安全事件日志数据发送到 CloudWatch Logs。

SystemEventLog

将系统事件日志数据发送到 CloudWatch Logs。

可为数据定义以下目标:

CloudWatch

发送性能计数器指标数据时所在的目标。可添加具有唯一 ID 的更多部分 (例如,“CloudWatch2”和“CloudWatch3”等),并为每个新 ID 指定一个不同的区域,将相同数据发送到不同位置。

CloudWatchLogs

发送日志数据时所在的目标。可添加具有唯一 ID 的更多部分 (例如,“CloudWatchLogs2”和“CloudWatchLogs3”等),并为每个新 ID 指定一个不同的区域,将相同数据发送到不同位置。

语法

"runtimeConfig":{ "aws:cloudWatch":{ "settings":{ "startType":"{{ status }}" }, "properties":"{{ properties }}" } }

设置和属性

AccessKey

您的访问密钥 ID。如果未使用 IAM 角色启动实例,则必须指定此属性。此属性不能与 SSM 一起使用。

类型:字符串

必需:否

CategoryName

性能监视器提供的性能计数器类别。

类型:字符串

必需:是

CounterName

性能监视器提供的性能计数器名称。

类型:字符串

必需:是

CultureName

记录该时间戳的区域位置。如果 CultureName 为空,则它默认为您的 Windows Server 实例当前所使用的相同区域位置。

类型:字符串

有效值:有关支持的值的列表,请参阅 Microsoft 网站上的国家语言支持 (NLS)。请注意,不支持 divdiv-MVhuhu-HU 值。

必需:否

DimensionName

Amazon CloudWatch 指标的维度。如果您要指定 DimensionName,则必须指定 DimensionValue。这些参数在列出指标时提供另一个视图。您可以对多个指标使用同一个维度,以便查看属于特定维度的所有指标。

类型:字符串

必需:否

DimensionValue

Amazon CloudWatch 指标的维度值。

类型:字符串

必需:否

编码

要使用的文件编码 (例如 UTF-8)。使用编码名称,而不是显示名称。

类型:字符串

有效值:有关支持的值的列表,请参阅 MSDN 库中的 Encoding 类主题。

必需:是

筛选

日志名称的前缀。将此参数留空以监控所有文件。

类型:字符串

有效值:有关支持的值的列表,请参阅 MSDN 库中的 FileSystemWatcherFilter 属性主题。

必需:否

Flows

要上传的每个数据类型以及数据的目标 (CloudWatch 或 CloudWatch Logs)。例如,要将在 "Id": "PerformanceCounter" 下定义的性能计数器发送到在 "Id": "CloudWatch" 下定义的 CloudWatch 目标,请输入 "PerformanceCounter,CloudWatch"。同样,要将自定义日志、ETW 日志和系统日志发送到在 "Id": "ETW" 下定义的 CloudWatch Logs 目标,请输入 "(ETW),CloudWatchLogs"。此外,还可以将相同性能计数器或日志文件发送到多个目标。例如,要将应用程序日志发送到在 "Id": "CloudWatchLogs""Id": "CloudWatchLogs2" 下定义的两个不同目标,请输入 "ApplicationEventLog,(CloudWatchLogs, CloudWatchLogs2)"

类型:字符串

有效值 (源):ApplicationEventLog | CustomLogs | ETW | PerformanceCounter | SystemEventLog | SecurityEventLog

有效值 (目标):CloudWatch | CloudWatchLogs | CloudWatchn | CloudWatchLogsn

必需:是

FullName

组件的完整名称。

类型:字符串

必需:是

Id

标识数据源或目标。此标识符在配置文件中必须是唯一的。

类型:字符串

必需:是

InstanceName

性能计数器实例的名称。请勿使用星号 (*) 标识所有实例,因为每个性能计数器组件仅支持一个指标。不过可以使用 _Total

类型:字符串

必需:是

级别

发送到 Amazon CloudWatch 的消息的类型。

类型:字符串

有效值:

  • 1 – 仅上传错误消息。

  • 2 – 仅上传警告消息。

  • 4 – 仅上传信息消息。

请注意,您可以将这些值加在一起以包含多种类型的消息。例如,3 表示将包含错误消息 (1) 和警告消息 (2)。值 7 表示将包含错误消息 (1)、警告消息 (2) 和信息消息 (4)。

必需:是

注意

应将 Windows 安全日志的级别设置为 7。

LineCount

标识日志文件的标头中的行数。例如,IIS 日志文件拥有几乎相同的标头。您可以输入 3,系统会读取日志文件标头的前三行以进行识别。在 IIS 日志文件中,第三行是日期和时间戳,各日志文件的日期和时间戳互不相同。

类型:整数

必需:否

LogDirectoryPath

对于 CustomLogs,这是日志在 Amazon EC2 实例上的存储路径。对于 IIS 日志,这是为单个站点存储 IIS 日志的文件夹 (例如 C:\\inetpub\\logs\\LogFiles\\W3SVCn)。对于 IIS 日志,仅支持 W3C 日志格式。不支持 IIS、NCSA 和自定义格式。

类型:字符串

必需:是

LogGroup

日志组的名称。此名称会显示在 CloudWatch 控制台的 Log Groups 屏幕上。

类型:字符串

必需:是

LogName

日志文件的名称。

  1. 要查找日志的名称,请在事件查看器的导航窗格中,单击 Applications and Services Logs (应用程序和服务日志)

  2. 在日志列表中,右键单击要上传的日志 (例如“Microsoft>Windows>备份>可操作”),然后单击创建自定义视图

  3. Create Custom View (创建自定义视图) 对话框中,单击 XML 选项卡。LogName 位于 <Select Path=> 标签中 (例如 Microsoft-Windows-Backup)。将此文本复制到 LogName 参数。

类型:字符串

有效值:Application | Security | System | Microsoft-Windows-WinINet/Analytic

必需:是

LogStream

目标日志流。如果使用默认值 {instance_id},则将该实例的实例 ID 用作日志流名称。

类型:字符串

有效值:{instance_id} | {hostname} | {ip_address} <log_stream_name>

如果输入不存在的日志流名称,则 CloudWatch Logs 会自动创建该名称。您可以使用文字字符串或预定义的变量 ({instance_id}{hostname}{ip_address}),或所有这三个变量的组合来定义日志流名称。

此参数中指定的日志流名称会显示在 CloudWatch 控制台中的 Log Groups > Streams for <YourLogStream> 屏幕上。

必需:是

MetricName

您希望性能数据在其下显示的 CloudWatch 指标。

注意

不要在名称中使用特殊字符。如果您这样做,指标和相关警报可能无法正常工作。

类型:字符串

必需:是

NameSpace

您希望将写入性能计数器数据的指标命名空间。

类型:字符串

必需:是

PollInterval

必须在多少秒之后才能上传新性能计数器和日志数据。

类型:整数

有效值:将其设置为 5 秒或 5 秒以上。建议设置为十五秒 (00:00:15)。

必需:是

区域

要发送日志数据的 AWS 区域。虽然可以将性能计数器发送到与日志数据发送目标不同的区域,但是我们建议您将此参数设置为运行实例的区域。

类型:字符串

有效值:AWS 区域的区域 ID 支持 Systems Manager 和 CloudWatch Logs,例如 us-west-2eu-west-1ap-southeast-1。有关各个服务支持的 AWS 区域的列表,请参阅 AWS General Reference 中的 AWS Systems ManagerAmazon CloudWatch Logs

必需:是

SecretKey

您的秘密访问密钥。如果未使用 IAM 角色启动实例,则必须指定此属性。

类型:字符串

必需:否

startType

在实例上启用或禁用 CloudWatch。

类型:字符串

有效值:Enabled | Disabled

必需:是

TimestampFormat

要使用的时间戳格式。有关支持的值的列表,请参阅 MSDN 库中的自定义日期和时间格式字符串

类型:字符串

必需:是

TimeZoneKind

在日志时间戳中不包含时区信息时提供时区信息。如果此参数留空且时间戳不包括时区信息,则 CloudWatch Logs 默认为本地时区。如果时间戳已包含时区信息,则忽略此参数。

类型:字符串

有效值:Local | UTC

必需:否

单位

适当的指标计量单位。

类型:字符串

有效值:秒 | 微秒 | 毫秒 | 字节 | 千字节 | 兆字节 | 千兆字节 | 太兆字节 | 位 | 千位 | 兆位 | 千兆位 | 太兆位 | 百分比 | 计数 | 字节/秒 | 千字节/秒 | 兆字节/秒 | 千兆字节/秒 | 太兆字节/秒 | 位/秒 | 千位/秒 | 兆位/秒 | 千兆位/秒 | 太兆位/秒 | 计数/秒 | 无

必需:是

aws:configureDocker

(2.0 版或更高版本架构) 将实例配置为使用容器和 Docker。此插件仅在 Microsoft Windows Server 操作系统中运行。有关更多信息,请参阅 AWS Systems Manager 文档

语法

"mainSteps": [ { "action": "aws:configureDocker", "name": "ConfigureDocker", "inputs": { "action": "{{ action }}" } } ]

输入

action

要执行的操作类型。

类型:Enum

有效值:Install | Uninstall

必需:是

aws:configurePackage

(2.0 版或更高版本架构) 安装或卸载 AWS 程序包。可用的程序包包括:AWSPVDriver、AwsEnaNetworkDriver、IntelSriovDriver、AwsVssComponents、AmazonCloudWatchAgent 和 AWSSupport-EC2Rescue。此插件仅在 Linux 和 Microsoft Windows Server 操作系统中运行。有关更多信息,请参阅 AWS Systems Manager 文档

语法

"mainSteps": [ { "action": "aws:configurePackage", "name": "configurePackage", "inputs": { "name": "{{ name }}", "action": "{{ action }}", "version": "{{ version }}" } } ]

输入

name

要安装或卸载的 AWS 程序包的名称。可用的程序包包括:AWSPVDriver、AwsEnaNetworkDriver、IntelSriovDriver、AwsVssComponents 和 AmazonCloudWatchAgent。

类型:字符串

必需:是

action

安装或卸载程序包。

类型:Enum

有效值:Install | Uninstall

必需:是

version

要卸载或安装的特定版本的程序包。如果要安装,系统默认安装最新发布的版本。如果要卸载,系统默认卸载当前安装的版本。如果没有找到已安装的版本,则会下载最新发布的版本,然后运行卸载操作。

类型:字符串

必需:否

aws:domainJoin

将 Amazon EC2 实例加入域。此插件仅在 Microsoft Windows Server 操作系统中运行。有关更多信息,请参阅 AWS Systems Manager 文档

语法

"runtimeConfig":{ "aws:domainJoin":{ "properties":{ "directoryId":"{{ directoryId }}", "directoryName":"{{ directoryName }}", "directoryOU":"{{ directoryOU }}", "dnsIpAddresses":"{{ dnsIpAddresses }}" } }

属性

directoryId

目录的 ID。

类型:字符串

必需:是

示例:"directoryId": "d-1234567890"

directoryName

域的名称。

类型:字符串

必需:是

示例:"directoryName": "example.com"

directoryOU

组织部门 (OU)。

类型:字符串

必需:否

示例:"directoryOU": "OU=test,DC=example,DC=com"

dnsIpAddresses

DNS 服务器的 IP 地址。

类型:数组

必需:否

示例:"dnsIpAddresses": ["198.51.100.1","198.51.100.2"]

示例

有关示例,请参阅 Amazon EC2 User Guide for Windows Instances 中的将 Windows Server 实例加入 AWS Directory Service 域

aws:downloadContent

(2.0 版或更高版本架构) 从远程位置下载 SSM 文档和脚本。Linux 和 Windows Server 操作系统支持此插件。

语法

"mainSteps": [ { "action":"aws:downloadContent", "name":"downloadContent", "inputs":{ "sourceType":"{{ sourceType }}", "sourceInfo":"{{ sourceInfo }}", "destinationPath":"{{ destinationPath }}" } }

输入

sourceType

下载源。Systems Manager 目前支持通过以下类型的源下载脚本和 SSM 文档:GitHubS3SSMDocument

类型:字符串

必需:是

sourceInfo

从所需源检索内容所需的信息。

类型:StringMap

必需:是

如果 sourceType 为 GitHub,指定以下内容:

  • owner:存储库所有者。

  • repository:存储库的名称。

  • path:您要下载的文件或目录所在的路径。

  • getOptions:从不同的分支或不同提交检索内容的附加选项。此参数采用以下格式:

    • branch:branch_name

      默认为 master

    • commitID:commitID

      默认为 head

  • tokenInfo:存储访问令牌信息的 Systems Manager 参数 (SecureString 参数)。

Example syntax: { "owner":"TestUser", "repository":"GitHubTest", "path": "scripts/python/test-script", "getOptions" : "branch:master", "tokenInfo":"{{ssm-secure:secure-string-token}}" }

如果 sourceType 为 S3,指定以下内容:

  • path:要从 Amazon S3 下载的文件或目录的 URL。

Example syntax: { "path": "https://s3.amazonaws.com/aws-executecommand-test/powershell/helloPowershell.ps1" }

如果 sourceType 为 SSMDocument,指定以下内容之一

  • name:采用以下格式的文档的名称和版本:name:version。版本为可选项。

    Example syntax: { "name": "Example-RunPowerShellScript:3" }
  • name:采用以下格式的文档的 ARN:arn:aws:ssm:region:account_id:document/document_name

    { "name":"arn:aws:ssm:us-west-2:3344556677:document/MySharedDoc" }
destinationPath

实例上的可选本地路径,用于下载文件。如果不指定路径,内容将下载到命令 ID 的相对路径。

类型:字符串

必需:否

aws:psModule

在 EC2 实例上安装 PowerShell 模块。此插件仅在 Microsoft Windows Server 操作系统中运行。有关更多信息,请参阅 AWS Systems Manager 文档

语法

"runtimeConfig":{ "aws:psModule":{ "properties":[ { "id":"0.aws:psModule", "runCommand":"{{ commands }}", "source":"{{ source }}", "sourceHash":"{{ sourceHash }}", "workingDirectory":"{{ workingDirectory }}", "timeoutSeconds":"{{ executionTimeout }}" } ]

属性

runCommand

安装模块之后运行的 PowerShell 命令。

类型:列表或数组

必需:否

source

访问实例上应用程序 .zip 文件的 URL 或本地路径。

类型:字符串

必需:否

sourceHash

.zip 文件的 SHA256 哈希值。

类型:字符串

必需:否

timeoutSeconds

在被视为已失败前命令将运行的时间 (以秒为单位)。

类型:字符串

必需:否

workingDirectory

实例上工作目录的路径。

类型:字符串

必需:否

aws:refreshAssociation

(2.0 版或更高版本架构) 按需刷新 (强制应用) 关联。此操作将根据与目标绑定的所选关联或所有关联的定义更改系统状态。此插件仅在 Linux 和 Microsoft Windows Server 操作系统中运行。有关更多信息,请参阅 AWS Systems Manager 文档

语法

"action":"aws:refreshAssociation", "name":"refreshAssociation", "inputs": { "associationIds": "{{ associationIds }}" }

输入

associationIds

关联 ID 的列表。如果为空,则应用与指定目标绑定的所有关联。

类型:StringList

必需:否

aws:runDockerAction

(2.0 版或更高版本架构) 在容器中运行 Docker 操作。此插件仅在 Linux 和 Microsoft Windows Server 操作系统中运行。有关更多信息,请参阅 AWS Systems Manager 文档

语法

"mainSteps": [ { "action": "aws:runDockerAction", "name": "RunDockerAction", "inputs": { "action": "{{ action }}", "container": "{{ container }}", "image": "{{ image }}", "memory": "{{ memory }}", "cpuShares": "{{ cpuShares }}", "volume": "{{ volume }}", "cmd": "{{ cmd }}", "env": "{{ env }}", "user": "{{ user }}", "publish": "{{ publish }}" }

输入

action

要执行的操作类型。

类型:字符串

必需:是

container

Docker 容器 ID。

类型:字符串

必需:否

image

Docker 映像名称。

类型:字符串

必需:否

cmd

容器命令。

类型:字符串

必需:否

memory

容器内存限制。

类型:字符串

必需:否

cpuShares

容器 CPU 份额 (相对权重)。

类型:字符串

必需:否

volume

容器卷挂载。

类型:StringList

必需:否

env

容器的环境变量。

类型:字符串

必需:否

user

容器的用户名。

类型:字符串

必需:否

publish

容器已发布端口。

类型:字符串

必需:否

aws:runDocument

(2.0 版或更高版本架构) 执行存储在 Systems Manager 或本地共享存储中的 SSM 文档。您可以将此插件与 aws:downloadContent 插件配合使用,以将远程位置的 SSM 文档下载到本地共享存储,然后运行该文档。Linux 和 Windows Server 操作系统支持此插件。

语法

"mainSteps": [ { "action":"aws:runDocument", "name":"runDocument", "inputs":{ "documentType":"{{ documentType }}", "documentPath":"{{ documentPath }}", "documentParameters":"{{ documentParameters }}" } }

输入

documentType

要运行的文档类型。您可以运行本地文档 (LocalPath) 或存储在 Systems Manager (SSMDocument) 中的文档。

类型:字符串

必需:是

documentPath

文档的路径。如果 documentTypeLocalPath,则指定本地共享存储上文档的路径。如果 documentTypeSSMDocument,则指定文档的名称。

类型:字符串

必需:否

documentParameters

文档的参数。

类型:StringMap

必需:否

aws:runPowerShellScript

运行 PowerShell 脚本或者指定要运行的脚本的路径。此插件在 Microsoft Windows 和 Linux 操作系统中运行。有关更多信息,请参阅 AWS Systems Manager 文档

语法

1.2 SSM 文档的语法

"runtimeConfig":{ "aws:runPowerShellScript":{ "properties":[ { "id":"0.aws:runPowerShellScript", "runCommand":"{{ commands }}", "workingDirectory":"{{ workingDirectory }}", "timeoutSeconds":"{{ executionTimeout }}" } ]

2.2 SSM 文档的语法

"mainSteps": [ { "action":"aws:runPowerShellScript", "name:":"step name", "inputs":{ "timeoutSeconds":"Timeout in seconds", "runCommand:":"[Command to execute]" } } ]

下面是 schemaVersion 2.2 的一个示例:

{ "schemaVersion":"2.2", "description":"Simple test document using the aws:runPowerShellScript plugin.", "parameters":{ "Salutation":{ "type":"String", "description":"(Optional) This is an optional parameter that will be displayed in the output of the command if specified.", "allowedPattern":"[a-zA-Z]", "default":"World" } }, "mainSteps":[ { "action":"aws:runPowerShellScript", "name":"DisplaySalutation", "inputs":{ "timeoutSeconds":60, "runCommand":[ "$salutation = '{{ Salutation }}'", "", "if ( [String]::IsNullOrWhitespace( $salutation ) )", "{", " $salutation = 'anonymous'", "}", "", "Write-Host ('Hello {0}' -f $salutation)" ] } } ] }

属性

runCommand

指定要运行的命令或实例上现有脚本的路径。

类型:列表或数组

必需:是

timeoutSeconds

在被视为已失败前命令将运行的时间 (以秒为单位)。

类型:字符串

必需:否

workingDirectory

实例上工作目录的路径。

类型:字符串

必需:否

aws:runShellScript

运行 Linux shell 脚本或者指定要运行的脚本的路径。此插件仅在 Linux 操作系统中运行。有关更多信息,请参阅 AWS Systems Manager 文档

语法

"runtimeConfig":{ "aws:runShellScript":{ "properties":[ { "id":"0.aws:runShellScript", "runCommand":"{{ commands }}", "workingDirectory":"{{ workingDirectory }}", "timeoutSeconds":"{{ executionTimeout }}" } ] }

属性

runCommand

指定要运行的命令或实例上现有脚本的路径。

类型:列表或数组

必需:是

timeoutSeconds

在被视为已失败前命令将运行的时间 (以秒为单位)。

类型:字符串

必需:否

workingDirectory

实例上工作目录的路径。

类型:字符串

必需:否

aws:softwareInventory

(2.0 版或更高版本架构) 从实例中收集应用程序库存、AWS 组件、网络配置、Windows 更新和自定义库存。此插件仅在 Linux 和 Microsoft Windows Server 操作系统中运行。有关更多信息,请参阅 AWS Systems Manager 文档

语法

"mainSteps": [ { "action": "aws:softwareInventory", "name": "collectSoftwareInventoryItems", "inputs": { "applications": "{{ applications }}", "awsComponents": "{{ awsComponents }}", "networkConfig": "{{ networkConfig }}", "windowsUpdates": "{{ windowsUpdates }}", "customInventory": "{{ customInventory }}" } }

输入

applications

收集已安装的应用程序的数据。

类型:字符串

必需:否

awsComponents

收集诸如 amazon-ssm-agent 之类的 AWS 组件的数据。

类型:字符串

必需:否

networkConfig

收集网络配置的数据。

类型:字符串

必需:否

windowsUpdates

收集所有 Windows 更新的数据。

类型:字符串

必需:否

customInventory

收集自定义库存的数据。

类型:字符串

必需:否

aws:updateAgent

将 EC2Config 服务更新到最新版本或指定较旧版本。此插件仅在 Microsoft Windows Server 操作系统中运行。有关 EC2Config 服务的更多信息,请参阅使用 EC2Config 服务配置 Windows 实例。有关文档的更多信息,请参阅 AWS Systems Manager 文档

语法

"runtimeConfig": { "aws:updateAgent": { "properties": { "agentName": "Ec2Config", "source": "https://s3.region.amazonaws.com/aws-ssm-region/manifest.json", "allowDowngrade": "{{ allowDowngrade }}", "targetVersion": "{{ version }}" } } }

属性

agentName

EC2Config。这是运行 EC2Config 服务的代理的名称。

类型:字符串

必需:是

allowDowngrade

允许将 EC2Config 服务降级为早期版本。如果设置为 False,则只能将该服务升级为更新的版本 (默认)。如果设置为 True,则指定早期版本。

类型:布尔值

必需:否

source

Systems Manager 复制要安装的 EC2Config 版本的位置。您无法更改此位置。

类型:字符串

必需:是

targetVersion

要安装的特定版本的 EC2Config 服务。如果未指定,服务将更新到最新版本。

类型:字符串

必需:否

aws:updateSSMAgent

将 SSM 代理更新到最新版本或指定较旧版本。此插件在 Linux 和 Windows Server 操作系统中运行。有关更多信息,请参阅 安装和配置 SSM 代理。有关文档的更多信息,请参阅 AWS Systems Manager 文档

语法

"runtimeConfig": { "aws:updateSsmAgent": { "properties": [ { "agentName": "amazon-ssm-agent", "source": "https://s3.region.amazonaws.com/aws-ssm-region/manifest.json", "allowDowngrade": "{{ allowDowngrade }}", "targetVersion": "{{ version }}" } ] } }

属性

agentName

amazon-ssm-agent。这是在实例上处理请求并运行命令的 Systems Manager 代理的名称。

类型:字符串

必需:是

allowDowngrade

允许将 SSM 代理降级为早期版本。如果设置为 False,则只能将该代理升级为更新的版本 (默认)。如果设置为 True,则指定早期版本。

类型:布尔值

必需:否

source

Systems Manager 复制要安装的 SSM 代理版本的位置。您无法更改此位置。

类型:字符串

必需:是

targetVersion

要安装的特定版本的 SSM 代理。如果未指定,代理将更新到最新版本。

类型:字符串

必需:否