-
Notifications
You must be signed in to change notification settings - Fork 9.2k
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: Add support for third-party connection types to aws_glue_connection #37731
feat: Add support for third-party connection types to aws_glue_connection #37731
Conversation
Community NoteVoting for Prioritization
For Submitters
|
2fd05c3
to
7c1dfc1
Compare
7c1dfc1
to
0037b05
Compare
Hey @acwwat - Two things here. a) You have conflicts, its in the documentation (I hand patched today)
This doesn't work with any input. It works 100% fine when doing a JDBC connection, so I am guessing maybe something else needs to be added to the validation for connection properties. I tried looking though the code, but got dizzy :). Any help would be VERY VERY much appreciated. |
Yes, conflicts are there, but I missed the Spark Properties thing, going too fast. Seems to be good now. Thanks! |
# Conflicts: # internal/service/glue/connection.go # internal/service/glue/connection_test.go # website/docs/r/glue_connection.html.markdown
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🚀.
% make testacc TESTARGS='-run=TestAccGlueConnection_' PKG=glue ACCTEST_PARALLELISM=3
make: Verifying source code with gofmt...
==> Checking that code complies with gofmt requirements...
TF_ACC=1 go1.22.5 test ./internal/service/glue/... -v -count 1 -parallel 3 -run=TestAccGlueConnection_ -timeout 360m
=== RUN TestAccGlueConnection_basic
=== PAUSE TestAccGlueConnection_basic
=== RUN TestAccGlueConnection_tags
=== PAUSE TestAccGlueConnection_tags
=== RUN TestAccGlueConnection_mongoDB
=== PAUSE TestAccGlueConnection_mongoDB
=== RUN TestAccGlueConnection_kafka
=== PAUSE TestAccGlueConnection_kafka
=== RUN TestAccGlueConnection_network
=== PAUSE TestAccGlueConnection_network
=== RUN TestAccGlueConnection_description
=== PAUSE TestAccGlueConnection_description
=== RUN TestAccGlueConnection_matchCriteria
=== PAUSE TestAccGlueConnection_matchCriteria
=== RUN TestAccGlueConnection_physicalConnectionRequirements
=== PAUSE TestAccGlueConnection_physicalConnectionRequirements
=== RUN TestAccGlueConnection_disappears
=== PAUSE TestAccGlueConnection_disappears
=== RUN TestAccGlueConnection_azureCosmos
=== PAUSE TestAccGlueConnection_azureCosmos
=== RUN TestAccGlueConnection_azureSQL
=== PAUSE TestAccGlueConnection_azureSQL
=== RUN TestAccGlueConnection_bigQuery
=== PAUSE TestAccGlueConnection_bigQuery
=== RUN TestAccGlueConnection_openSearch
=== PAUSE TestAccGlueConnection_openSearch
=== RUN TestAccGlueConnection_snowflake
=== PAUSE TestAccGlueConnection_snowflake
=== CONT TestAccGlueConnection_basic
=== CONT TestAccGlueConnection_physicalConnectionRequirements
=== CONT TestAccGlueConnection_network
--- PASS: TestAccGlueConnection_basic (11.67s)
=== CONT TestAccGlueConnection_matchCriteria
--- PASS: TestAccGlueConnection_network (20.40s)
=== CONT TestAccGlueConnection_bigQuery
--- PASS: TestAccGlueConnection_bigQuery (12.17s)
=== CONT TestAccGlueConnection_description
--- PASS: TestAccGlueConnection_matchCriteria (24.07s)
=== CONT TestAccGlueConnection_snowflake
--- PASS: TestAccGlueConnection_snowflake (12.38s)
=== CONT TestAccGlueConnection_openSearch
--- PASS: TestAccGlueConnection_description (17.81s)
=== CONT TestAccGlueConnection_mongoDB
--- PASS: TestAccGlueConnection_openSearch (12.12s)
=== CONT TestAccGlueConnection_tags
--- PASS: TestAccGlueConnection_mongoDB (11.03s)
=== CONT TestAccGlueConnection_azureCosmos
--- PASS: TestAccGlueConnection_azureCosmos (12.18s)
=== CONT TestAccGlueConnection_azureSQL
--- PASS: TestAccGlueConnection_tags (24.75s)
=== CONT TestAccGlueConnection_disappears
--- PASS: TestAccGlueConnection_azureSQL (12.47s)
=== CONT TestAccGlueConnection_kafka
--- PASS: TestAccGlueConnection_disappears (9.32s)
--- PASS: TestAccGlueConnection_kafka (10.92s)
--- PASS: TestAccGlueConnection_physicalConnectionRequirements (1319.41s)
PASS
ok github.com/hashicorp/terraform-provider-aws/internal/service/glue 1324.071s
@acwwat Thanks for the contribution 🎉 👏. |
This functionality has been released in v5.60.0 of the Terraform AWS Provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template. Thank you! |
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. |
Description
This PR is to add support for the following connection types:
AZURECOSMOS
,AZURESQL
,BIGQUERY
,OPENSEARCH
,SNOWFLAKE
. These types were confirmed by AWS support to be supported but not fully documented. They are also not available in types and enums in various SDKs, including the AWS Go SDK v2 which the Terraform AWS Provider uses.The approach to add these connection types is to check whether they are in the SDK enum, and add them if they are not. This provides some level of compatibility for when the enum eventually gets updated before the code is removed for good. In addition, a new value
SparkProperties
is needed for the enum forconnection_properties
. It is also not documented but supported by the API. Each connection type make require different properties within a JSON object that is provided as the value forSparkProperties
. I am not sure how to best document them, so I've added a full example for each type in the documentation.Relations
Closes #37233
Closes #34575
Closes #32663
References
Examined network traces for CreateConnection requests made in the Console to determine what properties are needed in the JSON object for
SparkProperties
.Output from Acceptance Testing