AWS Certified Developer – Associate (DVA-C02) — Question 317
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?
Answer options
- A. 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.
- B. 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.
- C. 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.
- D. 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.
Correct answer: A
Explanation
Option A is the most operationally efficient solution because it uses native CodePipeline features to create a dedicated approval stage and leverages AWS notification rules to trigger SNS alerts automatically upon entering the manual approval state. Option B introduces unnecessary operational overhead by requiring the creation and maintenance of a custom AWS Step Functions state machine. Options C and D are incorrect because they either attempt to combine the approval with the deployment action in a single stage inappropriately or fail to establish the correct sequence of pipeline actions needed to halt the deployment until approved.