Do resources usually have defined relationships with each other?
Not unless the depends_on meta-argument is set.The _____ meta-argument selects non-default configuration inside a provider block.
aliasResources may require a program to be run before Terraform finishes operations on them. The _____ and _____ meta-arguments take extra non-declarative actions after resource creation
provisioner and connection
A resource must be associated with one _____ configuration, defined in the same module, or in the parent module (either through _____ or via the _____ argument)
provider inheritance providersCan remote state use GCS?
YesCan remote state use Amazon S3?
YesThe boolean _____ lifecycle meta-argument changes resource update behavior so that the new replacement object is created first, and then the prior object is destroyed only once the replacement is created. This is an opt-in behavior because many remote object types have unique name requirements or other constraints that must be accommodated for both a new and an old object to exist concurrently. Some resource types offer special options to append a random suffix onto each object name to avoid collisions, for example. Terraform CLI cannot automatically activate such features, so you must understand the constraints for each resource type before using _____ with it.
create_before_destroyThe _____ lifecycle meta-argument makes Terraform reject any plan/command that would destroy the object associated with the resource. However, this makes some configuration changes impossible to apply.
prevent_destroySettings of a remote object might be modified outside of Terraform, which it would attempt to "fix" on the next run. The _____ lifecycle meta-argument specifies resource attributes that Terraform should ignore when planning updates to the associated remote object.
ignore_changesWhat is special about files using the *.auto.tfvars filename structure?
They get loaded automaticallyThe command terraform _____ selects a workspace.
terraform workspace selectWhen uploading with the file provisioner, the presence of a trailing slash makes the source dir _____ with destination dir.
mergeA resource spec addresses a specific resource in the config using the fields resource______, resource______, and an optional .resource_____
type, name, indexWhen Terraform must make a change to a resource argument that cannot be updated in-place due to remote API limitations, Terraform will replace the existing object with a new one. This can be changed with the _____ lifecycle meta-argument.
create_before_destroy_____ configure where to store state and where/how to perform operations.
BackendsWhen an often-changed value is used in many places in the configuration, you can use _____ values.
localLocal state workspaces can be found inside the _____/ directory.
terraform.tfstate.d/What arguments does the local-exec provisioner take?
command, [interpreter], [environment], [working_dir]Terraform logs are sent to stderr by default, but only if _____ is set.
TF_LOGthe command terraform _____ views the specified version constraints for all providers in the configuration.
terraform providersWhat is the default local state filename?
terraform.tfstateIs terraform.tfvars always automatically loaded?
YesWhen using remote state, you access root module outputs using the _____ data source.
terraform_remote_stateWhat arguments does the file provisioner take?
source, destination, contentAfter a resource is created, a binary must be executed on your local host. The _____ provisioner does this.
local-execTerraform log levels (TRACE, DEBUG, INFO, WARN, ERROR) are set via the _____ environment variable.
TF_LOGInput Variables are accessible ONLY from the same module via the ____.<NAME> keyword.
var.The _____ tracks real world instances of your configuration and their metadata.
stateAre workspaces equivalent to renaming your state file?
Yes - with added support for remote stateA provider block can appear in any module down the line, but should ideally be kept inside the _____ module for reusability.
rootThe syntax of a resource is: resource "_____" "_____" {_____}
<type> <local_name> configuration argumentsAre count and for_each meta-arguments mutually exclusive?
YesVariables can be passed to terraform plan or terraform apply via the _____ flag.
-varThe _____ provisioner copies files from localhost to the resource via ssh or winrm.
fileWhere do resource types come from?
ProvidersHow to use the same provider with different configurations for different resources?
aliasVariable files (.tfvars) are loaded in the CLI via the _____ flag.
-var-fileThe names of Terraform-specific environment variables have the prefix _____
TF_VAR_Terraform configurations consist of a _____ module where evaluation begins and _____ modules, created when modules call each other.
root childA resource can have an inner _____ block defined, to customize how long different CRUD operations are allowed to take before they fail.
TimeoutsCan remote state use HashiCorp Cloud / HashiCorp Consul?
YesThe _____ meta-argument replicates a resources into indexed, identical clones.
count
The state locks down for every state-_____ operation.
state-writingWhat do credential helpers do?
Program custom ways to fetch credentials_____-arguments aren't specific to any one resource type.
meta-argumentsUsing the file provisioner via ssh, the remote directory must already _____
existYou can download the remote state with the terraform _____ command.
terraform state pullWhat's the root module?
The files in the working directoryThe _____ meta-argument is used to replicate infrastructure where some arguments need specific values.
for_eachEvery each Object has a _____ and a ____ corresponding to its particular instance.
.key .value_____ resources exist only within the local Terraform state and glue together other resources by generating random ids, generating private keys, issuing self-signed TLS certificates.
local-onlyDoes Terraform local state automatically back up?
YesResource _____ settings have consequences - they modify the dependency graph and its traversal. Only literal values can be used because the processing happens too early.
lifecycle