aws:executeAutomation – 執行另一項自動化 - AWS Systems Manager

aws:executeAutomation – 執行另一項自動化

透過呼叫次要 Runbook 執行次要自動化。透過此動作,您可以為您最常用的操作建立 Runbook,並在自動化執行期間參考那些 Runbook。此動作可簡化您的 Runbook,讓您不需要在類似的 Runbook 之間重複步驟。

次要自動化會在啟動主要自動化的使用者之內容中執行。這表示次要自動化與啟動第一個自動化的使用者使用相同的 AWS Identity and Access Management (IAM) 角色或使用者帳戶。

重要

如果由您指定參數的次要自動化使用擔任角色 (使用 iam:passRole 政策的角色),則啟動主要自動化的使用者或角色必須擁有將擔任角色傳遞至次要自動化的許可。如需設定自動化之擔任角色的詳細資訊,請參閱 方法 2:使用 IAM 設定自動化的角色

Input

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

在步驟期間要執行的次要 Runbook 名稱。對於相同 AWS 帳戶 中的 Runbook,指定 Runbook 名稱。對於從不同 AWS 帳戶 中共用的 Runbook,指定 Runbook 的 Amazon 資源名稱 (ARN)。如需共用 Runbook 的詳細資訊,請參閱 使用共用的 SSM 文件

類型:字串

必要:是

DocumentVersion

要執行的次要 Runbook 版本。如果未指定,自動化會執行預設 Runbook 版本。

類型:字串

必要:否

MaxConcurrency

您可以平行執行此任務的目標數目上限。您可以指定數量如 10 或百分比如 10%。

類型:字串

必要:否

MaxErrors

系統停止在其他目標上執行自動化前所允許的錯誤數量。您可以指定絕對數量的錯誤 (例如 10 個) 或目標集的百分比 (例如 10%)。例如,假設您指定 3,系統會在收到第四個錯誤時停止執行自動化。如果您指定 0,系統會在第一個錯誤結果傳回時停止其他目標上執行的自動化。如果您在 50 個資源上執行自動化,並將 MaxErrors 設為 10%,則系統會在收到第六個錯誤時停止對其他目標執行自動化。

達到 MaxErrors 閾值時已經在執行的自動化允許完成,但其中某些自動化也可能會失敗。如果您需要確保不會有比指定 MaxErrors 多的失敗自動化操作,則將 MaxConcurrency 設定為 1,因此會一次進行一個自動化。

類型:字串

必要:否

RuntimeParameters

次要 Runbook 的必要參數。映射使用以下格式:{"parameter1" : "value1", "parameter2" : "value2" }

類型:映射

必要:否

標籤

您指派給資源的選用中繼資料。您可以為自動化指定最多五個標籤。

類型:MapList

必要:否

TargetLocations

位置是 AWS 區域 和/或要執行自動化 AWS 帳戶 的組合。必須指定最少 1 個項目,且最多可指定 100 個項目。

類型:MapList

必要:否

TargetMaps

文件參數到目標資源的鍵/值映射清單。不能同時指定 TargetsTargetMaps

類型:MapList

必要:否

TargetParameterName

作為費率控制自動化之目標資源使用的參數名稱。只在您指定 Targets 時需要

類型:字串

必要:否

Targets (目標)

至目標資源的鍵/值對映清單。只在您指定 TargetParameterName 時需要

類型:MapList

必要:否

Output

輸出

由次要自動化產生的輸出。您可以使用以下格式參考輸出: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。

類型:字串

狀態

次要自動化的 狀態。

類型:字串