【Pulumi】pulumiで 新規作成リソースのみデプロイ

■ はじめに

https://dk521123.hatenablog.com/entry/2022/06/28/000000

の続き。

pulumiで対象リソースのみデプロイするコマンド「pulumi up --target xxx」で
URN(ARN) を調べるのは、「pulumi stack --show-urns」を使用するのだが
新規作成のリソースでは表示されないので、『新規作成のリソースには使えない』
と思っていたのだが、解決方法を教えてもらったので、メモ。

目次

【1】新規作成リソースのURN(ARN)を調べるには
【2】使用上の注意
【3】コマンド例
 Step1: Stack を選択
 Step2: URN(ARN) を調べる
 Step3: --target <URN>を指定して実行
 Step4: 「pulumi preview」を実行し、デプロイ漏れを確認

【1】新規作成リソースのURN(ARN)を調べるには

pulumi preview --diff

# 絞り込みたい場合は、パイプ(|) & grep を利用する
# pulumi preview --diff | grep "<キーワード>"

https://dk521123.hatenablog.com/entry/2021/10/25/215508

より抜粋
~~~~~~~~~~~
「pulumi preview --diff」で、詳しい差分を表示してくれる
~~~~~~~~~~~

【2】使用上の注意

* 作成する際には、そのリソースの親リソースも含めて
 デプロイすること

【3】コマンド例

「Step2: URN(ARN) を調べる」と
「Step4: 「pulumi preview」を実行」以外は、
前回の関連記事と同じ。

https://dk521123.hatenablog.com/entry/2022/06/28/000000

Step1: Stack を選択

# どんなStackが選択できるかを調べるには「pulumi stack ls」を実行)
pulumi stack select nonprod

Step2: URN(ARN) を調べる

# 『【1】新規作成リソースのURN(ARN)を調べるには』を参照
pulumi preview --diff

Step3: --target を指定して実行

# 構文:pulumi up --target '<URN>'
pulumi up --target 'urn:pulumi:dev::quickstart::demo:DemoComponent::hello-world'

# 不安な場合は、pulumi preview --target '<URN>' で実行

複数指定したい場合

pulumi up \
--target 'urn:pulumi:dev::quickstart::demo:DemoComponent::hello-world1' \
--target 'urn:pulumi:dev::quickstart::demo:DemoComponent::hello-world2' \
--target 'urn:pulumi:dev::quickstart::demo:DemoComponent::hello-world3'

Step4: 「pulumi preview」を実行し、デプロイ漏れを確認

# 念のため、「pulumi preview」を実行し
# デプロイ対象のリソースが全てデプロイさているかを確認
#  => デプロイできていないリソースがあったため(バグ?)、
#   念のため、確認作業として行っておいた方がいい
pulumi preview

# => デプロイ対象リソースが表示されなくなったらOK
# => デプロイ対象リソースが表示されていたら、Step2からやり直す

関連記事

Pulumi ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/10/23/025230
Pulumi ~ 基本編 / CLI
https://dk521123.hatenablog.com/entry/2021/10/25/215508
pulumiで対象リソースのみデプロイ / 削除(--target)
https://dk521123.hatenablog.com/entry/2022/06/28/000000
Pulumi ~ 入門編 / Hello World in AWS
https://dk521123.hatenablog.com/entry/2022/03/11/184041