运行工作空间计划
工作空间计划执行 Terraform 计划以确定在任何后续工作空间应用操作上创建,修改或删除的 IBM Cloud® 资源。 针对工作空间运行 Schematics 计划作业。 在应用模板之前,可以使用计划摘要日志来验证任何资源更改。
IBM Cloud Schematics 不推荐使用旧版本的 Terraform。 有关更多信息,请参阅 在 IBM Cloud Schematics。
IBM Cloud Schematics 不推荐使用 2024 年 4 月 2nd 周的 IBM Cloud Provider Plug-in for Terraform v1.2和 v1.3 模板来创建工作空间。
准备工作
- 创建Terraform配置,并将配置存储在
GitHub
、GitLab
或Bitbucket
存储库中。 您还可以将存储库的副本作为tar
(磁带归档文件) 从本地工作站上载,以向 IBM Cloud Schematics提供模板。 有关更多信息,请参阅ibmcloud schematics workspace upload
命令,并参阅 将tar
文件上载到工作空间 API。 - 请确保您有创建工作区的 权限。
在列出 Schematics 工作空间和操作时,请确保 location
和 url
端点指向同一区域。 有关位置和端点的更多信息,请参阅 信息存储位置?
- 针对工作空间运行 Schematics 计划作业。 计划作业计算供应,修改或除去的资源。 此过程可能需要几分钟时间。
在工作空间计划执行期间,无法编辑工作空间。
使用 UI 生成工作空间计划
- 登录 IBM Cloud控制台。
- 单击菜单图标
>平台自动化>Schematics>Terraform。
- 单击您的工作区名称。
- 单击 生成计划 以创建工作空间的计划。
验证工作空间计划
- 单击 IBM Cloud 控制台 中列出的工作空间
- 单击 作业 以查看作业执行结果。 它列在标题
Generate Plan
下 - 在成功的计划中,将通过单击
Cost Estimate
按钮来复审建议更改的成本。 有关更多信息,请参阅 基础架构成本估算。
使用 CLI 生成工作空间计划
-
在系统上创建 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
命令。 -
验证是否已应用工作空间计划。 确保工作空间处于 不活动 状态。
ibmcloud schematics workspace list
-
请参考 《 使用 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
```
成功时,计划将返回现有工作空间的更新详细信息。
有关常见问题的更多信息,请参阅 故障诊断部分。
使用 API 生成工作空间计划
-
执行 步骤 以检索 IAM 访问令牌并使用 API 向 IBM Cloud Schematics 进行认证。
-
为现有工作空间生成计划。
示例
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" } ] }] }
-
请参阅 使用 Schematics 管理云资源,使用Terraform创建、更新或删除云资源。
验证工作空间计划执行
验证是否已成功列出工作空间计划以及已创建的工作空间作业的列表。
curl -X GET https://schematics.cloud.ibm.com/v1/workspaces -H "Authorization: <iam_access_token>"
输出
{
"activityid": "3815ef757cd34030bc43191f7d7c6744"
}
成功时,返回工作空间的列表。
使用 Terraform 生成工作空间计划
-
遵循 为 Schematics 中的步骤以使用 Terraform 创建工作空间。
-
请参阅 使用 Schematics 管理云资源,开始使用Terraform创建、更新或删除云资源。
后续步骤
使用工作空间的下一个阶段是 部署工作空间。