Which solution will meet these requirements with the LEAST operational overhead?
Export the existing API to an OpenAPI file. Create a new API. Import the OpenAPI file. Modify the new API to add request validation. Perform the tests. Modify the existing API to add request validation. Deploy the existing API to production.
Modify the existing API to add request validation. Deploy the updated API to a new API Gateway stage. Perform the tests. Deploy the updated API to the API Gateway production stage.
Create a new API. Add the necessary resources and methods, including new request validation. Perform the tests. Modify the existing API to add request validation. Deploy the existing API to production
Clone the existing API. Modify the new API to add request validation. Perform the tests. Modify the existing API to add request validation. Deploy the existing API to production.
Explanations:
This option involves exporting the API to an OpenAPI file and creating a new API. This process introduces additional complexity and overhead, as it requires managing two APIs and performing an import/export operation, which is not necessary for simply adding request validation.
Modifying the existing API and deploying it to a new stage allows for testing in a controlled environment without impacting the production stage. This option minimizes operational overhead by leveraging existing resources while ensuring that testing can be performed before making the API live.
Creating a new API and adding resources from scratch, even with request validation, involves significant overhead. This approach does not use the existing configuration or setup, making it less efficient and requiring more work to replicate the functionality of the current API.
Cloning the existing API can introduce potential issues with API configurations or settings that might not carry over as expected. While it allows for testing of request validation, it still involves more overhead than simply deploying to a new stage of the existing API. Additionally, it could lead to confusion over two similar APIs.