Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services Terraform-多个AWS代码构建项目需要AWS\u代码构建\u源\u凭证_Amazon Web Services_Terraform_Aws Codebuild - Fatal编程技术网

Amazon web services Terraform-多个AWS代码构建项目需要AWS\u代码构建\u源\u凭证

Amazon web services Terraform-多个AWS代码构建项目需要AWS\u代码构建\u源\u凭证,amazon-web-services,terraform,aws-codebuild,Amazon Web Services,Terraform,Aws Codebuild,我有很多正在使用的代码构建项目,它们依赖于要创建的aws\u代码构建\u源代码\u凭证 对我来说,问题是有些项目是在不同的文件夹中指定的,并且帐户的codebuild只有一个源凭据 这意味着,如果我随后删除了一个“堆栈”,该堆栈已创建了aws\u codebuild\u source\u凭证,以便能够创建codebuild项目,则从该点开始删除所有codebuild的身份验证令牌 我似乎找不到aws\u codebuild\u source\u凭证的数据提供程序,因此我正在寻找一种方法来引用其他

我有很多正在使用的代码构建项目,它们依赖于要创建的
aws\u代码构建\u源代码\u凭证

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

这意味着,如果我随后删除了一个“堆栈”,该堆栈已创建了
aws\u codebuild\u source\u凭证
,以便能够创建codebuild项目,则从该点开始删除所有codebuild的身份验证令牌

我似乎找不到aws\u codebuild\u source\u凭证的数据提供程序,因此我正在寻找一种方法来引用其他地方已经创建的数据提供程序

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

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

问题是我如何共享一个
aws\u codebuild\u source\u凭证
,这样我就可以将其传递到单独的代码构建项目中,我是否应该对任何一个文件夹运行一个销毁,而该令牌将不受影响?

详细介绍您想要如何组织您的地形代码,我要做的是

  • aws\u codebuild\u source\u credential
    资源与
    aws\u ssm\u参数
    资源一起移动到单独的存储库中(甚至可能将创建作为一个模块)

  • 首先调配这些资源(预播种),当您调配
    aws\u codebuild\u source\u凭证时
    将其
    arn
    存储在
    aws\u ssm\u参数
    的已知名称下

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


我确实找到了一种方法,我几乎完全按照你的建议做了,我已经在SSM中拥有github令牌,所以我将github auth创建移动到一个单独的文件夹,然后使用字符串创建它,但我确实喜欢将它放在SSM中的想法。我推迟发布我自己的答案,直到我确定stringify确实能正常工作,这昨晚花了我一点时间,但本质上:resource=“arn:aws:codebuild:${var.region}:${var.account_id}:token/github”也适用于将来可能偶然发现它的任何人,此cli命令对于动态检查源凭据可用性非常有用:aws codebuild list源凭据