aws:runCommand – 在托管实例上运行命令 - AWS Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

aws:runCommand – 在托管实例上运行命令

运行指定的命令。

注意

Automation 仅支持一个 操作的输出Run Command。一个运行手册可以包含多个 Run Command 操作,但一次仅支持一个操作的输出。

Input

此操作支持大多数 send command 参数。有关更多信息,请参阅 SendCommand.

YAML
- name: checkMembership action: 'aws:runCommand' inputs: DocumentName: AWS-RunPowerShellScript InstanceIds: - '{{InstanceIds}}' Parameters: commands: - (Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "InstanceIds": [ "{{InstanceIds}}" ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] } } }
DocumentName

如果命令类型文档归您或 AWS 所有,请指定文档的名称。如果您使用由其他 AWS 账户与您共享的文档,请指定文档的 Amazon 资源名称 (ARN)。有关使用共享文档的更多信息,请参阅使用共享 SSM 文档

类型:字符串

必需:是

InstanceIds

要在其中运行命令的实例 ID。您可以指定最多 50 个 ID。

您还可以使用伪参数 {{RESOURCE_ID}} 代替实例 ID,以便在目标组中的所有实例上更轻松地运行命令。有关伪参数的更多信息,请参阅关于伪参数. .

另一种替代方法是使用 Targets 参数向一组实例发送命令。Targets 参数接受 Amazon EC2 标签。有关如何使用 Targets 参数的更多信息,请参阅使用目标和速率控制将命令发送到队列.

类型:StringList

必需:否(如果未指定 InstanceIds 或使用 {{RESOURCE_ID}} 伪参数,则必须指定 Targets 参数。)

Targets

一组搜索条件,使用您指定的 Key、Value 组合来设置实例目标。如果未在调用中提供一个或多个实例 ID,则 Targets 是必需的。有关如何使用 Targets 参数的更多信息,请参阅使用目标和速率控制将命令发送到队列.

类型:MapList(列表中 map 的架构必须与对象匹配。有关信息,请参阅 https://docs.amazonaws.cn/systems-manager/latest/APIReference/API_Target.html 中的目标AWS Systems Manager API 参考。

必需:否(如果未指定 Targets,则必须指定 InstanceIds 或使用 {{RESOURCE_ID}} 伪参数。)

示例如下:

YAML
- name: checkMembership action: aws:runCommand inputs: DocumentName: AWS-RunPowerShellScript Targets: - Key: tag:Stage Values: - Gamma - Beta - Key: tag-key Values: - Suite Parameters: commands: - (Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "Targets": [ { "Key": "tag:Stage", "Values": [ "Gamma", "Beta" ] }, { "Key": "tag:Application", "Values": [ "Suite" ] } ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] } } }
参数

文档中指定的必需参数和可选参数。

类型:映射

必需:否

CloudWatchOutputConfig

用于将命令输出发送到 的配置选项。Amazon CloudWatch Logs. 有关将命令输出发送到 CloudWatch Logs 的更多信息,请参阅为 Amazon CloudWatch Logs 配置 Run Command.

类型:StringMap(映射的架构必须与对象匹配。 有关更多信息,请参阅 https://docs.amazonaws.cn/systems-manager/latest/APIReference/API_CloudWatchOutputConfig.html 中的 CloudWatchOutputConfigAWS Systems Manager API 参考。

必需:否

示例如下:

YAML
- name: checkMembership action: aws:runCommand inputs: DocumentName: AWS-RunPowerShellScript InstanceIds: - "{{InstanceIds}}" Parameters: commands: - "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" CloudWatchOutputConfig: CloudWatchLogGroupName: CloudWatchGroupForSSMAutomationService CloudWatchOutputEnabled: true
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "InstanceIds": [ "{{InstanceIds}}" ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] }, "CloudWatchOutputConfig" : { "CloudWatchLogGroupName": "CloudWatchGroupForSSMAutomationService", "CloudWatchOutputEnabled": true } } }
评论

有关此命令的用户定义的信息。

类型:字符串

必需:否

DocumentHash

文档的哈希。

类型:字符串

必需:否

DocumentHashType

哈希的类型。

类型:字符串

有效值:Sha256 | Sha1

必需:否

NotificationConfig

用于发送通知的配置。

必需:否

OutputS3BucketName

命令输出响应的 S3 存储桶的名称。

类型:字符串

必需:否

OutputS3KeyPrefix

前缀。

类型:字符串

必需:否

ServiceRoleArn

IAM 角色的 ARN。

类型:字符串

必需:否

TimeoutSeconds

等待命令传输到实例上的 SSM 代理 的时间(以秒为单位)。如果实例上的 SSM 代理 在达到指定的值之前未收到命令,则该命令的状态将变为 Delivery Timed Out

类型:整数

必需:否

Output

CommandId

命令的 ID。

状态

命令的状态。

ResponseCode

命令的响应代码。

输出

命令的输出。