IBM Terraform 提供程序的问题:ibm_service_instance

问题描述

首先:通过 https://cloud.ibm.com/schematics/slack 发出的邀请似乎不起作用。我的邮件帐户上没有收到对 schemas@slack 的邀请,所以我在这里发布了我的问题:

Terraform 0.13,ibm 提供商 1.23.1

1.) 在尝试从 https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples/ibm-app 运行示例 ibm-app(CloudFoundry 示例)时,我注意到它需要一个 API 密钥才能运行。这是为什么?为什么原理图工作区不能提供自己的?有些示例无需 IAM 密钥即可正常运行。 CloudFoundry 有什么特别之处以至于我必须提供密钥?

2.) CloudFoundry 服务实例(请参阅:https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/data-sources/service_instance)在 CloudFoundry 中创建一个服务实例,并在外部创建一个具有任意名称的服务。 “terraform destroy”仅销毁服务实例,但保持 CloudFoundry 之外的服务不变。这是一个错误吗?有没有办法先创建资源,然后创建 CF 服务,然后将该服务绑定到资源(使用 terraform)?

3.) ibm_app(请参阅:https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/app)将 zip 文件作为输入。为什么没有资源(一些 github repo)?此外,如何访问私有 git 存储库 @git.cloud.ibm.com?在 terraform 环境中出现了一个 JWT 令牌,可以通过数据“ibm_iam_auth_token”获取。但是我如何使用它来访问 git repo? -- 当然,我总是可以提供访问令牌,这可能是正确的做法。但是为什么 devops 管道可以访问私有 git.cloud.ibm.com 存储库而 terraform 不能?这让我想到了最后一个问题:

4.) 如何在 ibm 云中通过 terraform 创建 devops 管道? -- 在 aws 中创建工具链工作正常。但是 ibm 云呢?

解决方法

  1. 由于 IAM 限制,对于 CF 和经典基础设施资源,您需要提供 API 密钥。更多信息请访问:https://cloud.ibm.com/docs/schematics?topic=schematics-schematics-limitations#provider-block

  2. 听起来这可能是一个错误 - 你能在这里打开一个问题吗?:https://github.com/IBM-Cloud/terraform-provider-ibm/issues/。似乎没有办法单独使用 Terraform 将服务绑定到 Cloud Foundry 应用程序。我们可以将其视为功能请求。

  3. 此示例展示了如何使用供应商“local-exec”从 GitHub 存储库准备应用 zip:https://github.com/IBM-Cloud/terraform-provider-ibm/blob/master/examples/ibm-app/main.tf。您需要使用访问令牌来访问私有存储库。

  4. 首先使用 Schematics 根据您的 GitHub 存储库创建一个工作区,该存储库包含您的 Terraform 代码。接下来,导航到“设置”选项卡,然后按“启用持续交付”。这将为您创建一个由 IBM DevOps Toolchains 提供支持的工具链。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...