我的目标是编写一个Terraform定义,该定义将创建一个新的AWS EC2实例。在我的AWS项目中,我知道,已经有一个密钥对定义。我知道这将是 only 密钥对定义。没有告诉我密钥对的名称。
要创建EC2实例,我必须定义:
resource "aws_instance" "myinstance" {
...
key_name="<KEY_NAME_STRING>"
...
}
里面有我的困惑。我的希望是在没有用户交互的情况下仅使用 Terraform定义。目前,我正在要求用户打开AWS控制台并找到密钥对名称,并使用他们找到的密钥对名称编辑Terraform定义。理想情况下,我希望Terraform询问AWS环境,检索密钥对列表,然后选择列表中的第一个(唯一)项目以用于实例创建。不幸的是,我没有找到实现这一目标的技术诀窍。
有人看到我可能调查的任何技术或解决方案吗?再次,让我假设我只有Terraform,而没有在Terraform环境之外无法使用的AWS CLI或其他工具。