2017-05-22 19 views
1

私は、terraformを使用してCodePipelineジョブを作成しようとしています。私はすでにCodeBuildのプロジェクトが動作しています。私は私が手にエラーがError creating CodePipeline: InvalidActionDeclarationException: Action configuration for action 'Source' contains unknown configuration 'ProjectName'あるterraform applyをしようとするとterraform AWS CodeBuildソースステージのコードパイプライン設定

resource "aws_codepipeline" "my-project" { 
    name  = "my-project" 
    role_arn = "${aws_iam_role.my-project-codepipeline.arn}" 

    artifact_store { 
    location = "${aws_s3_bucket.my-artifacts.bucket}" 
    type  = "S3" 
    } 

    stage { 
    name = "Source" 

    action { 
     name  = "Source" 
     category = "Source" 
     owner = "AWS" 
     provider = "CodeCommit" 
     version = "1" 

     configuration { 
     ProjectName = "my-project" 
     Branch  = "master" 
     } 
    } 
    } 

    stage { 
    name = "Build" 

    action { 
     name  = "Build" 
     category = "Build" 
     owner = "AWS" 
     provider = "CodeBuild" 
     version = "1" 

     configuration { 
     ProjectName = "my-project" 
     } 
    } 
    } 
} 

:ここに私のリソースです。この構成セクションの適切なスキーマはどこで見つけることができますか?これまでに発見したドキュメントや例はすべて一般的なもので、ここで必要となるCodeBuildの設定/スキーマは省略しています。

答えて

2

が、私はソースのために必要な設定を判明あなたはトークンCodeBuildのSTSへのアクセスを必要と終わる場合、これが役立つこと

RepositoryName = "my-project" 
BranchName = "master" 
0

です。

version: 0.2 
env: 
    variables: 
    AWS_DEFAULT_REGION: "us-west-2" 
phases: 
    install: 
    commands: 
     - apt-get -y update 
     - apt-get -y install jq 
    pre_build: 
     commands: 

     # load acs submodule (since codebuild doesn't pull the .git folder from the repo 
     - cd common 
     - git clone https://[email protected]/aws-account-tools/acs.git 
     - cd ../ 

     #install terraform 
     - other/install-tf-linux64.sh 
     - terraform --version 

     #set env variables for terraform provider 
     - curl 169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI | jq 'to_entries | [ .[] | select(.key | (contains("Expiration") or contains("RoleArn")) | not) ] | map(if .key == "AccessKeyId" then . + {"key":"AWS_ACCESS_KEY_ID"} else . end) | map(if .key == "SecretAccessKey" then . + {"key":"AWS_SECRET_ACCESS_KEY"} else . end) | map(if .key == "Token" then . + {"key":"AWS_SESSION_TOKEN"} else . end) | map("export \(.key)=\(.value)") | .[]' -r > /tmp/cred.txt # work around https://github.com/hashicorp/terraform/issues/8746 
     - chmod +x /tmp/cred.txt 
     - . /tmp/cred.txt 
    build: 
    commands: 
     - ls 
     - cd your/repo's/folder/with/main.tf 
     - terraform init 
     - terraform plan 
     - terraform 

を適用
関連する問題