Terraform Associate Exam QuestionsBrowse all questions from this exam

Terraform Associate Exam - Question 58


A Terraform provider is not responsible for:

Show Answer
Correct Answer: D

A Terraform provider is responsible for understanding interactions with APIs and exposing resources and data sources based on those APIs. It can help in provisioning infrastructure, but within the limitations of a single cloud environment or service. However, the responsibility for managing actions to take based on resource differences—such as creating, updating, or deleting resources—is handled by Terraform's core engine. The provider informs Terraform of the state of the resource, but it is the Terraform core that manages and executes the plan to bring the infrastructure to the desired state.

Discussion

60 comments
Sign in to comment
amrith501Option: B
Jun 12, 2022

The answer should be B A terraform can only provision resouce in one Cloud not multiple cloud

Nunyabiznes
Apr 5, 2023

No, it can provision in multiple clouds: provider "aws" { region = "us-west-2" } provider "azurerm" { features {} } resource "aws_instance" "example" { ami = "ami-0c55b159cbfafe1f0" instance_type = "t2.micro" } resource "azurerm_resource_group" "example" { name = "example" location = "East US" }

jerikoo
May 12, 2023

those are 2 providers, each provider can only deploy resources in one cloud.. several providers, in multicloud.. so "A Terraform provider" can only provision in one Cloud... B!

jerikoo
May 12, 2023

those are 2 providers, each provider can only deploy resources in one cloud.. several providers, in multicloud.. so "A Terraform provider" can only provision in one Cloud... B!

Zam88
Jun 20, 2022

answer is B

SpandropOption: D
Dec 16, 2023

I'm not a native English speaker, but I think that in the context of the question, "A Terraform provider" is referring to the concept of providers in Terraform as a whole, not a specific individual provider. I would go with D "Terraform providers are a plugin for Terraform that makes a collection of related resources available. A provider plugin is responsible for understanding API interactions and exposing resources. Providers generally are IaaS (like AWS, GCP, Microsoft Azure, OpenStack), PaaS (like Heroku), or SaaS services (like Terraform Cloud, DNSimple, CloudFlare). However, the management of actions based on resource differences (i.e., what to create, update, or delete) is handled by Terraform's core engine, not by the providers. The providers simply inform Terraform's core about what resources they can manage and how to manage them."

SchillmanOption: C
May 10, 2023

Terraform providers are responsible for understanding API interactions with a service, exposing resources and data sources based on that service's API, and managing actions to take based on resource differences. However, they are not responsible for provisioning infrastructure in multiple clouds. That is the role of Terraform itself, which is the infrastructure-as-code tool used to manage infrastructure across multiple cloud platforms. Thank you for bringing this to my attention.

samimshaikhOption: D
Dec 29, 2023

D. Managing actions to take based on resource differences: This is not a primary responsibility of a Terraform provider. Instead, Terraform itself handles this by comparing the desired state (defined in Terraform configurations) with the current state of the infrastructure and determining the necessary actions to achieve the desired state

AlandtOption: D
Jan 27, 2024

D: the management of actions based on resource differences is handled by Terraform itself, not the provider. The provider simply informs Terraform about the current state of the resource and how to create, update, or delete it.

TigerInTheCloudOption: D
Dec 19, 2023

B: you can write a provider to work on multiple clouds. D: is terraform core's work.

Fati_2022
Sep 11, 2022

D is the correct answer

saskuachmukazOption: D
Jul 9, 2023

A Terraform provider is responsible for understanding API interactions with a specific service, provisioning infrastructure in a specific cloud, and exposing resources and data sources based on an API. However, managing actions to take based on resource differences is the responsibility of Terraform's core engine, not the provider itself. The core engine compares the desired state declared in the Terraform configuration with the current state stored in the Terraform state file and determines the actions needed to achieve the desired state, such as creating, updating, or deleting resources. So, the answer is D. Managing actions to take based on resource differences.

GopinathM
Sep 8, 2022

