Terraform AWS代码构建验证问题webhook分支

Terraform AWS代码构建验证问题webhook分支,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,使用terraform v0.11.11和aws插件v2.0.0x4,我刚开始在aws中创建代码构建项目时收到一个错误 与代码构建相关的地形部分如下所示: resource "aws_codebuild_project" "codebuild-bitbucket" { name = "validation-SD_REPOSITORY-SD_COUNTRY-SD_ENVIRONMENT" description = "Validate Bitbucket Code from

使用terraform v0.11.11和aws插件v2.0.0x4,我刚开始在aws中创建代码构建项目时收到一个错误

与代码构建相关的地形部分如下所示:

resource "aws_codebuild_project" "codebuild-bitbucket" {
name          = "validation-SD_REPOSITORY-SD_COUNTRY-SD_ENVIRONMENT"
description   = "Validate Bitbucket Code from PR"
service_role  = "${aws_iam_role.codebuild-role.arn}"

artifacts {
    type = "S3"
    location = "${aws_s3_bucket.artifact-store.bucket}"
    packaging = "NONE"
}

environment {
    compute_type = "BUILD_GENERAL1_SMALL"
    image        = "aws/codebuild/docker:18.09.0"
    type         = "LINUX_CONTAINER"
    privileged_mode = "true"
    environment_variable {
        "name" = "ECRID"
        "value" = "${var.codebuild_docker_ecr_id}"
    }
    environment_variable {
        "name" = "ECRREGION"
        "value" = "${var.region}"
    }
}

source {
    type            = "BITBUCKET"
    buildspec = "configuration/buildspec.yml"
    location = "${var.specific_repo}"
    auth            {
        type = "OAUTH"
    }
    report_build_status = "true"
}
tags = {
  country = "${var.country_tag}"
}
}
resource "aws_codebuild_webhook" "codebuild-webhook-bitbucket" {
    project_name = "${aws_codebuild_project.codebuild-bitbucket.name}"
}
对代码构建配置应用更新后,添加新的环境变量,我收到以下错误:

Error: Error applying plan:

1 error(s) occurred:

* aws_codebuild_webhook.codebuild-webhook-bitbucket: 1 error(s) occurred:

* aws_codebuild_webhook.codebuild-webhook-bitbucket: ValidationException: 1 validation error detected: Value '' at 'newProjectVersion.webhook.branches' failed to satisfy constraint: Member must have length greater than or equal to 1
        status code: 400, request id: 55dcfe4b-3ffe-11e9-ae77-a3b085c34d60

Terraform does not automatically rollback in the face of errors.
Instead, your Terraform state file has been partially updated with
any resources that successfully completed. Please address the error
above and apply again to incrementally change your infrastructure.


2019/03/06 10:55:22 [DEBUG] plugin: waiting for all plugin processes to complete...
2019-03-06T10:55:22.081Z [DEBUG] plugin.terraform-provider-aws_v2.0.0_x4: 2019/03/06 10:55:22 [ERR] plugin: plugin server: accept unix /tmp/plugin325591570: use of closed network connection
2019-03-06T10:55:22.082Z [DEBUG] plugin: plugin process exited: path=/tmp/working/.terraform/plugins/linux_amd64/terraform-provider-aws_v2.0.0_x4
make: *** [Makefile:6: apply] Error 1
问题是什么?我能做些什么来解决它


提前感谢。

我不确定这是什么原因造成的,但我最近也开始在已知的工作提供商版本上看到这一点。要使其再次工作,只需将branch_筛选器添加到您的webhook资源中,如下所示:

resource "aws_codebuild_webhook" "codebuild-webhook-bitbucket" {
    project_name = "${aws_codebuild_project.codebuild-bitbucket.name}"
    branch_filter = ".*"
}

这是一个错误。我们正在恢复引入它的更改,这将解决此问题。感谢您让我们注意到它。

它以前有用吗?在AWS提供程序的哪个版本上?如果您回滚到AWS提供程序的该版本,它是否仍然有效?在应用程序出现错误之前,计划显示了什么?是的,它工作了,本周停止工作了。照@redec说的做。这似乎是新的branch_过滤器的一个问题,正如文档所说,它不是可选的。它工作了!非常感谢@redec:)在官方文档()中,据说此值是可选的,但似乎不是。很可能AWS对其API进行了罕见的突破性更改,以满足其要求,但AWS提供商尚未反映出这一点。它看起来覆盖了相同的内容,所以您可能希望跟踪它。谢谢@ydaetskcoR