■ はじめに
https://dk521123.hatenablog.com/entry/2021/10/23/025230
https://dk521123.hatenablog.com/entry/2022/01/10/155206
の続き。 上記の記事で、環境設定で「pulumi version」や Hello World で「pulumi new」などで扱っていたが、 Pulumi には、CLI (Command Line Interface) が備わっているので 今回は、主なCLIについて、扱っていく。
目次
【0】Pulumi CLI 【1】pulumi version 【2】pulumi login / pulumi logout 【3】pulumi new 【4】pulumi preview / pulumi up 1)pulumi preview 2)pulumi up 補足:対象リソースのみデプロイ(--target) 【5】pulumi destroy 補足:対象リソースのみ削除(--target) 【6】pulumi stack 1)pulumi stack ls 2)pulumi stack rm 3)pulumi stack select 4)pulumi stack change-secrets-provider 5)pulumi stack delete 【7】pulumi config 0)pulumi config 1)pulumi config set 2)pulumi config get 3)pulumi config rm 【8】pulumi refresh / pulumi up --refresh
【0】Pulumi CLI
* CLI 一覧は、以下の公式サイトを参照のこと
公式サイト:CLI一覧
https://www.pulumi.com/docs/reference/cli/
# | CLI | 説明 |
---|---|---|
1 | pulumi version | version表示 |
2 | pulumi login | ログイン |
3 | pulumi logout | ログアウト |
4 | pulumi new | プロジェクト生成 |
5 | pulumi up | スタック内のリソースの作成・更新 |
6 | pulumi preview | pulumi up の dry run版 |
7 | pulumi destroy | 存在するスタックとそのリソース削除 |
8 | pulumi stack | スタックの管理 |
9 | pulumi config | 設定値の管理 |
【1】pulumi version
* pulumi の version を表示
https://www.pulumi.com/docs/reference/cli/pulumi_version/
【2】pulumi login / pulumi logout
* Pulumi サーバへのログイン・ログアウト
https://www.pulumi.com/docs/reference/cli/pulumi_login/
https://www.pulumi.com/docs/reference/cli/pulumi_logout/
コマンド例
# ローカル環境のPulumiにログイン(c:/Users/<User>/.pulumi内で管理) pulumi login --local # Windows環境の特定の場所を指定 pulumi login file://c:/tmp/ # AWS S3 を指定 pulumi login s3://your-s3-bucket/pulumi/your-state
【3】pulumi new
* テンプレートを使ったプロジェクトの生成 => 「<Home>\.pulumi\templates」配下にテンプレートがあるので これを使って、生成しているものと思われる
https://www.pulumi.com/docs/reference/cli/pulumi_new/
構文
pulumi new [template|url] [flags] # template : aws-typescript or azure-python # url : e.g. https://github.com/<user>/<repo> # flags : Option (以下のサイトを参照)
https://www.pulumi.com/docs/reference/cli/pulumi_new/#options
サンプル
pulumi new aws-typescript \ --name ="your-project-name" \ --description="This is a sample" \ --stack="dev" \ --secrets-provider="awskms://alias/ExampleAlias?region=us-east-1"
【4】pulumi preview / pulumi up
* デプロイ実行するためのコマンド
1)pulumi preview
* pulumi up の dry run版
https://www.pulumi.com/docs/reference/cli/pulumi_preview/
--diff : 詳しい差分を知りたい場合
* 「pulumi preview --diff」で、詳しい差分を表示してくれる * 新規作成リソースのURN(ARN)を調べるのにも使える
https://dk521123.hatenablog.com/entry/2022/08/04/124321
2)pulumi up
* スタック内のリソースの作成・更新
https://www.pulumi.com/docs/reference/cli/pulumi_up/
補足:対象リソースのみデプロイ(--target)
* 以下の関連記事を参照のこと
https://dk521123.hatenablog.com/entry/2022/06/28/000000
https://dk521123.hatenablog.com/entry/2022/08/04/124321
【5】pulumi destroy
* 存在するスタックとそのリソース削除
https://www.pulumi.com/docs/reference/cli/pulumi_destroy/
補足:対象リソースのみ削除(--target)
* 以下の関連記事を参照のこと
https://dk521123.hatenablog.com/entry/2022/06/28/000000
https://dk521123.hatenablog.com/entry/2022/08/04/124321
【6】pulumi stack
* スタックの管理
https://www.pulumi.com/docs/reference/cli/pulumi_stack/
1)pulumi stack ls
* スタック一覧表示
https://www.pulumi.com/docs/reference/cli/pulumi_stack_ls/
2)pulumi stack rm
* スタックとそのリソースの削除
https://www.pulumi.com/docs/reference/cli/pulumi_stack_rm/
エラー「stack 'dev' already exists」について
* Stack が既にある場合、「pulumi stack rm」で削除して対処 => 詳細は、以下の関連記事を参照のこと
https://dk521123.hatenablog.com/entry/2022/01/11/105319
3)pulumi stack select
* 対象Stackを選択する
https://www.pulumi.com/docs/reference/cli/pulumi_stack_select/
サンプル
# スタック「dev」を選択 pulumi stack select dev # 選択されていることを確認するために「pulumi stack ls」で確認 pulumi stack ls NAME dev* <= 選択されているスタックには「*」が付く prod # スタック「prod」を選択 pulumi stack select prod # 選択されていることを確認するために「pulumi stack ls」で確認 pulumi stack ls NAME dev prod*
4)pulumi stack change-secrets-provider
* 以下の関連記事を参照のこと。
Pulumi ~ パスフレーズ省略を考える ~
https://dk521123.hatenablog.com/entry/2022/03/14/152258
5)pulumi stack delete
* 以下の関連記事を参照のこと。
pulumi up --target をした際にエラー「snapshot integrity failure」が発生
https://dk521123.hatenablog.com/entry/2022/09/27/165923
【7】pulumi config
* 設定値の管理 * Pulumi の Configに関する詳細は、以下の関連記事を参照のこと。
Pulumi ~ 基本編 / Config ~
https://dk521123.hatenablog.com/entry/2022/03/15/224217
0)pulumi config
* 設定値の全取得
サンプル
# --json:JSON形式で取得 pulumi config --json
1)pulumi config set
* 設定値の設定
https://www.pulumi.com/docs/reference/cli/pulumi_config_set/
サンプル
# pulumi config set <key> [value] pulumi config set key_value HelloWorld # pulumi config set aws:region [aws-region] pulumi config set aws:region us-east-2
2)pulumi config get
* 設定値の取得
https://www.pulumi.com/docs/reference/cli/pulumi_config_get/
サンプル
# pulumi config get <key>
pulumi config get key_value
3)pulumi config rm
* 設定値の削除
https://www.pulumi.com/docs/reference/cli/pulumi_config_rm/
サンプル
# pulumi config rm <key> pulumi config rm key_value
【8】pulumi refresh / pulumi up --refresh
* Pulumi の Stateと実リソースの同期を行う
https://tech.guitarrapc.com/entry/2019/12/23/000000
* 以下の関連記事で実際に使用した
pulumi up --target をした際にエラー「snapshot integrity failure」が発生
https://dk521123.hatenablog.com/entry/2022/09/27/165923
参考文献
https://dev.classmethod.jp/articles/pulumi-tips/
関連記事
Pulumi ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/10/23/025230
Pulumi ~ 環境設定編 ~
https://dk521123.hatenablog.com/entry/2022/01/10/155206
Pulumi ~ 基本編 / Config ~
https://dk521123.hatenablog.com/entry/2022/03/15/224217
Pulumi ~ 基本編 / Logging ~
https://dk521123.hatenablog.com/entry/2022/03/04/111618
Pulumi ~ パスフレーズ省略を考える ~
https://dk521123.hatenablog.com/entry/2022/03/14/152258
pulumiで対象リソースのみデプロイ / 削除(--target)
https://dk521123.hatenablog.com/entry/2022/06/28/000000
pulumiで 新規作成リソースのみデプロイ
https://dk521123.hatenablog.com/entry/2022/08/04/124321
Pulumi に関するトラブル
https://dk521123.hatenablog.com/entry/2022/01/11/105319
pulumi up --target をした際にエラー「snapshot integrity failure」が発生
https://dk521123.hatenablog.com/entry/2022/09/27/165923