D is right answer its says the provider is not responsible for . Provider is responsible for below Providers Providers are a logical abstraction of an upstream API. They are responsible for understanding API interactions and exposing resources. and also multiple clouds

Fati_2022
Sep 11, 2022

"The fact that Terraform is not tied to a specific infrastructure or cloud provider makes it a powerful tool in multi-provider deployments. You are able to manage all resources using the same set of configuration files, sharing variables or defining dependencies between resources across providers"

tf_userOption: D
Sep 16, 2022

D is the correct

sylvergorillaOption: B
Apr 14, 2023

Answer B is the correct answer because Terraform providers are responsible for managing resources within a single cloud provider. Using Terraform, you can provision infrastructure such as virtual machines, storage, and networking components within a single cloud provider. However, it is not responsible for provisioning infrastructure in multiple clouds. Instead, you would need to use multiple Terraform configurations, one for each cloud provider.

JJ4u
May 13, 2023

Option B seems to defeat the main objective of Terraform's existence which is cloud agnostic. Answer should be D

ealpuche
Oct 17, 2023

D. Managing actions to take based on resource differences. Terraform providers primarily focus on understanding API interactions with specific services, provisioning infrastructure, exposing resources and data sources based on an API, and maintaining the state of resources. However, managing actions based on resource differences is typically handled by Terraform's core functionality, specifically the terraform plan and terraform apply commands, which determine the changes needed to achieve the desired state and then apply those changes based on the execution plan. Providers interact with the target services but do not manage the core Terraform plan and apply process.

bicycleOption: B
Jun 12, 2022

https://www.terraform.io/language/providers

saryuOption: B
Jul 2, 2022

B is right

zyxphreezOption: A
Aug 24, 2022

Im not completely sure if the answer is A or D, the question is about the provider IS NOT responsible...... and definitely the provider IS responsible to provision Infrastructure in multiple cloud providers. "Terraform uses providers to provision resources, which describe one or more infrastructure objects like virtual networks and compute instances. Each provider on the Terraform Registry has documentation detailing available resources and their configuration options." https://www.terraform.io/cdktf/concepts/providers

Bobby1977
Oct 5, 2022

ya D is correct

FarziWaliMarziOption: B
Dec 23, 2022

"A" Terraform provider is responsible for "A" Cloud. "Multiple" Terraform providers can be responsible for "Multiple" Clouds.

KingsGambit
Apr 10, 2023

You are the only one that got this right on this page - thank you.

NunyabiznesOption: B
Mar 21, 2023

B. Provisioning infrastructure in multiple clouds. A Terraform provider is responsible for understanding API interactions with a particular service, exposing resources and data sources based on an API, and managing actions to take based on resource differences. However, it is not responsible for provisioning infrastructure in multiple clouds.

modarov
Aug 5, 2023

B. Provisioning infrastructure in multiple clouds.

BaburTurkOption: B
Aug 25, 2023

A Terraform provider is responsible for interacting with a specific API or service to manage resources and infrastructure. It abstracts the API interactions and exposes resources and data sources to be managed through Terraform configurations. It also handles managing actions based on resource differences (such as creating, updating, or deleting resources). However, it is not responsible for provisioning infrastructure in multiple clouds. This is usually handled by different providers, each tailored to a specific cloud or service.

aanataliyaOption: B
Sep 7, 2023

To some people confusion is between B and D. Let me try to clarify. 1. One who rejects B because of one specific provider "megaport". Technically, multi cloud deployment feature is provided by megaport and not by a provider. Quesition is not talking about specific provider. A provider(single provider) cannot mean "megaport" provider. it supposed to be true for any other single provider. so B cannot be rejected. Ref: https://registry.terraform.io/providers/megaport/megaport/latest/docs/guides/example_multicloud_aws_azure 2. D cannot be answer. As per terraform, providers are plugins. Terraform make a plan for desired state and communicate with plugin(provider) to make change. so it is responsibility of provider. Ref: https://developer.hashicorp.com/terraform/plugin/how-terraform-works

