Terraform - 多个 AWS codebuild 项目需要 aws_codebuild_source_credential

Terraform - Multiple AWS codebuild projects require aws_codebuild_source_credential

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

我的问题是有些项目是在不同的文件夹中指定的,并且一个帐户的代码构建只有一个源凭据。

这意味着,如果我随后删除了一个 'stack',它创建了一个 aws_codebuild_source_credential,以便能够创建代码构建项目,那么从那时起,所有代码构建的授权令牌都会被删除。

我似乎找不到 aws_codebuild_source_credential 的数据提供者,所以我正在寻找一种方法来引用已经在别处创建的数据提供者。

创建代码构建项目时需要提供 oAuth 令牌:

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

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

关于你想要如何组织你的 terraform 代码,我会做的是

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

  • 首先配置这些资源(预播种),当您配置 aws_codebuild_source_credential 存储时,它在 aws_ssm_parameter 中以已知名称存储在 arn 中。

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