Manual Approval Before Production in CodePipeline

Deploy code by using AWS CI/CD services.
Answer Correct 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.

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?

  1. Add a new stage to CodePipeline before the production deployment. Add a manual approval action to the new stage. Add a new notification rule in the pipeline settings. Specify manual approval as the event that initiates the notification. Specify the SNS topic's Amazon Resource Name (ARN) to notify the product owner.
  2. Develop an AWS Step Functions state machine that sends a notification to the product owner and accepts an approval. Add a new stage to CodePipeline before the production deployment. Add the state machine as a Step Functions action to the new stage.
  3. Add a manual approval action to the existing production deployment stage in CodePipeline. Specify the SNS topic's Amazon Resource Name (ARN) while configuring the new manual approval action. Correct Answer
  4. Edit the settings in CodePipeline. Create a new notification rule. Specify manual approval as the event that initiates the notification. Create a new notification target. Specify the SNS topic to notify the product owner. Save the notification rule.

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)

cerepx 👍 2 Selected: C
The 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
TEC65 👍 1 Selected: C
Answer A and B are over-complicated and that is why they are the best choice. The correct answer is C
Kisma86 👍 2 Selected: C
Answer A and B are over-complicated and that is why they are the best choice. The correct answer is C
65703c1 👍 1 Selected: A
A is the correct answer.
SerialiDr 👍 4 Selected: A
This 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.
monishvster 👍 2 Selected: A
should be A
CrescentShared 👍 3 Selected: A
Adding a manual approval action to a pipeline stage, which is necessary for halting the pipeline to wait for approval.

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

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.

More DVA-C02 FAQ →

Related Analysis

Practice All DVA-C02 Questions

Access 100 questions with complete answers and detailed explanations.

View Full DVA-C02 Practice Test →

← Back to DVA-C02 Study Guide