Back to the course
Test yourself

Pulumi

Final exam · 14 questions · answers explained as you pick
Beginner
4 questions
01The defining difference of Pulumi vs a DSL tool like Terraform is that Pulumi programs are…
Incorrect — YAML is one option, but the point is general-purpose languages.
Correct — you use the language’s own constructs instead of a DSL’s.
Incorrect — Pulumi keeps state like other desired-state tools.
Incorrect — Pulumi supports many providers.
02A Pulumi stack is…
Incorrect — unrelated to images.
Incorrect — the backend stores state; a stack is an instance of the program.
Correct — one project, many stacks, is how Pulumi does environments.
Incorrect — that is not what a stack is.
03Renaming a resource’s logical name (its first argument) causes Pulumi to…
Correct — it tracks by logical name; a rename is a replace unless you use an alias.
Incorrect — there is no free in-place rename — it is a replace.
Incorrect — it proceeds as a destroy/create, which is the danger.
Incorrect — the change is significant — it replaces the resource.
04In a preview, the symbol for destroy-and-recreate is…
Incorrect — + is a plain create.
Incorrect — ~ is in-place update.
Correct — replace = destroy then create; on stateful resources that means data loss.
Incorrect — - is a plain delete.
4 questions · explanations appear as you answer
Intermediate
5 questions
01An Output<T> in Pulumi represents…
Incorrect — if it were plain, you would not need apply.
Correct — the value does not exist while the program runs, so you transform it, not read it directly.
Incorrect — secrets are Outputs, but not all Outputs are secret.
Incorrect — unrelated.
02Concatenating an Output with a plain string ("id: " + res.id) yields…
Correct — the value is not known at program-run time; that is the classic first-day bug.
Incorrect — it does not resolve synchronously.
Incorrect — it often compiles but produces the wrong string at runtime.
Incorrect — stringifying does not make it a secret.
03pulumi config set dbPassword X --secret causes the value to be…
Incorrect — secrets are not printed.
Correct — the file holds ciphertext; it arrives as a sensitive Output in the program.
Incorrect — the whole point is that it is encrypted.
Incorrect — it is stored, encrypted.
04A ComponentResource is used to…
Incorrect — that is the backend’s job.
Incorrect — unrelated to components.
Correct — it encapsulates a pattern — e.g. a secure bucket — behind a clean class.
Incorrect — components are for composition, not testing.
05A StackReference lets one stack…
Correct — e.g. an app stack reads the networking stack’s VPC/subnet IDs.
Incorrect — it is read-only — it cannot change the producer.
Incorrect — it references, it does not merge.
Incorrect — no — it only reads outputs.
5 questions · explanations appear as you answer
Advanced
5 questions
01The Automation API is…
Incorrect — no — it is the engine exposed as a library.
Correct — it lets you build infra provisioning into an app or platform.
Incorrect — unrelated.
Incorrect — no.
02A dynamic provider is for…
Incorrect — not its purpose.
Incorrect — unrelated.
Correct — e.g. an internal API or a SaaS with only a REST interface.
Incorrect — no.
03CrossGuard evaluates policies…
Correct — so a non-compliant resource never reaches the cloud; advisory lets you warn first.
Incorrect — it gates before deploy, not after.
Incorrect — you can run a policy pack on a local update too.
Incorrect — it actively enforces.
04For fast, free security-invariant checks on infra code you should write…
Incorrect — those are slow and billable; not for every commit.
Correct — they run in milliseconds with no deployment — ideal for invariants on every commit.
Incorrect — a preview is not a test suite.
Incorrect — automation is the point.
05The critical thing to protect for a self-managed Pulumi backend is…
Incorrect — helpful to pin, but not the crown jewel.
Incorrect — previews are meant to be visible.
Correct — back it with managed KMS and backups; never commit a passphrase.
Incorrect — irrelevant to security.
5 questions · explanations appear as you answer