Terraform Basics Commands

Terraform Basic commands
terraform init
terraform init -migrate-state
terraform init -reconfigure
terraform plan
terraform plan -destroy
terraform plan -out=demopath
terraform apply demopath
terraform fmt
terraform apply -refresh-only -auto-approve -> Refresh fetch real remote objects & only modify state file
terraform apply -> Terraform will match current state to desired state
terraform apply -auto-approve
terraform destroy -> Delete All Resources in One Folder
terraform destroy -target aws_instance.AmazonAMI -> resource type.local resource name
terraform apply -var-file="custom.tfvars" -> Explicitly Run Custom tfvars
terraform validate -> Validating syntax error in terrafom configuration files
terraform apply -replace="aws_instance.myec2 -> Recreating the resource
export TF_LOG_PATH=/tmp/crash.log
export TF_LOG=TRACE
terraform force-unlock [options] LOCK_ID
terraform workspace show
terraform workspace list
terraform workspace new dev
terraform workspace select dev
terraform state list
terraform state mv
terraform state pull
terraform state rm
terraform state show
terraform import aws_vpc.Terraform-VPC vpc-01b001b6d28e8fe52
terraform plan -generate-config-out=generated.tf
terraform plan -generate-config-out=mysg.tf -chdir D:\AWS Triad & Terraform\import
Git Commands
terraformgit clone https://github.com/suniljoe15/terra.git
git clone https://x-token-auth:ATCTT3xFfGN0Grd7ydtJ7KWY12D_FlMcBlgwxTCXJeyezzpIMFj_2YqQCuMSawrOLViuTlImoC9r5mQqEOgCtqYmiGI25ynqGchpNx5UEylgXgCBWayZ3_zy8lEPLMDnlPmeDg3nqKjPs8w6lCbv2VsUN
FTs2Ple0UsFumKQ4-6_ttbzmXpF2MA=F8B06163@bitbucket.org/sunil/terraform-pipeline.git
git pull origin master
git status
git add . -> stage all files
git add bitbucket-pipelines.yml -> stage mentioned file only
git commit -m"my commit"
git push origin master init
Create AWS Instance
provider "aws" {
region = "ap-south-1"
access_key = "xxxxxxxxxxxxxxxxx"
secret_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
resource "aws_instance" "AmazonAMI" {
ami = "ami-0cc9838aa7ab1dce7"
instance_type = "t3.micro"
tags = {
Name = "AmazonAMIInstance"
}
depends_on = [aws_eip.lb]
}
Terraform Import
terraform import aws_security_group.Terraform-SG sg-004a3f5bdc675a2eb
terraform import aws_vpc.Terraform-VPC vpc-01b001b6d28e8fe52
terraform import aws_subnet.Terraform-Public-1-Subnet subnet-0e3e49bd9bc20ebbe
terraform import aws_subnet.Terraform-Public-2-Subnet subnet-0c4107e888ad42d95
terraform import aws_route_table.Terraform-RT rtb-06d4d3bc59e1d221d
terraform import aws_internet_gateway.Terraform-IGW igw-094ab3943bc9be6c7
terraform import aws_route_table_association.Terraform-RTA1 subnet-0e3e49bd9bc20ebbe/rtb-06d4d3bc59e1d221d
terraform import aws_route_table_association.Terraform-RTA2 subnet-0c4107e888ad42d95/rtb-06d4d3bc59e1d221d
terraform import aws_launch_template.Terraform-Template lt-0c9c6eea6ff1c986b
terraform import aws_key_pair.Terraform-KeyPair Terraform-KeyPair
terraform import aws_lb_target_group.Terraform-TG arn:aws:elasticloadbalancing:ap-south-1:590184002190:targetgroup/Terraform-TG/f44540fb4d7a0522
terraform import aws_lb.Terraform-ALB arn:aws:elasticloadbalancing:ap-south-1:590184002190:loadbalancer/app/Terraform-ALB/ff2779c964b1818f
terraform import aws_autoscaling_group.Terraform-ASG Terraform-ASG
Note : LoadBalancer Resource Import Not available - Need to add manually





