aws:executeAutomation - 运行另一个自动化 - AWS Systems Manager

aws:executeAutomation - 运行另一个自动化

通过调用辅助运行手册运行辅助自动化。借助此操作,您可以为最常见的操作创建运行手册,并在自动化过程中引用这些运行手册。因为无需跨类似运行手册复制步骤,此操作可以简化您的运行手册。

辅助自动化将在启动主自动化的用户环境中运行。这意味着第二个自动化将使用与启动第一个自动化的用户相同的 AWS Identity and Access Management(IAM)角色或用户。

重要

如果您在使用担任角色(使用 iam:passRole 策略的角色)的辅助自动化中指定参数,则启动主要自动化的用户或角色必须具有在辅助自动化中传递指定的担任角色的权限。有关为自动化设置担任角色的更多信息,请参阅 使用控制台为 Automation 创建服务角色

输入

YAML
name: Secondary_Automation action: aws:executeAutomation maxAttempts: 3 timeoutSeconds: 3600 onFailure: Abort inputs: DocumentName: secondaryAutomation RuntimeParameters: instanceIds: - i-1234567890abcdef0
JSON
{ "name":"Secondary_Automation", "action":"aws:executeAutomation", "maxAttempts":3, "timeoutSeconds":3600, "onFailure":"Abort", "inputs":{ "DocumentName":"secondaryAutomation", "RuntimeParameters":{ "instanceIds":[ "i-1234567890abcdef0" ] } } }
DocumentName

要在步骤中运行的辅助运行手册的名称。对于相同 AWS 账户中的运行手册,指定运行手册名称。对于从其他 AWS 账户分享的运行手册,指定运行手册的 Amazon Resource Name (ARN)。有关使用共享运行手册的信息,请参阅 使用共享 SSM 文档

类型:字符串

必需:是

DocumentVersion

要运行的辅助运行手册的版本。如果未指定,自动化将运行默认运行手册版本。

类型:字符串

必需:否

MaxConcurrency

此任务可以并行运行的最大目标数。您可以指定一个数字或一个百分比(如 10 或 10%)。

类型:字符串

必需:否

MaxErrors

系统停止在其他目标上运行自动化之前允许的错误数。您可以指定绝对数量的错误(如 10),也可以指定目标集百分比(如 10%)。例如,如果您指定 3,系统将在收到第四个错误时停止运行自动化。如果指定 0,则系统会在返回第一个错误结果后停止在其他资源上运行自动化。如果您在 50 个资源上运行自动化并将 MaxErrors 设置为 10%,则系统在收到第六个错误时停止在其他目标上运行自动化。

当达到 MaxErrors 阈值时,允许完成已经运行的自动化,但是其中一些自动化也可能失败。如果您需要确保失败的自动化不会超过指定的 MaxErrors,将 MaxConcurrency 设置为 1,因此一次进行一个自动化。

类型:字符串

必需:否

RuntimeParameters

辅助运行手册所需的参数。映射使用以下格式:{"parameter1" : "value1", "parameter2" : "value2" }

类型:映射

必需:否

Tags

分配给资源的可选元数据。您最多可以为自动化指定 5 个标签。

类型:MapList

必需:否

TargetLocations

位置是要在其中运行自动化的 AWS 区域 和/或 AWS 账户 的组合。必须指定至少 1 个项目,最多可以指定 100 个项目。

类型:MapList

必需:否

TargetMaps

运行手册参数到目标资源的键-值映射列表。TargetsTargetMaps 不能一起指定。

类型:MapList

必需:否

TargetParameterName

用作速率控制自动化目标资源的参数的名称。当您指定 Targets 时需要

类型:字符串

必需:否

目标

指向目标资源的键-值映射列表。当您指定 TargetParameterName 时需要

类型:MapList

必需:否

输出
输出

辅助自动化生成的输出。您可以使用以下格式引用输出:Secondary_Automation_Step_Name.Output

类型:StringList

示例如下:

- name: launchNewWindowsInstance action: 'aws:executeAutomation' onFailure: Abort inputs: DocumentName: launchWindowsInstance nextStep: getNewInstanceRootVolume - name: getNewInstanceRootVolume action: 'aws:executeAwsApi' onFailure: Abort inputs: Service: ec2 Api: DescribeVolumes Filters: - Name: attachment.device Values: - /dev/sda1 - Name: attachment.instance-id Values: - '{{launchNewWindowsInstance.Output}}' outputs: - Name: rootVolumeId Selector: '$.Volumes[0].VolumeId' Type: String nextStep: snapshotRootVolume - name: snapshotRootVolume action: 'aws:executeAutomation' onFailure: Abort inputs: DocumentName: AWS-CreateSnapshot RuntimeParameters: VolumeId: - '{{getNewInstanceRootVolume.rootVolumeId}}' Description: - 'Initial root snapshot for {{launchNewWindowsInstance.Output}}'
ExecutionId

辅助自动化的 ID。

类型:字符串

Status

辅助自动化的状态。

类型:字符串