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

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

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

运行指定的命令。

注意

仅支持 Automationoutput的每个部分Amazon Web Services Systems ManagerRun Command 操作。Runbook 可以包括多个 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

如果命令类型文档属于您或Amazon下,指定文档的名称。如果您使用的是与您共享的文档Amazon Web Services 账户,请指定文档的 Amazon 资源名称 (ARN)。有关如何使用共享文档的更多信息,请参阅使用共享 SSM 文档

类型: 字符串

:必需 是

InstanceIds

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

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

另一种替代方法是通过使用Targets参数。这些区域有:Targets参数接受 Amazon Elastic Compute Cloud (Amazon EC2) 标签。有关如何使用Targets参数,请参阅使用目标和速率控制将命令发送到队列

类型: StringList

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

目标

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

类型: MapList(列表中映射的架构必须与对象匹配。想要了解有关信息,请参阅目标中的Amazon Web Services Systems ManagerAPI 参考

:必需 No(如果您没有指定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

类型: StringMap(地图的架构必须与对象匹配。 有关更多信息,请参阅 。CloudWatchOutputConfig中的Amazon Web Services Systems ManagerAPI 参考)。

:必需 否

以下是一个示例。

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

AWS Identity and Access Management (IAM) 角色的 ARN。

类型: 字符串

:必需 否

TimeoutSeconds

等待命令传递给Amazon Web Services Systems ManagerSSM 代理。如果实例上的 SSM 代理在达到指定的值之前还未收到命令,则命令的状态会变为Delivery Timed Out

类型: 整数

:必需 否

Output

CommandId

命令的 ID。

状态

命令的状态。

ResponseCode

命令的响应代码。

输出

命令的输出。