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

feat: Added support for API destinations #27

Merged
merged 9 commits into from
Nov 7, 2021

Conversation

svenlito
Copy link
Collaborator

@svenlito svenlito commented Nov 1, 2021

  • feat: support api destination

@svenlito svenlito requested a review from antonbabenko November 1, 2021 03:12
Copy link
Member

@antonbabenko antonbabenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, but I don't have an answer on too many elements in dynamic block issue you described. Maybe it is an open bug in the provider?

README.md Outdated Show resolved Hide resolved
examples/with-api-destination/.tool-versions Outdated Show resolved Hide resolved
examples/with-api-destination/README.md Outdated Show resolved Hide resolved
examples/with-api-destination/main.tf Outdated Show resolved Hide resolved
examples/with-api-destination/main.tf Outdated Show resolved Hide resolved
@svenlito
Copy link
Collaborator Author

svenlito commented Nov 1, 2021

Looks good, but I don't have an answer on too many elements in dynamic block issue you described. Maybe it is an open bug in the provider?

Saw something once, will dig it out again. Thanks for the feedback, will tidy up the remainder. 👍🏻

@svenlito svenlito requested a review from antonbabenko November 1, 2021 13:34
@antonbabenko antonbabenko changed the title feat: api destinations feat: Added support for API destinations Nov 1, 2021
Copy link
Member

@antonbabenko antonbabenko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Are there outstanding issues/bugs related to the added functionality? Or is it ready to be merged right away?

@svenlito
Copy link
Collaborator Author

svenlito commented Nov 1, 2021

Looks good. Are there outstanding issues/bugs related to the added functionality? Or is it ready to be merged right away?

I've noted in the readme that there is missing functionality but fwiw it's ready to use. I might want to add a more complete example however. Currently it's not really documenting how to map targets/rules to the API destinations.

@antonbabenko
Copy link
Member

I think we need to have that documented before we merge this one. It is really important :)

@svenlito
Copy link
Collaborator Author

svenlito commented Nov 1, 2021

It is really important :)

Thought it was :)

@svenlito
Copy link
Collaborator Author

svenlito commented Nov 1, 2021

@antonbabenko funny enough it seems to be completely undocumented.

@svenlito
Copy link
Collaborator Author

svenlito commented Nov 1, 2021

ok, got it. hashicorp/terraform-provider-aws#20343
will have to rework the PR

@svenlito svenlito changed the title feat: Added support for API destinations WIP: Added support for API destinations Nov 1, 2021
@svenlito svenlito changed the title WIP: Added support for API destinations feat: Added support for API destinations Nov 2, 2021
@svenlito svenlito requested a review from antonbabenko November 2, 2021 02:01
@svenlito
Copy link
Collaborator Author

svenlito commented Nov 2, 2021

sorted now. Did test it, received two messages in smee.io based on the example. 👍🏻

