AWS Certified Developer – Associate — Question 337
A company has a web application that contains an Amazon API Gateway REST API. A developer has created an AWS CloudFormation template for the initial deployment of the application. The developer has deployed the application successfully as part of an AWS CodePipeline continuous integration and continuous delivery (CI/CD) process. All resources and methods are available through the deployed stage endpoint.
The CloudFormation template contains the following resource types:
• AWS::ApiGateway::RestApi
• AWS::ApiGateway::Resource
• AWS::ApiGateway::Method
• AWS::ApiGateway::Stage
• AWS::ApiGateway::Deployment
The developer adds a new resource to the REST API with additional methods and redeploys the template. CloudFormation reports that the deployment is successful and that the stack is in the UPDATE_COMPLETE state. However, calls to all new methods are returning 404 (Not Found) errors.
What should the developer do to make the new methods available?
Answer options
- A. Specify the disable-rollback option during the update-stack operation.
- B. Unset the CloudFormation stack failure options.
- C. Add an AWS CodeBuild stage to CodePipeline to run the aws apigateway create-deployment AWS CLI command.
- D. Add an action to CodePipeline to run the aws cloudfront create-invalidation AWS CLI command.
Correct answer: C
Explanation
CloudFormation does not automatically trigger a new API Gateway deployment when existing resource or method definitions are updated, unless the logical ID of the AWS::ApiGateway::Deployment resource is changed. Running the aws apigateway create-deployment command via an AWS CodeBuild stage in the pipeline forces a new deployment, making the new methods live. Other options like disabling rollbacks or invalidating CloudFront caches do not trigger the necessary API Gateway deployment.