gofavad926Option: B
Sep 29, 2023

GPT answer: B. Provisioning infrastructure in multiple clouds Terraform providers are responsible for understanding API interactions with some service, exposing resources and data sources based on an API, and managing actions to take based on resource differences. However, Terraform providers are not responsible for provisioning infrastructure in multiple clouds. This is because Terraform is a cloud-agnostic tool, and each cloud provider has its own unique set of APIs and resources.

vibzr2023
Mar 28, 2024

D is correct. I don't know so many votes for B which is pretty basic that terraform can handle multiple providers not providers themselves

090200f
Jul 11, 2024

yes me too think in same way.. I vote for D

chaoscreaterOption: D
May 26, 2024

Agree with D

GreysiOption: D
Dec 27, 2024

A resource provider may provision to multiple clouds. you can write your own resource provider which covers multiple clouds. It's not part of resource provider to managing actions based on differences between existing resource and configuration. Resource provider will only execute actions. Managing actions and triggering resource provider to execute this action is part of terraform itself.

pyxgzmOption: D
Dec 28, 2024

The correct answer is D. Managing actions to take based on resource differences. However, managing actions to take based on resource differences is the responsibility of Terraform Core, not the provider. Terraform Core is responsible for: - Determining the desired state of the infrastructure based on the configuration - Comparing the desired state to the current state of the infrastructure - Determining the actions needed to reconcile any differences between the desired and current states So, while providers are responsible for interacting with external services and managing resources, Terraform Core is responsible for managing the overall provisioning process and determining the actions needed to achieve the desired state.

suri_surendraOption: D
Dec 29, 2024

The correct answer is: D. Managing actions to take based on resource differences Explanation: In Terraform, providers are responsible for interacting with APIs, provisioning resources, and exposing resources and data sources. However, the task of managing actions based on resource differences (such as determining what actions to take when the desired state differs from the current state) is handled by Terraform itself during the plan and apply phases, not by the provider.

EltoothOption: B
Jul 6, 2022

B is correct answer.

john_doe_1999
Oct 21, 2022

Answer is C

maddy90
Oct 21, 2022

answer is D

danieeerllOption: D
Nov 21, 2022

It is D

sejarOption: D
Nov 29, 2022

Multi provider option is available, so it should be D

chimonsOption: B
Dec 19, 2022

A Terraform provider is responsible for understanding API interactions with some service and exposing resources and data sources based on that API. It is also responsible for managing actions to take based on resource differences. Therefore, the correct answer is option B, provisioning infrastructure in multiple clouds. Option A, understanding API interactions with some service, is incorrect because a Terraform provider is responsible for this. Option C, exposing resources and data sources based on an API, is incorrect because a Terraform provider is responsible for this. Option D, managing actions to take based on resource differences, is incorrect because a Terraform provider is responsible for this.

AShahine21Option: D
Dec 25, 2022

based on my understanding of this question, I am responsible of Managing actions to change some resources, but Terraform Provider is responsible of prov. inf. by using the API. My answer is D, but to be fair, the question is not clear enough to be in the exam...

Only5
Jan 19, 2023

Answer should be D, we can use megaport for multi cloud https://registry.terraform.io/providers/megaport/megaport/latest/docs/guides/example_multicloud_aws_azure

agmesas
Feb 6, 2023

with a Terraform provider (without 's') you can only manage a single cloud (in different regions..) but deploying terraform configuration files in multiple clouds, you must set one provider by deployment. Definitely yo can not manage multiple cloud from the same configuration file (which has set a only one provider)

sahara99Option: D
Feb 15, 2023

You can specify multiple providers and provision multiple resources at the same time. My understanding is that individuals are responsible for managing the actions and not terraform, however the question is not very clear!

Ahmed_ElmelegyOption: D
Mar 16, 2023

Terraform is Cloud-agnostic. I think D is the answer

campsOption: B
Mar 31, 2023

