terraform - 获取 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 环境之外不可用的工具。
解决方案
推荐阅读
- c++ - 用 std::numeric_limits::max() 初始化浮点数;
- amazon-web-services - 将相同的名称上传到 Amazon S3 但保留相同的权限
- python - 使用 solve_ivp 和 odeint 解决方案的曲线拟合差异
- flutter - 当通过用户滚动开始收缩时,如何使 FlexibleSpaceBar 的标题替换 SliverAppBar 的标题
- c++ - 无法连接到 center.conan.io
- python - PyCharm 调试:框架不可用,变量:已连接
- java - 如何确定 Java 是否在 Windows 上运行
- excel - Excel中复杂索引和匹配的可能情况?
- javascript - 如何在运行时将视图添加到本机反应中?
- css - 如何将bulma导航栏中的所有项目水平居中?