Terraform Elastic Beanstalk環境のsolution_stack_name一覧を取得する

Elastic Beanstalkの環境で指定可能なプラットフォーム一覧を取得する。

resource "aws_elastic_beanstalk_environment" "tfenvtest" {
  name                = "tf-test-name"
  application         = "${aws_elastic_beanstalk_application.tftest.name}"
  solution_stack_name = "64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4" ← ここ
}

AWS CLI上から取得可能。regionとprofileは必要があれば指定する。

$ aws elasticbeanstalk list-available-solution-stacks --region="ap-northeast-1" --profile="hoge"

{
    "SolutionStacks": [
        "64bit Amazon Linux 2018.03 v4.8.3 running Node.js",
        "64bit Amazon Linux 2018.03 v2.8.9 running PHP 5.4",
        "64bit Amazon Linux 2018.03 v2.8.9 running PHP 5.5",
        "64bit Amazon Linux 2018.03 v2.8.9 running PHP 5.6",
        "64bit Amazon Linux 2018.03 v2.8.9 running PHP 7.0",
        "64bit Amazon Linux 2018.03 v2.8.9 running PHP 7.1",
        "64bit Amazon Linux 2018.03 v2.8.9 running PHP 7.2",
        "64bit Amazon Linux 2018.03 v2.8.3 running Python 3.6",
        "64bit Amazon Linux 2018.03 v2.8.3 running Python 3.4",
        "64bit Amazon Linux 2018.03 v2.8.3 running Python",
        "64bit Amazon Linux 2018.03 v2.8.3 running Python 2.7",
        "64bit Amazon Linux 2018.03 v2.7.1 running Python 3.6",
        "64bit Amazon Linux 2017.03 v2.4.0 running Python 3.4",
        "64bit Amazon Linux 2016.09 v2.3.2 running Python 3.4",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.6 (Passenger Standalone)",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.5 (Passenger Standalone)",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.4 (Passenger Standalone)",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.3 (Passenger Standalone)",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.2 (Passenger Standalone)",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.1 (Passenger Standalone)",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.0 (Passenger Standalone)",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 1.9.3",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.6 (Puma)",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.5 (Puma)",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.4 (Puma)",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.3 (Puma)",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.2 (Puma)",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.1 (Puma)",
        "64bit Amazon Linux 2018.03 v2.9.3 running Ruby 2.0 (Puma)",
        "64bit Amazon Linux 2017.09 v2.7.1 running Ruby 2.5 (Puma)",
        "64bit Amazon Linux 2017.09 v2.7.1 running Ruby 2.5 (Passenger Standalone)",
        "64bit Amazon Linux 2016.03 v2.1.3 running Ruby 2.3 (Passenger Standalone)",
        "64bit Amazon Linux 2016.03 v2.1.0 running Ruby 2.3 (Passenger Standalone)",
        "64bit Amazon Linux 2018.03 v3.1.3 running Tomcat 8.5 Java 8",
        "64bit Amazon Linux 2018.03 v3.1.3 running Tomcat 8 Java 8",
        "64bit Amazon Linux 2018.03 v3.1.3 running Tomcat 7 Java 7",
        "64bit Amazon Linux 2018.03 v3.1.3 running Tomcat 7 Java 6",
        "64bit Windows Server Core 2016 v2.0.3 running IIS 10.0",
        "64bit Windows Server 2016 v2.0.3 running IIS 10.0",
        "64bit Windows Server Core 2012 R2 v2.0.3 running IIS 8.5",
        "64bit Windows Server 2012 R2 v2.0.3 running IIS 8.5",
        "64bit Windows Server Core 2016 v1.2.0 running IIS 10.0",
        "64bit Windows Server 2016 v1.2.0 running IIS 10.0",
        "64bit Windows Server Core 2012 R2 v1.2.0 running IIS 8.5",
        "64bit Windows Server 2012 R2 v1.2.0 running IIS 8.5",
        "64bit Windows Server 2012 v1.2.0 running IIS 8",
        "64bit Windows Server 2008 R2 v1.2.0 running IIS 7.5",
        "64bit Windows Server Core 2012 R2 running IIS 8.5",
        "64bit Windows Server 2012 R2 running IIS 8.5",
        "64bit Windows Server 2012 running IIS 8",
        "64bit Windows Server 2008 R2 running IIS 7.5",
        "64bit Amazon Linux 2018.03 v2.12.11 running Docker 18.06.1-ce",
        "64bit Amazon Linux 2018.03 v2.13.0 running Multi-container Docker 18.06.1-ce (Generic)",
        "64bit Debian jessie v2.12.11 running Go 1.4 (Preconfigured - Docker)",
        "64bit Debian jessie v2.12.11 running Go 1.3 (Preconfigured - Docker)",
        "64bit Debian jessie v2.12.11 running Python 3.4 (Preconfigured - Docker)",
        "64bit Amazon Linux 2018.03 v2.8.3 running Java 8",
        "64bit Amazon Linux 2018.03 v2.8.3 running Java 7",
        "64bit Amazon Linux 2018.03 v2.11.1 running Go 1.12.4",
        "64bit Amazon Linux 2018.03 v2.6.9 running Packer 1.0.3",
        "64bit Amazon Linux 2018.03 v2.12.11 running GlassFish 5.0 Java 8 (Preconfigured - Docker)"
    ],
    "SolutionStackDetails": [
        {
            "SolutionStackName": "64bit Amazon Linux 2018.03 v4.8.3 running Node.js",
            "PermittedFileTypes": [
                "zip"
            ]
        },
        ...省略...
    ]
}

www.terraform.io

docs.aws.amazon.com