首页 > 解决方案 > 获取 aws_instance 创建的 key_pair 名称

问题描述

我的目标是编写一个 Terraform 定义来创建一个新的 AWS EC2 实例。在我的 AWS 项目中,我知道已经有一个密钥对定义。我知道这将是唯一的密钥对定义。我没有被告知密钥对的名称。

要创建 EC2 实例,我必须定义:

resource "aws_instance" "myinstance" {
  ...
  key_name="<KEY_NAME_STRING>"
  ...
}

里面有我的谜题。我希望使用Terraform 定义而无需用户交互。目前,我要求用户打开 AWS 控制台并找到密钥对名称并使用他们找到的密钥对名称编辑 Terraform 定义。理想情况下,我希望 Terraform 询问 AWS 环境,检索密钥对列表并选择列表中的第一个(唯一)项目以用于实例创建。不幸的是,我没有找到任何技术方法来实现这一点。

有没有人看到我可能研究的任何技术或解决方案?同样,假设我只有 Terraform,没有 AWS CLI 或其他在 Terraform 环境之外不可用的工具。

标签: terraformterraform-provider-aws

解决方案


推荐阅读