ワークスペース計画の実行

ワークスペースプランは、Terraformのプランを実行し、その後のワークスペースの適用操作において作成、変更、または削除される IBM Cloud® リソースを特定します。 ワークスペースに対して「 Schematics 」プランのジョブを実行してください。 テンプレートを適用する前に、計画要約ログを使用してリソースの変更を確認できます。

IBM Cloud Schematics Terraformの旧バージョンのサポートを終了し、新しいバージョンのTerraformへの対応を開始します。 詳細については、「 Schematics 」のTerraformの非推奨ライフサイクル および 非推奨スケジュール をご覧ください。

開始前に

  • Terraform 構成を作成し、その構成を GitHub リポジトリー、GitLab リポジトリー、または Bitbucket リポジトリーに保管します。 リポジトリーのコピーを tar (テープ・アーカイブ・ファイル) としてローカル・ワークステーションからアップロードして、テンプレートを IBM Cloud Schematicsに提供することもできます。 詳細については、 ibmcloud schematics workspace upload コマンドおよび「 tar ファイルをワークスペースにアップロードする API」を参照してください。
  • ワークスペースを作成する 権限 があることを確認してください。

Schematics のワークスペースとアクションをリストするときに、 locationurl エンドポイントが同じ地域を指していることを確認してください。 ロケーションとエンドポイントについて詳しくは、 情報の保管場所 を参照してください。

  • ワークスペースに対して Schematics 計画ジョブを実行します。 計画ジョブは、プロビジョン、変更、または削除されたリソースを計算します。 このプロセスには数分かかる場合があります。

ワークスペース計画の実行中は、ワークスペースを編集できません。

UI を使用したワークスペース計画の生成

  1. IBM Cloudコンソールにログインします。
  2. メニューアイコンハンバーガーアイコン>Platform Automation>Schematics>Terraformをクリックします。
  3. ワークスペース名をクリックします。
  4. 「計画の生成」 をクリックして、ワークスペースの計画を作成します。

ワークスペース計画の検証

  1. IBM Cloud コンソール にリストされているワークスペースをクリックします。
  2. 「ジョブ」 をクリックして、ジョブの実行結果を表示します。 これは、 Generate Plan という見出しの下にリストされます。
  3. 計画が成功すると、「 Cost Estimate 」ボタンをクリックして、提案された変更のコストが検討されます。 詳しくは、 インフラストラクチャーのコスト見積もり を参照してください。

CLI を使用したワークスペース計画の生成

  1. お使いのシステムにJSONファイルを作成し、ワークスペースの設定を計画してください。 構成オプションについて詳しくは、 ibmcloud schematics workspace new コマンドを参照してください。

    		{
    		"name": "testwspace31jan",
    		"type": [
    			"terraform_v1.4"
    		],
    		"description": "terraform workspace",
    		"location": "us-east",
    		"tags": [
    			"department:HR",
    			"application:compensation",
    			"environment:production"
    		],
    		"template_repo": {
    			"url": "https://github.com/Anil-CM/newrepo"
    		},
    		"workspace_status": {
    			"frozen": true
    		},
    		"template_data": [{
    			"folder": ".",
    			"type": "terraform_v1.4",
    			"variablestore": [{
    					"name": "sample_var",
    					"secure": true,
    					"value": "THIS IS IBM CLOUD TERRAFORM CLI DEMO",
    					"description": "Description of sample_var"
    				},
    				{
    					"name": "sleepy_time",
    					"value": "15"
    				}
    			]
    		}]
    	}
    

    構文

    	ibmcloud schematics plan --id WORKSPACE_ID [--output OUTPUT] [--var-file PATH_TO_VARIABLES_FILE] [--var-file PATH_TO_VARIABLES_FILE] []
    

    構文フラグおよび引数フラグについて詳しくは、 ibmcloud schematics plan コマンドを参照してください。

  2. ワークスペース計画が適用されていることを確認します。 ワークスペースが「 非アクティブ 」状態になっていることを確認してください。

    ibmcloud schematics workspace list
    
  3. Schematics でクラウドリソースを管理 を参照し、ジョブログを表示します。

ワークスペース・プランの実行の検証

CLI コマンドを実行して、ワークスペース・プランの状況が成功であることを確認します。

```sh {: pre}
ibmcloud schematics workspace list
```    
```text {: screen}
Retrieving workspaces...
Name                                          ID                                                                       Description                                   Version             Status           Frozen
testwspace31jan                               us-east.workspace.testwspace31jan.a31438c6                               terraform workspace                           Terraform v1.0.11   INACTIVE         True

OK
```

計画が成功すると、既存のワークスペースの更新の詳細が返されます。

FAQ について詳しくは、 トラブルシューティング・セクション を参照してください。

API を使用したワークスペース計画の生成

  1. 手順に従って、API を使用して IAM アクセス・トークンを取得し、IBM Cloud Schematics で認証します。

  2. 既存のワークスペースの計画を生成します。

    	POST /v1/workspaces/{w_id}/plan HTTP/1.1
    	Host: schematics.cloud.ibm.com
    	Content-Type: application/json
    	Authorization: <auth-token>
    	Cache-Control: no-cache
    	Postman-Token: bdc869fd-dc7c-06a6-5e99-4de6e3aa7dd9
    	{
    		"name": "testwspace31jan",
    		"type": [
    			"terraform_v1.4"
    		],
    		"description": "terraform workspace",
    		"location": "us-east",
    		"tags": [
    			"department:HR",
    			"application:compensation",
    			"environment:production"
    		],
    		"template_repo": {
    			"url": "<gitrepo-url>"
    		},
    		"workspace_status": {
    			"frozen": true
    		},
    		"template_data": [{
    			"folder": ".",
    			"type": "terraform_v1.4",
    			"variablestore": [{
    					"name": "sample_var",
    					"secure": true,
    					"value": "THIS IS IBM CLOUD TERRAFORM CLI DEMO",
    					"description": "Description of sample_var"
    				},
    				{
    					"name": "sleepy_time",
    					"value": "15"
    				}
    			]
    		}]
    	}
    
  3. Terraform を使用してクラウド リソースを作成、更新、または削除するには Schematics を使用したクラウド リソースの管理」 を参照してください。

ワークスペース・プランの実行の検証

ワークスペース計画が、作成されたワークスペース・ジョブのリストとともに正常にリストされていることを確認します。

curl -X GET https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>"

出力

{
    "activityid": "3815ef757cd34030bc43191f7d7c6744"
}

正常に実行されると、ワークスペースのリストを返します。

詳しくは、 FAQ、および トラブルシューティング・セクション を参照してください。

Terraform を使用したワークスペース計画の生成

  1. Schematics 用の Terraform のセットアップの手順に従って、Terraform を使用してワークスペースを作成します。

  2. Terraform を使用してクラウド リソースの作成、更新、または削除を開始するには、 Schematics を使用したクラウド リソースの管理」 を参照してください。

次のステップ

ワークスペースでの作業の次の段階は、 ワークスペースのデプロイ です。

詳しくは、 FAQ、および トラブルシューティング・セクション を参照してください。