@svenlito svenlito changed the title feat: Added support for API destinations WIP: Added support for API destinations Nov 2, 2021
@svenlito svenlito changed the title WIP: Added support for API destinations feat: Added support for API destinations Nov 2, 2021
main.tf Outdated
content {
dynamic "body" {
for_each = lookup(each.value.auth_parameters.oauth.oauth_http_parameters, "body", null) != null ? [
each.value.auth_parameters.oauth.oauth_http_parameters.body
Copy link
Collaborator Author

@svenlito svenlito Nov 2, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@antonbabenko could use your help or suggestion here. body as well as header and query_string can occur multiple times. Currently things get overridden by the last iteration. I was thinking for b in value : b would sort it out but then I'm ending up with an unusable value. Perhaps you have an idea?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will take a look later today or tomorrow. I am too busy with other things this week.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The magic here is to require a list of maps and iterate over them (in S3 and CloudFront modules I did a similar solution, but for 0.13+ the code can be a bit simpler in some cases). I have verified this PR altogether, and it works.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@antonbabenko appreciate the help!

@antonbabenko antonbabenko merged commit b4f1ef8 into master Nov 7, 2021
@antonbabenko antonbabenko deleted the feat/api_destination branch November 7, 2021 18:27
@antonbabenko
Copy link
Member

Thank you @svenlito !

v1.13.0 has been just released.

KamranBiglari pushed a commit to KamranBiglari/terraform-aws-eventbridge that referenced this pull request Jan 10, 2024
## 1.0.0 (2024-01-10)

### ⚠ BREAKING CHANGES

* Upgraded AWS provider to v5 (required for Pipes) (terraform-aws-modules#94)
* Bump Terraform version to 1.0 and updated `ecs_target` arguments (terraform-aws-modules#85)

### Features

* Add attach_sns_policy ([terraform-aws-modules#89](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/89)) ([6e09aa1](6e09aa1))
* Add example for ECS + scheduled events ([terraform-aws-modules#14](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/14)) ([32ea196](32ea196))
* Add schema discoverer ([terraform-aws-modules#64](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/64)) ([0099c43](0099c43))
* Add support for EventBridge Pipes ([terraform-aws-modules#92](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/92)) ([ff131eb](ff131eb))
* Add support for setting the condition field in Event Bus permissions ([terraform-aws-modules#84](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/84)) ([49f1dff](49f1dff))
* Added Name tag for IAM policies and roles ([terraform-aws-modules#62](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/62)) ([8ca8835](8ca8835))
* Added support for API destinations ([terraform-aws-modules#27](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/27)) ([b4f1ef8](b4f1ef8))
* Added support for custom role_arn in targets ([terraform-aws-modules#42](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/42)) ([45311f7](45311f7))
* Bump Terraform version to 1.0 and updated `ecs_target` arguments ([terraform-aws-modules#85](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/85)) ([04a3249](04a3249))
* first commit ([terraform-aws-modules#1](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/1)) ([48eeb94](48eeb94))
* Simplified outputs (no this_) ([terraform-aws-modules#6](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/6)) ([eb8051c](eb8051c))
* Some refactoring and added ability to handle default bus ([terraform-aws-modules#5](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/5)) ([32f75c1](32f75c1))
* Support for Eventbridge Scheduler Schedules ([terraform-aws-modules#83](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/83)) ([e3c4ffe](e3c4ffe))
* Support for existing event buses ([terraform-aws-modules#22](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/22)) ([6a499b6](6a499b6))
* support http_target argument ([terraform-aws-modules#11](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/11)) ([ee5d963](ee5d963))
* Upgraded AWS provider to v5 (required for Pipes) ([terraform-aws-modules#94](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/94)) ([ba4d055](ba4d055))
* Upgraded AWS provider version to 4.7 ([terraform-aws-modules#66](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/66)) ([7690287](7690287))

### Bug Fixes

* `create_rules = false` causes error ([terraform-aws-modules#19](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/19)) ([6d8b8d7](6d8b8d7))
* Add explicit to_map for empty object for aws_cloudwatch_event_target ([terraform-aws-modules#24](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/24)) ([9b49848](9b49848))
* Amend batch_target to be correct value ([terraform-aws-modules#35](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/35)) ([babb4d6](babb4d6))
* Amend ecs_target network_configuration to work when no ecs_target supplied ([terraform-aws-modules#25](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/25)) ([852ea30](852ea30))
* Enable adding event_source_name to an Event Bus to enable receiving events from an SaaS partner ([terraform-aws-modules#82](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/82)) ([f92a78c](f92a78c))
* Enable run_command_targets support for target ([terraform-aws-modules#54](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/54)) ([e153898](e153898))
* Fix tomap call for terraform 0.15 ([terraform-aws-modules#10](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/10)) ([d303324](d303324))
* Fixed function name from to_map to tomap ([terraform-aws-modules#26](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/26)) ([e601dec](e601dec))
* Fixed inappropriate values for subnets and security_groups in example ([terraform-aws-modules#63](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/63)) ([fd7a25b](fd7a25b))
* Fixed incorrect tomap() ([terraform-aws-modules#39](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/39)) ([05bceba](05bceba))
* Fixed misleading descriptions of IAM role (not Lambda) ([terraform-aws-modules#76](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/76)) ([aa92195](aa92195))
* Fixed outputs when create=false ([terraform-aws-modules#33](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/33)) ([3dcc882](3dcc882))
* Make it optional to append postfix to the name, connection, or API destination  ([terraform-aws-modules#58](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/58)) ([980b910](980b910))
* Problems found when importing resources previously already created ([terraform-aws-modules#61](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/61)) ([015122e](015122e))
* property lookup in ecs_target block ([terraform-aws-modules#8](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/8)) ([af29da3](af29da3))
* remove create_bus as a blocker for role_arn ([terraform-aws-modules#13](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/13)) ([5453970](5453970))
* update CI/CD process to enable auto-release workflow ([terraform-aws-modules#31](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/31)) ([ad31225](ad31225))
* update sqs access policy ([terraform-aws-modules#16](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/16)) ([2de06bd](2de06bd))
* Use a version for  to avoid GitHub API rate limiting on CI workflows ([terraform-aws-modules#75](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/75)) ([e9a7813](e9a7813))
* Wrong value of api destination output ([terraform-aws-modules#79](https://github.com/KamranBiglari/terraform-aws-eventbridge/issues/79)) ([03ef4ff](03ef4ff))
Copy link

github-actions bot commented Mar 9, 2024

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 Mar 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants