Manual Approval Before Production in CodePipeline
A developer needs approval from a product owner before the developer can deploy code for an application to production. The developer uses AWS CodePipeline to deploy the application. The developer configures an Amazon Simple Notification Service (Amazon SNS) topic to send notifications to the product owner. Which solution is the MOST operationally efficient way for the developer to receive approval from the product owner?
Community Insight
The question tests how CodePipeline manual approval actions natively integrate with SNS; the trap is picking a working but over-engineered design (new stage plus separate notification rule) when one action configuration achieves the same result.
For AWS CodePipeline approvals, a manual approval action can carry its own SNS notification target via the action's Notification ARN setting, so the product owner is alerted the moment the pipeline pauses. This page shows why attaching the approval to the existing production stage with a single configured action is the most operationally efficient pattern, versus building extra stages or separate notification rules.
Option A is the common trap: it works and feels thorough, but it creates three artifacts—a new stage, a manual approval action, and a standalone notification rule—where the approval action's built-in SNS target already handles the notification, wasting operational overhead.
Community Discussion (7 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
Option C adds a manual approval action directly to the existing production deployment stage and specifies the SNS topic ARN inside that action's configuration. CodePipeline manual approval actions support a notification target (NotificationArn) in their action settings, so the approver is notified automatically when the pipeline reaches the approval checkpoint. This is one configuration change, uses the existing stage structure, and requires no auxiliary resources—exactly what "most operationally efficient" asks for. Placing the approval action ahead of the deployment action in the stage guarantees the pipeline halts until the product owner approves.Why the Other Options Are Wrong
Option A also achieves approval, but it creates a new stage, an approval action, and a separate notification rule—three resources to maintain where one suffices, and every extra resource is added operational surface. Option B introduces AWS Step Functions to build a custom notification-and-approval state machine, which is far more code, cost, and failure modes than the managed approval feature. Option D creates a notification rule but never adds a manual approval action at all, so the pipeline has nothing that actually pauses for the product owner's consent. As one commenter put it, A "builds three things where one is enough."Community Comment Notes
The comment thread is split between A and C. Supporters of A, including SerialiDr, argue it "directly integrates a manual approval process into the CI/CD pipeline" and ensures nothing deploys without consent. The opposing camp, voiced by cerepx and Kisma86, targets efficiency: "The trap here is A. It works, and that makes it feel safe" but "it builds three things where one is enough," and "Answer A and B are over-complicated." Kisma86 and TEC65 both land on C for exactly that reason, which aligns with the question's emphasis on operational efficiency rather than mere functionality.Official Reference
Exam Strategy
When a question says "most operationally efficient" or "simplest," prefer the option with the fewest new resources that still fully satisfies the requirement. Remember that CodePipeline manual approval actions can take an SNS notification ARN directly, so separate notification rules and custom Step Functions workflows are usually distractors.
Frequently Asked Questions
Why is adding a new stage plus a notification rule (option A) less efficient than a manual approval action?
A manual approval action already accepts an SNS notification ARN in its own configuration, so a separate notification rule and extra stage add maintenance overhead without adding capability.
Does option D actually pause the pipeline for product owner approval?
No. Option D only creates a notification rule; without a manual approval action, nothing halts the pipeline, so code can still deploy to production without consent.
Related Analysis
Practice All DVA-C02 Questions
Access 100 questions with complete answers and detailed explanations.
View Full DVA-C02 Practice Test →