amazon-web-services - Terraform - 多个 AWS 代码构建项目需要 aws_codebuild_source_credential

标签 amazon-web-services terraform aws-codebuild

我有很多正在使用的代码构建项目,它们依赖于 aws_codebuild_source_credential 来创建。

对我来说,问题是某些项目是在不同的文件夹中指定的,并且一个帐户的 codebuild 只有一个源凭证。

这意味着,如果我随后删除已创建 aws_codebuild_source_credential 的“堆栈”,以便能够创建代码构建项目,则将从该点开始删除所有代码构建的身份验证 token 。

我似乎找不到 aws_codebuild_source_credential 的数据提供程序,因此我正在寻找一种方法来引用已在其他地方创建的数据提供程序。

创建代码构建项目时,需要提供 oAuth token :

auth {
      type     = "OAUTH"
      resource = aws_codebuild_source_credential.github.arn
    }

问题是如何共享单个 aws_codebuild_source_credential 以便我可以将其传递到单独的代码构建项目中,以及我是否应该对 token 单独保留的任何文件夹运行销毁?

最佳答案

归结为你想要如何组织你的 terraform 代码,我会做的是

  • aws_codebuild_source_credential 资源与 aws_ssm_parameter 资源一起移动到单独的存储库中(甚至可能将 create 作为模块)。

  • 首先配置这些资源(预播种),当您配置 aws_codebuild_source_credential 时,将其 arn 存储在 aws_ssm_parameter 中的已知名称下.

  • 下次配置新的代码构建项目时,通过相应的数据资源 ssm_parameter 从 SSM 检索源凭证 arn

关于amazon-web-services - Terraform - 多个 AWS 代码构建项目需要 aws_codebuild_source_credential,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67375081/

相关文章:

java - 如何在 AWS CodeBuild 标准镜像上安装不同的 Java OpenJDK 版本

amazon-web-services - 从 aws lambda 触发 Gitlab-ci

amazon-web-services - 部署到 AWS 上的 ECR 时如何标记镜像的新版本?

amazon-web-services - ELB健康检查行为-Health Threshold

azure - Terraform:Azure API 管理授权 - 客户端凭据

azure - Terraform - 在循环内有条件地创建资源

terraform - 如何让 Terraform 中的 Docker 提供程序在尝试连接之前等待地址可用?

amazon-web-services - AWS CodeBuild VPC_CLIENT_ERROR : Unexpected EC2 error: UnauthorizedOperation

amazon-web-services - AWS 多可用区验证

amazon-web-services - 将 codebuild 操作中创建的环境传递给 codepipeline 中的下游操作