A. Terraform will destroy the old instance before creating the new one
B. Terraform will fail because create_before_destroy is not supported
C. Terraform will update the instance in place without replacement
D. Terraform will create the new instance before destroying the old one
Solution
Step 1: Check lifecycle rule effect
The create_before_destroy = true means Terraform creates the new resource first.
Step 2: Understand resource replacement
Since the instance requires replacement, Terraform creates new instance before destroying old one.
Final Answer:
Terraform will create the new instance before destroying the old one -> Option D
Quick Check:
create_before_destroy = new before old [OK]
Hint: If replacement needed, new resource comes first [OK]
Common Mistakes:
Assuming old resource is destroyed first
Thinking update happens in place always
Believing create_before_destroy is unsupported
4. You added create_before_destroy = true to a resource but Terraform still destroys the old resource before creating the new one. What is the likely cause?
medium
A. You used quotes around true in lifecycle block
B. The resource does not support create_before_destroy lifecycle rule
C. You forgot to run terraform init
D. Terraform always destroys before creating regardless of lifecycle
Solution
Step 1: Understand resource support
Not all Terraform resources support create_before_destroy. If unsupported, Terraform ignores it.
Step 2: Check lifecycle behavior fallback
If unsupported, Terraform defaults to destroying old resource before creating new one.
Final Answer:
The resource does not support create_before_destroy lifecycle rule -> Option B
5. You manage a critical database server resource that must never be unavailable during updates. How should you configure Terraform to ensure zero downtime using create_before_destroy?
hard
A. Remove lifecycle block and rely on default behavior
B. Use prevent_destroy = true to stop any deletion
C. Add lifecycle { create_before_destroy = true } and verify the resource supports it
D. Manually delete old resource before applying changes
Solution
Step 1: Use create_before_destroy for zero downtime
Setting create_before_destroy = true ensures new resource is ready before old is removed.
Step 2: Confirm resource supports lifecycle rule
Check documentation to ensure the database resource supports this lifecycle feature to avoid unexpected downtime.
Final Answer:
Add lifecycle { create_before_destroy = true } and verify the resource supports it -> Option C