Terraform Workflow Basics
Terraform Syntax and Core Blocks
Import, Data Sources, and Dependencies
AWS CLI Commands from the Transcribe Labs
Week 7 Architecture and Troubleshooting
100

Answer: This Terraform command sets up your working directory and downloads provider plugins before you can plan or apply.

Question: What is terraform init?

100

Answer: This Terraform block type defines cloud infrastructure objects like VPCs, subnets, and EC2 instances.


Question: What is a resource block?

100

Answer: This command brings an existing AWS resource under Terraform management.

Question: What is terraform import?

100

Answer: This CLI command starts a speech-to-text job in AWS Transcribe.

Question: What is aws transcribe start-transcription-job?

100

Answer: In the Day 1 challenge, this route destination CIDR opened outbound internet access through the route table.

Question: What is 0.0.0.0/0?

200

Answer: This command checks Terraform configuration syntax and internal consistency without touching infrastructure.

Question: What is terraform validate?

200

Answer: In resource "aws_subnet" "troy_public_subnet", this part is the provider resource type.

Question: What is aws_subnet?

200

Answer: These Terraform constructs were highlighted in Week 7 for controlling multiple resources and behavior: count, for_each, depends_on, and this one.

Question: What is lifecycle?

200

Answer: This command checks the status/details of a specific transcription job.

Question: What is aws transcribe get-transcription-job?

200

Answer: This AWS resource attached to the VPC enables internet connectivity for public subnet routes.

Question: What is an Internet Gateway (aws_internet_gateway)?

300

Answer: This command previews infrastructure changes before they are made.

Question: What is terraform plan?

300

Answer: This block customizes deployments by letting you pass values like region and instance type.

Question: What is a variable block?

300

Answer: In the Lambda lab, this meta-argument ensures IAM policy attachment is completed before Lambda resources are created.

Question: What is depends_on?

300

Answer: This command creates a new S3 bucket in the labs, often with a dynamic name using $(whoami).

Question: What is aws s3 mb?

300

Answer: In the Day 4 Lambda lab, delayed IAM role propagation could make this Terraform command appear stuck on "Still creating..." even when resources were created.

Question: What is terraform apply?

400

Answer: This command actually creates or updates cloud resources based on your configuration.

Question: What is terraform apply?

400

Answer: This block exposes values such as an EC2 public IP after apply.

Question: What is an output block?

400

Answer: This block type fetches existing information from AWS instead of creating a new resource, such as AMI lookup patterns.

Question: What is a data block (data source)?

400

Answer: This command copies a local audio file into S3 for processing.

Question: What is aws s3 cp?

400

Answer: This CLI check was used during troubleshooting to confirm Lambda functions existed even if Terraform seemed hung.

Question: What is aws lambda list-functions --region us-east-1 | grep transcribe-demo?

500

Answer: This command removes the resources Terraform is managing for the current configuration.

Question: What is terraform destroy?

500

Answer: In the Week 7 EC2 challenge, this setting on the public subnet helps instances receive public IPs on launch.

Question: What is map_public_ip_on_launch = true?

500

Answer: After importing vocabulary/filter resources, this command should ideally show "No changes" if import/state alignment succeeded.

Question: What is terraform plan?

500

Answer: This command is used in Week 7 to execute a Lambda and write the response to a file (for example, response.json).

Question: What is aws lambda invoke?

500

Answer: In the Day 1 network build, this Terraform resource links a subnet to a route table.

Question: What is aws_route_table_association?

M
e
n
u