コマンドラインツールを使ってジョブを別の Cloud Automator 組織に移行する際に例外的な書き換えが必要なケース

概要

このマニュアルではCloud Automator のコマンドラインツールを使用して、ジョブを別の Cloud Automator 組織に一括移行する際に、例外的な書き換えが必要なケースとその対応について解説します。

※移行の概要と基本的な手順はこちらのマニュアルをご参照ください。

 

ジョブに後処理が設定されている場合

移行元のジョブに成功時の後処理 (completed_post_process_id) や、失敗時の後処理 (failed_post_process_id) が設定されている場合、それぞれのIDを移行先の組織のIDに置き換える必要があります。

以下のコマンドを使用することで移行先の後処理IDに修正することが可能です。

jq '.[] |= (
  .completed_post_process_id |= map(
    if . == 100 then 1000
    elif . == 200 then 2000
    elif . == 300 then 3000
    else . end
  ) |
  .failed_post_process_id |= map(
    if . == 400 then 4000
    elif . == 500 then 5000
    else . end
  )
)' export_job.json > import_jobs.json

 

ジョブのトリガーがSQSトリガーである場合

SQSトリガーのジョブを移行する際は、移行前のCloud Automator組織のグループに登録されている「SQSキューが存在しているAWSアカウントID」を移行後のCloud Automator組織のグループに登録されているAWSアカウントIDに修正する必要があります。

 

sqs.png

 

以下のコマンドを使用することで移行先のAWSアカウントIDに修正することが可能です。

$ jq '
map(
if .rule_value.aws_account_id == "111" then .rule_value.aws_account_id = "333"
else
.
end
)
' import_job.json > import.json

ジョブのアクションタイプがGoogle Cloud系であった場合

ジョブのアクションタイプがGoogle Cloud系であった場合、コマンドラインツールを使ってジョブを別の Cloud Automator 組織に移行するの「5. 移行対象のジョブを絞り込む」でAWSアカウントIDではなく、Google CloudアカウントIDで絞り込む必要があります。一覧でエクスポートしたジョブからGoogle CloudアカウントIDでジョブを絞り込むコマンドは以下の通りです。

$ jq '[
.[] |
select(.group_id == 111 and .google_cloud_account_id == 222)
]' export_job.json > import_job.json

また、Google CloudアカウントIDも移行前のCloud Automator組織に登録されているIDから、移行先のCloud Automator組織に登録されているIDに修正する必要があります。修正するためのコマンドは以下の通りです。こちらはコマンドラインツールを使ってジョブを別の Cloud Automator 組織に移行するの「7. ジョブを移行する」でAWSアカウントIDを書き換えているものと同等の処理です。

$ jq '[
.[] |
select(.group_id == 111 and .google_cloud_account_id == 222) |
.group_id = 333 |
.google_cloud_account_id = 444
]' import_job.json > import.json
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください