Practice English vocabulary for Terraform providers: AWS provider resources, version pinning, provider configuration, data sources, and provider initialization.
0 / 35 completed
1 / 35
What does 'the Terraform AWS provider manages EC2, S3, VPC' mean?
Terraform providers are plugins that interface with a specific cloud or service API. The AWS provider (hashicorp/aws) supports hundreds of AWS resource types. Without it, Terraform cannot manage AWS infrastructure.
2 / 35
What does 'the provider version is pinned to 5.x' mean?
Provider version constraints in required_providers protect against unintended breaking changes. '~> 5.0' allows 5.0, 5.1, 5.2 etc. but not 6.0. Pinning ensures all team members and CI use compatible provider versions.
3 / 35
What does 'the provider requires configuration (region, credentials)' mean?
The provider block in Terraform configures provider-specific settings. For AWS: the region determines where resources are created, and credentials determine which account and permissions are used. Without proper configuration, all API calls fail.
4 / 35
What is a 'data source' that 'reads existing infrastructure'?
Data sources (data blocks) are read-only: they query existing resources or external APIs and make the results available in Terraform. Common examples: aws_ami (fetch latest image), aws_vpc (look up VPC by name), aws_ssm_parameter (read a config value from SSM).
5 / 35
What happens on 'terraform init' regarding provider plugins?
'terraform init' is the first command run in a new Terraform project or after adding providers. It resolves and downloads provider plugins, initializes the backend, and creates the lock file. The downloaded providers are stored in .terraform/providers/.
6 / 35
Review Comment: "John mentioned the Terraform configuration is using the 'azurerm' provider. He's saying he's getting errors about missing subscription IDs. Should I advise him to check if the provider plugin is correctly installed and configured?"
This scenario tests understanding of provider configuration. The azurerm provider needs an active Azure context (credentials) managed by its plugin. John's error suggests a misconfiguration here, not necessarily a bug in the code itself. Option A is incorrect because CLI installation issues are separate from provider configuration.
7 / 35
Slack Message: "Sarah: Hey team, I'm trying to use the 'google_compute_instance' resource in Terraform, but it's failing. The error says 'invalid credentials'. I've double-checked my service account key file, but still nothing."
This question assesses understanding of specific resource requirements. The google_compute_instance provider *specifically* demands a correctly formatted service account key file. Options A and C misinterpret the error message; Option D is incorrect as Terraform doesn't automatically validate keys – that's Sarah's responsibility.
8 / 35
PR Description: "Added a new feature to deploy a Kubernetes cluster using the 'digitalocean' provider. Added a variable `do_size` to define the size of the droplet. Used a data source to fetch the public IP address after deployment."
This tests knowledge of common IaC practices. The description correctly highlights the use of a provider (digitalocean), variable definition, and data source integration – all key aspects of managing infrastructure as code. Option A is incorrect because the description *is* informative; Options C and D are factually inaccurate.
9 / 35
Standup Update: "Mark: I'm working on automating our AWS infrastructure deployments using Terraform. We're primarily focusing on the 'aws' provider and deploying EC2 instances and S3 buckets."
This scenario tests the ability to articulate a basic IaC setup. Mark's statement clearly identifies the core components: the provider (aws), and two common resources—EC2 instances and S3 buckets. Options A, C, and D are irrelevant or factually incorrect, demonstrating understanding of the overall process.
10 / 35
Code Review Comment: "David: I'm seeing you're using the 'oci' provider to manage your Oracle Cloud infrastructure. Could you explain how you're handling the 'compartment_ocid' variable? It seems like it should be passed in as an environment variable rather than hardcoded."
This question focuses on secure configuration practices. While hardcoding identifiers *can* work in some cases, using environment variables for sensitive configuration data like OCIDs is a crucial security best practice to prevent accidental exposure and improve maintainability. Option A is irrelevant; Options C and D are factually incorrect.
11 / 35
Review Comment: "John mentioned the Terraform configuration is using the 'azurerm' provider. He's saying he's getting errors about missing subscription IDs. Should I advise him to check if the provider plugin is correctly installed and configured?"
This scenario tests understanding of provider configuration. The azurerm provider needs an active Azure context (credentials) managed by its plugin. John's error suggests a misconfiguration here, not necessarily a bug in the code itself. Option A is incorrect because CLI installation issues are separate from provider configuration.
12 / 35
Slack Message: "Sarah: Hey team, I'm trying to use the 'google_compute_instance' resource in Terraform, but it's failing. The error says 'invalid credentials'. I've double-checked my service account key file, but still nothing."
This question assesses understanding of specific resource requirements. The google_compute_instance provider *specifically* demands a correctly formatted service account key file. Options A and C misinterpret the error message; Option D is incorrect as Terraform doesn't automatically validate keys – that's Sarah's responsibility.
13 / 35
PR Description: "Added a new feature to deploy a Kubernetes cluster using the 'digitalocean' provider. Added a variable `do_size` to define the size of the droplet. Used a data source to fetch the public IP address after deployment."
This tests knowledge of common IaC practices. The description correctly highlights the use of a provider (digitalocean), variable definition, and data source integration – all key aspects of managing infrastructure as code. Option A is incorrect because the description *is* informative; Options C and D are factually inaccurate.
14 / 35
Standup Update: "Mark: I'm working on automating our AWS infrastructure deployments using Terraform. We're primarily focusing on the 'aws' provider and deploying EC2 instances and S3 buckets."
This scenario tests the ability to articulate a basic IaC setup. Mark's statement clearly identifies the core components: the provider (aws), and two common resources—EC2 instances and S3 buckets. Options A, C, and D are irrelevant or factually incorrect, demonstrating understanding of the overall process.
15 / 35
Code Review Comment: "David: I'm seeing you're using the 'oci' provider to manage your Oracle Cloud infrastructure. Could you explain how you're handling the 'compartment_ocid' variable? It seems like it should be passed in as an environment variable rather than hardcoded."
This question focuses on secure configuration practices. While hardcoding identifiers *can* work in some cases, using environment variables for sensitive configuration data like OCIDs is a crucial security best practice to prevent accidental exposure and improve maintainability. Option A is irrelevant; Options C and D are factually incorrect.
16 / 35
Review Comment: "John mentioned the Terraform configuration is using the 'azurerm' provider. He's saying he's getting errors about missing subscription IDs. Should I advise him to check if the provider plugin is correctly installed and configured?"
This scenario tests understanding of provider configuration. The azurerm provider needs an active Azure context (credentials) managed by its plugin. John's error suggests a misconfiguration here, not necessarily a bug in the code itself. Option A is incorrect because CLI installation issues are separate from provider configuration.
17 / 35
Slack Message: "Sarah: Hey team, I'm trying to use the 'google_compute_instance' resource in Terraform, but it's failing. The error says 'invalid credentials'. I've double-checked my service account key file, but still nothing."
This question assesses understanding of specific resource requirements. The google_compute_instance provider *specifically* demands a correctly formatted service account key file. Options A and C misinterpret the error message; Option D is incorrect as Terraform doesn't automatically validate keys – that's Sarah's responsibility.
18 / 35
PR Description: "Added a new feature to deploy a Kubernetes cluster using the 'digitalocean' provider. Added a variable `do_size` to define the size of the droplet. Used a data source to fetch the public IP address after deployment."
This tests knowledge of common IaC practices. The description correctly highlights the use of a provider (digitalocean), variable definition, and data source integration – all key aspects of managing infrastructure as code. Option A is incorrect because the description *is* informative; Options C and D are factually inaccurate.
19 / 35
Standup Update: "Mark: I'm working on automating our AWS infrastructure deployments using Terraform. We're primarily focusing on the 'aws' provider and deploying EC2 instances and S3 buckets."
This scenario tests the ability to articulate a basic IaC setup. Mark's statement clearly identifies the core components: the provider (aws), and two common resources—EC2 instances and S3 buckets. Options A, C, and D are irrelevant or factually incorrect, demonstrating understanding of the overall process.
20 / 35
Code Review Comment: "David: I'm seeing you're using the 'oci' provider to manage your Oracle Cloud infrastructure. Could you explain how you're handling the 'compartment_ocid' variable? It seems like it should be passed in as an environment variable rather than hardcoded."
This question focuses on secure configuration practices. While hardcoding identifiers *can* work in some cases, using environment variables for sensitive configuration data like OCIDs is a crucial security best practice to prevent accidental exposure and improve maintainability. Option A is irrelevant; Options C and D are factually incorrect.
21 / 35
Review Comment: "John mentioned the Terraform configuration is using the 'azurerm' provider. He's saying he's getting errors about missing subscription IDs. Should I advise him to check if the provider plugin is correctly installed and configured?"
This scenario tests understanding of provider configuration. The azurerm provider needs an active Azure context (credentials) managed by its plugin. John's error suggests a misconfiguration here, not necessarily a bug in the code itself. Option A is incorrect because CLI installation issues are separate from provider configuration.
22 / 35
Slack Message: "Sarah: Hey team, I'm trying to use the 'google_compute_instance' resource in Terraform, but it's failing. The error says 'invalid credentials'. I've double-checked my service account key file, but still nothing."
This question assesses understanding of specific resource requirements. The google_compute_instance provider *specifically* demands a correctly formatted service account key file. Options A and C misinterpret the error message; Option D is incorrect as Terraform doesn't automatically validate keys – that's Sarah's responsibility.
23 / 35
PR Description: "Added a new feature to deploy a Kubernetes cluster using the 'digitalocean' provider. Added a variable `do_size` to define the size of the droplet. Used a data source to fetch the public IP address after deployment."
This tests knowledge of common IaC practices. The description correctly highlights the use of a provider (digitalocean), variable definition, and data source integration – all key aspects of managing infrastructure as code. Option A is incorrect because the description *is* informative; Options C and D are factually inaccurate.
24 / 35
Standup Update: "Mark: I'm working on automating our AWS infrastructure deployments using Terraform. We're primarily focusing on the 'aws' provider and deploying EC2 instances and S3 buckets."
This scenario tests the ability to articulate a basic IaC setup. Mark's statement clearly identifies the core components: the provider (aws), and two common resources—EC2 instances and S3 buckets. Options A, C, and D are irrelevant or factually incorrect, demonstrating understanding of the overall process.
25 / 35
Code Review Comment: "David: I'm seeing you're using the 'oci' provider to manage your Oracle Cloud infrastructure. Could you explain how you're handling the 'compartment_ocid' variable? It seems like it should be passed in as an environment variable rather than hardcoded."
This question focuses on secure configuration practices. While hardcoding identifiers *can* work in some cases, using environment variables for sensitive configuration data like OCIDs is a crucial security best practice to prevent accidental exposure and improve maintainability. Option A is irrelevant; Options C and D are factually incorrect.
26 / 35
Review Comment: "John mentioned the Terraform configuration is using the 'azurerm' provider. He's saying he's getting errors about missing subscription IDs. Should I advise him to check if the provider plugin is correctly installed and configured?"
This scenario tests understanding of provider configuration. The azurerm provider needs an active Azure context (credentials) managed by its plugin. John's error suggests a misconfiguration here, not necessarily a bug in the code itself. Option A is incorrect because CLI installation issues are separate from provider configuration.
27 / 35
Slack Message: "Sarah: Hey team, I'm trying to use the 'google_compute_instance' resource in Terraform, but it's failing. The error says 'invalid credentials'. I've double-checked my service account key file, but still nothing."
This question assesses understanding of specific resource requirements. The google_compute_instance provider *specifically* demands a correctly formatted service account key file. Options A and C misinterpret the error message; Option D is incorrect as Terraform doesn't automatically validate keys – that's Sarah's responsibility.
28 / 35
PR Description: "Added a new feature to deploy a Kubernetes cluster using the 'digitalocean' provider. Added a variable `do_size` to define the size of the droplet. Used a data source to fetch the public IP address after deployment."
This tests knowledge of common IaC practices. The description correctly highlights the use of a provider (digitalocean), variable definition, and data source integration – all key aspects of managing infrastructure as code. Option A is incorrect because the description *is* informative; Options C and D are factually inaccurate.
29 / 35
Standup Update: "Mark: I'm working on automating our AWS infrastructure deployments using Terraform. We're primarily focusing on the 'aws' provider and deploying EC2 instances and S3 buckets."
This scenario tests the ability to articulate a basic IaC setup. Mark's statement clearly identifies the core components: the provider (aws), and two common resources—EC2 instances and S3 buckets. Options A, C, and D are irrelevant or factually incorrect, demonstrating understanding of the overall process.
30 / 35
Code Review Comment: "David: I'm seeing you're using the 'oci' provider to manage your Oracle Cloud infrastructure. Could you explain how you're handling the 'compartment_ocid' variable? It seems like it should be passed in as an environment variable rather than hardcoded."
This question focuses on secure configuration practices. While hardcoding identifiers *can* work in some cases, using environment variables for sensitive configuration data like OCIDs is a crucial security best practice to prevent accidental exposure and improve maintainability. Option A is irrelevant; Options C and D are factually incorrect.
31 / 35
Review Comment: "John mentioned the Terraform configuration is using the 'azurerm' provider. He's saying he's getting errors about missing subscription IDs. Should I advise him to check if the provider plugin is correctly installed and configured?"
This scenario tests understanding of provider configuration. The azurerm provider needs an active Azure context (credentials) managed by its plugin. John's error suggests a misconfiguration here, not necessarily a bug in the code itself. Option A is incorrect because CLI installation issues are separate from provider configuration.
32 / 35
Slack Message: "Sarah: Hey team, I'm trying to use the 'google_compute_instance' resource in Terraform, but it's failing. The error says 'invalid credentials'. I've double-checked my service account key file, but still nothing."
This question assesses understanding of specific resource requirements. The google_compute_instance provider *specifically* demands a correctly formatted service account key file. Options A and C misinterpret the error message; Option D is incorrect as Terraform doesn't automatically validate keys – that's Sarah's responsibility.
33 / 35
PR Description: "Added a new feature to deploy a Kubernetes cluster using the 'digitalocean' provider. Added a variable `do_size` to define the size of the droplet. Used a data source to fetch the public IP address after deployment."
This tests knowledge of common IaC practices. The description correctly highlights the use of a provider (digitalocean), variable definition, and data source integration – all key aspects of managing infrastructure as code. Option A is incorrect because the description *is* informative; Options C and D are factually inaccurate.
34 / 35
Standup Update: "Mark: I'm working on automating our AWS infrastructure deployments using Terraform. We're primarily focusing on the 'aws' provider and deploying EC2 instances and S3 buckets."
This scenario tests the ability to articulate a basic IaC setup. Mark's statement clearly identifies the core components: the provider (aws), and two common resources—EC2 instances and S3 buckets. Options A, C, and D are irrelevant or factually incorrect, demonstrating understanding of the overall process.
35 / 35
Code Review Comment: "David: I'm seeing you're using the 'oci' provider to manage your Oracle Cloud infrastructure. Could you explain how you're handling the 'compartment_ocid' variable? It seems like it should be passed in as an environment variable rather than hardcoded."
This question focuses on secure configuration practices. While hardcoding identifiers *can* work in some cases, using environment variables for sensitive configuration data like OCIDs is a crucial security best practice to prevent accidental exposure and improve maintainability. Option A is irrelevant; Options C and D are factually incorrect.
What will I practise in "IaC Provider Vocabulary"?
Practice English vocabulary for Terraform providers: AWS provider resources, version pinning, provider configuration, data sources, and provider initialization.
How many exercises are in this module?
This module has 35 multiple-choice exercises, each with instant feedback and a full explanation of the correct answer.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall.
Do I need to create an account to do these exercises?
No account is required. Just click an option to answer — your score for this session is tracked automatically in the progress bar above.
What happens if I choose the wrong answer?
You'll immediately see which answer was correct, plus a full explanation covering the vocabulary and reasoning behind it — mistakes are where most of the learning happens.
Can I retry the exercises if I want a higher score?
Yes — use the "Try again" button on the results screen to reset and go through all the questions again.
Is my progress saved if I close the page?
No. Progress is tracked only for your current visit; reloading or leaving the page resets the counter. This keeps the exercise simple and account-free.
Where can I find more Infrastructure as Code exercises?
Browse the full Infrastructure as Code hub for related drills, or check the "Next up" link below to continue with a connected topic.
How is this different from reading an article on the same topic?
Articles explain vocabulary and concepts in prose; this exercise tests and reinforces that vocabulary through active recall with immediate feedback — the two work best together.
Who writes these exercises?
Every exercise is written by the CoderSlingo team, drawing on real workplace English used in IT roles, then reviewed for accuracy and clarity.