Files

40 lines
837 B
HCL

terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 6.0"
}
tls = {
source = "hashicorp/tls"
version = "~> 4.0"
}
local = {
source = "hashicorp/local"
version = "~> 2.5"
}
}
}
provider "aws" {
region = "us-east-1"
}
# Generate an RSA private key locally
resource "tls_private_key" "devops_kp" {
algorithm = "RSA"
rsa_bits = 4096
}
# Import the public half into AWS as an RSA key pair
resource "aws_key_pair" "devops_kp" {
key_name = "devops-kp"
public_key = tls_private_key.devops_kp.public_key_openssh
}
# Persist the private key to disk
resource "local_sensitive_file" "devops_kp_pem" {
content = tls_private_key.devops_kp.private_key_pem
filename = "/home/bob/devops-kp.pem"
file_permission = "0400"
}