Manual Approval Before Production in CodePipeline
Short answer
C Add a manual approval action to the existing production deployment stage and set the Amazon SNS topic ARN in that action's configuration so the product owner is notified and must approve before deployment.
Question
Which solution is the MOST operationally efficient way for the developer to receive approval from the product owner?
Key Takeaways
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.
Common mistake: 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.
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
- https://docs.aws.amazon.com/codepipeline/latest/userguide/approvals.html
- https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-create-notification-rule.html
These links open the official vendor documentation in a new tab.
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?
Does option D actually pause the pipeline for product owner approval?
Discussion 6 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 6
-
SerialiDr 👍 4 Answered AThis solution directly integrates a manual approval process into the CI/CD pipeline. By adding a specific stage for manual approval before the deployment can proceed to production, it ensures that no changes are deployed without explicit consent. The integration of Amazon SNS for notifications automates the communication process, informing the product owner when their input is needed. This setup not only enforces a governance check but also streamlines the approval process, making it both efficient and auditable.
-
CrescentShared 👍 3 Answered AAdding a manual approval action to a pipeline stage, which is necessary for halting the pipeline to wait for approval.
-
cerepx 👍 2 Answered CThe trap here is A. It works, and that makes it feel safe. But it builds three things where one is enough: a new stage, an approval action, and a separate notification rule. "Most operationally efficient" penalizes exactly that
-
monishvster 👍 2 Answered Ashould be A
-
TEC65 👍 1 Answered CAnswer A and B are over-complicated and that is why they are the best choice. The correct answer is C
Show 1 more comment
-
65703c1 👍 1 Answered AA is the correct answer.
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All DVA-C02 Questions
Access 100 questions with complete answers and detailed explanations.
View Full DVA-C02 Practice Test →