B. Provisioning infrastructure in multiple clouds. A Terraform provider is a plugin that understands API interactions with a particular service and exposes resources and data sources based on that API. It is responsible for managing the lifecycle of those resources, including creating, modifying, and deleting them.

RadeekaOption: D
May 2, 2023

Between B and D, terraform is cloud agnostic. So should be D.

kylehodgetts
May 10, 2023

The question states "terraform provider" not simply "terraform". Answer is B

jerikoo
May 12, 2023

indeed it says "A terraform provider" and one Terraform provider can only provide in one Cloud, several providers in several clouds/multicloud, Answer is B.

jerikoo
May 12, 2023

indeed it says "A terraform provider" and one Terraform provider can only provide in one Cloud, several providers in several clouds/multicloud, Answer is B.

Ni33Option: D
May 9, 2023

D is the correct answer. Terraform provider block download and install required provider libraries. Resource block and its configuration help identify differences in the resource states.

Foram31
Jun 15, 2023

D as this is not provider's responsibility

LunarPhobia
Jul 26, 2023

B because a Terraform provider is for single cloud. You'll need several providers to have multiple clouds. Also a Terraform provider is much more than just for cloud use

ghostGuiggsOption: B
Nov 2, 2023

B is the answer

Molly1994
Jun 5, 2024

the answer is definitely D

JHkdigitalOption: B
Aug 15, 2024

The answer should be B

bora4motionOption: B
Aug 20, 2024

one provider will deploy to a single cloud provider not to many.

Algol
Sep 12, 2024

Answer is B: provisioning infrastructure in multiple clouds is not the direct responsibility of a single provider; each provider typically manages one cloud or service platform.

a45e482
Sep 15, 2024

The answer is B Tricky question a provider can only provision resources in one cloud platform, you will need multiple providers to provision in multiple cloud.

khvan84
Oct 18, 2024

B. Provisioning infrastructure in multiple clouds: Providers enable provisioning across different cloud platforms, so this is also a responsibility of the provider .

muammer32Option: D
Dec 13, 2024

The provider's role is focused on API interactions, provisioning infrastructure, and exposing resources. Managing actions based on resource differences is handled by Terraform’s core logic during the terraform plan and terraform apply processes, not by the provider itself. Thus, D is the correct answer.

shant_haghverdianOption: B
Dec 16, 2024

each provider is dedicated to its related infrastructure, you cant provision azure resources using was provider

rraabbbindOption: B
Dec 30, 2024

A terraform can only provision resouce in one Cloud not multiple cloud

cerepxOption: D
Jan 18, 2025

Terraform itself is responsible for comparing the desired configuration (in .tf files) with the current state (in the .tfstate file) and determining the appropriate actions (create, update, delete) to achieve the desired state. Providers execute those actions once Terraform decides what needs to be done, but they are not responsible for managing those actions based on resource differences. Terraform itself handles the planning and state comparison logic. Therefore, this is the correct answer as something a provider is not responsible for.

d759fb3Option: B
Jan 28, 2025

It should be B. Multiple Clouds (NOT a Provider Responsibility): # Use multiple providers for multiple clouds provider "aws" { region = "us-west-2" } provider "azurerm" { features {} } Managing Resource Differences (IS a Provider Responsibility): # Provider handles: # - Detecting changes # - Planning updates # - Applying changes resource "aws_instance" "example" { instance_type = "t2.micro" # Provider detects if this changes tags = { Name = "example" # Provider manages tag updates } }

YesPleaseOption: B
Jan 31, 2025

Answer B Poorly worded question, but a single Terraform provider is designed to work with only one specific cloud platform. For example, you can not ask AWS to create an infrastructure on Azure and vice versa.

sultazOption: B
Feb 23, 2025

While Terraform itself supports managing infrastructure across multiple clouds, individual providers are designed to focus on a single API or domain (e.g., AWS, Azure). They do not inherently provision infrastructure across multiple clouds; this is achieved by combining multiple providers in a Terraform configuration.