Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

r/aws_api_gateway_stage: Support canary release deployment #10474

Conversation

GiPPe
Copy link

@GiPPe GiPPe commented Oct 11, 2019

Fix #2727 by adding the new canary_settings argument to api_gateway_stage.

The changes are coming from #2793. I have just addressed the reviewer's comments.

Motivation

With the release of canary deployments in API gateway I'd like to be able to:

[x] Create a canary deployment through terraform.
[x] Disable/delete a canary deployment through terraform.
[x] Update canary deployments through terraform.

I've implemented Create/Update/Delete in this pull request but did not attempt to implement promote, which I think can be accomplished today by promoting through AWS console/CLI then updating config and importing the promoted stage into terraform management.

Documentation

[x] Updated docs/r/aws_api_gateway_stage to include the new option/nested options.

Community Note

  • Please vote on this pull request by adding a 👍 reaction to the original pull request comment to help the community and maintainers prioritize this request
  • Please do not leave "+1" comments, they generate extra noise for pull request followers and do not help prioritize the request

Closes #2727

Release note for CHANGELOG:

ENHANCEMENT
resource/api_gateway_stage: Add canary_settings argument

Output from acceptance testing:

$ make testacc TESTARGS="-run 'TestAccAWSAPIGatewayStage_*'"                                                                                  
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go test ./... -v -count 1 -parallel 20 -run 'TestAccAWSAPIGatewayStage_*' -timeout 120m
?   	github.com/terraform-providers/terraform-provider-aws	[no test files]
=== RUN   TestAccAWSAPIGatewayStage_basic
=== PAUSE TestAccAWSAPIGatewayStage_basic
=== RUN   TestAccAWSAPIGatewayStage_accessLogSettings
=== PAUSE TestAccAWSAPIGatewayStage_accessLogSettings
=== RUN   TestAccAWSAPIGatewayStage_canarySettings
=== PAUSE TestAccAWSAPIGatewayStage_canarySettings
=== CONT  TestAccAWSAPIGatewayStage_basic
=== CONT  TestAccAWSAPIGatewayStage_canarySettings
=== CONT  TestAccAWSAPIGatewayStage_accessLogSettings
--- PASS: TestAccAWSAPIGatewayStage_canarySettings (218.63s)
--- PASS: TestAccAWSAPIGatewayStage_accessLogSettings (251.85s)
--- PASS: TestAccAWSAPIGatewayStage_basic (408.13s)
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws	408.178s
testing: warning: no tests to run
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws/internal/flatmap	0.007s [no tests to run]
testing: warning: no tests to run
PASS
ok  	github.com/terraform-providers/terraform-provider-aws/aws/internal/keyvaluetags	0.016s [no tests to run]

Fix hashicorp#2727 by adding the new `canary_settings` argument to `api_gateway_stage`.
@GiPPe GiPPe requested a review from a team October 11, 2019 16:55
@ghost ghost added size/L Managed by automation to categorize the size of a PR. documentation Introduces or discusses updates to documentation. service/apigateway Issues and PRs that pertain to the apigateway service. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure. labels Oct 11, 2019
@bflad bflad added the enhancement Requests to existing resources that expand the functionality or scope. label Oct 14, 2019
@tjsousa
Copy link

tjsousa commented Nov 9, 2020

Any news if support for canaries will come to the Terraform provider?

@rajarumugam71
Copy link

Any update on when we will get to see the support for canaries available on AWS Terraform provider?

Base automatically changed from master to main January 23, 2021 00:56
@breathingdust breathingdust requested a review from a team as a code owner January 23, 2021 00:56
@zhelding
Copy link
Contributor

Pull request #21306 has significantly refactored the AWS Provider codebase. As a result, most PRs opened prior to the refactor now have merge conflicts that must be resolved before proceeding.

Specifically, PR #21306 relocated the code for all AWS resources and data sources from a single aws directory to a large number of separate directories in internal/service, each corresponding to a particular AWS service. This separation of code has also allowed for us to simplify the names of underlying functions -- while still avoiding namespace collisions.

We recognize that many pull requests have been open for some time without yet being addressed by our maintainers. Therefore, we want to make it clear that resolving these conflicts in no way affects the prioritization of a particular pull request. Once a pull request has been prioritized for review, the necessary changes will be made by a maintainer -- either directly or in collaboration with the pull request author.

For a more complete description of this refactor, including examples of how old filepaths and function names correspond to their new counterparts: please refer to issue #20000.

For a quick guide on how to amend your pull request to resolve the merge conflicts resulting from this refactor and bring it in line with our new code patterns: please refer to our Service Package Refactor Pull Request Guide.

@DrFaust92
Copy link
Collaborator

Superseded by #23754

@DrFaust92 DrFaust92 closed this Mar 24, 2022
@github-actions
Copy link

github-actions bot commented May 6, 2022

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 6, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Introduces or discusses updates to documentation. enhancement Requests to existing resources that expand the functionality or scope. service/apigateway Issues and PRs that pertain to the apigateway service. size/L Managed by automation to categorize the size of a PR. tests PRs: expanded test coverage. Issues: expanded coverage, enhancements to test infrastructure.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature request: Support Api Gateway Canary release
6 participants