mirror of
https://github.com/farcasclaudiu/terraform-course.git
synced 2026-06-22 07:01:56 +03:00
+3
-3
@@ -1,6 +1,6 @@
|
||||
provider "aws" {
|
||||
access_key = "${var.AWS_ACCESS_KEY}"
|
||||
secret_key = "${var.AWS_SECRET_KEY}"
|
||||
region = "${var.AWS_REGION}"
|
||||
access_key = var.AWS_ACCESS_KEY
|
||||
secret_key = var.AWS_SECRET_KEY
|
||||
region = var.AWS_REGION
|
||||
}
|
||||
|
||||
|
||||
+14
-4
@@ -1,10 +1,15 @@
|
||||
variable "AWS_ACCESS_KEY" {}
|
||||
variable "AWS_SECRET_KEY" {}
|
||||
variable "AWS_ACCESS_KEY" {
|
||||
}
|
||||
|
||||
variable "AWS_SECRET_KEY" {
|
||||
}
|
||||
|
||||
variable "AWS_REGION" {
|
||||
default = "eu-west-1"
|
||||
}
|
||||
|
||||
variable "WIN_AMIS" {
|
||||
type = "map"
|
||||
type = map(string)
|
||||
default = {
|
||||
us-east-1 = "ami-30540427"
|
||||
us-west-2 = "ami-9f5efbff"
|
||||
@@ -15,10 +20,15 @@ variable "WIN_AMIS" {
|
||||
variable "PATH_TO_PRIVATE_KEY" {
|
||||
default = "mykey"
|
||||
}
|
||||
|
||||
variable "PATH_TO_PUBLIC_KEY" {
|
||||
default = "mykey.pub"
|
||||
}
|
||||
|
||||
variable "INSTANCE_USERNAME" {
|
||||
default = "Terraform"
|
||||
}
|
||||
variable "INSTANCE_PASSWORD" { }
|
||||
|
||||
variable "INSTANCE_PASSWORD" {
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
|
||||
terraform {
|
||||
required_version = ">= 0.12"
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
resource "aws_key_pair" "mykey" {
|
||||
key_name = "mykey"
|
||||
public_key = "${file("${var.PATH_TO_PUBLIC_KEY}")}"
|
||||
key_name = "mykey"
|
||||
public_key = file(var.PATH_TO_PUBLIC_KEY)
|
||||
}
|
||||
|
||||
resource "aws_instance" "win-example" {
|
||||
ami = "${lookup(var.WIN_AMIS, var.AWS_REGION)}"
|
||||
ami = var.WIN_AMIS[var.AWS_REGION]
|
||||
instance_type = "t2.micro"
|
||||
key_name = "${aws_key_pair.mykey.key_name}"
|
||||
user_data = <<EOF
|
||||
key_name = aws_key_pair.mykey.key_name
|
||||
user_data = <<EOF
|
||||
<powershell>
|
||||
net user ${var.INSTANCE_USERNAME} '${var.INSTANCE_PASSWORD}' /add /y
|
||||
net localgroup administrators ${var.INSTANCE_USERNAME} /add
|
||||
@@ -27,6 +27,7 @@ net start winrm
|
||||
</powershell>
|
||||
EOF
|
||||
|
||||
|
||||
provisioner "file" {
|
||||
source = "test.txt"
|
||||
destination = "C:/test.txt"
|
||||
@@ -35,7 +36,8 @@ EOF
|
||||
host = coalesce(self.public_ip, self.private_ip)
|
||||
type = "winrm"
|
||||
timeout = "10m"
|
||||
user = "${var.INSTANCE_USERNAME}"
|
||||
password = "${var.INSTANCE_PASSWORD}"
|
||||
user = var.INSTANCE_USERNAME
|
||||
password = var.INSTANCE_PASSWORD
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user