https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance
Note that every region has a different AMI ID. The AMI ID's keeps on changing so make sure you use the latest AMI ID from the AWS console similar to the way it is shown in the video.
https://registry.terraform.io/
https://registry.terraform.io/providers/hashicorp/aws/latest/docs
provider "aws" {
region = "us-west-2"
access_key = "PUT-YOUR-ACCESS-KEY-HERE"
secret_key = "PUT-YOUR-SECRET-KEY-HERE"
}
resource "aws_instance" "myec2" {
ami = "ami-082b5a644766e0e6f"
instance_type = "t2.micro"
}
terraform init
terraform plan
terraform apply
terraform {
required_providers {
github = {
source = "integrations/github"
version = "~> 5.0"
}
}
}
# Configure the GitHub Provider
provider "github" {
token = "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"
}
## Destruir tudo
terraform destroy
terraform destroy -target
## Example target destroy
terraform destroy -target aws_instance.myec2
Tfstate file contem todo o estado do que foi aplicado via terraform. Este arquivo possui todos os detalhes do que foi deployado, se ele for perdido sua automação ficará quebrada.É importante ter um backup desse arquivo para ambientes produtivos aprovsionados.
terraform refresh
Este comando atualiza informações com o tfstate quando uma alteração é realizada de forma manual no ambiente. Por exemplo, vc tem uma instância tipo t2.micro e precisa aumentar os recursos desta. Ao invés de aumentar via terraform, vc aumentou o recurso via AWS console.
Para sincronizar esta alteração com o tfstate é necessário rodar o (terraform refresh) do contrário ao utilizar o terraform novamente esta alteração será revertida para o desired state.