-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Failures updating google_bigquery_data_transfer_config
resource when service_account_name
is not specified
#16126
Comments
Note: I'm filing this bug report because the issue for a failing acceptance test was attracting comments outside the usual bug triage process |
Thanks @SarahFrench. I am following this because this has big impact to us. |
Just wanted to report that we are seeing this in |
Also started getting this error recently. If I delete the transfer config the next apply works just fine. It's only when trying to do an update that this error starts. Edit: This has not been the case for the past year or more. Should |
Our apply's started failing with this as well. I believe I have tracked down the reason for this error and it is due to this PR release in version 4.77.0: fix: add updateMask to bqtransfer config updateurl #15359. The issue with this bugfix is that "serviceAccount" is explicitly hard-coded as one of the fields to update in the updateMask property. However, in the default case where no explicit service account is set, the property is set on the query string as "serviceAccount=" (meaning no/blank value). The PATCH method from the Google REST API (PATCH https://bigquerydatatransfer.googleapis.com/v1/{transferConfig.name=projects/*/locations/*/transferConfigs/*}) seems to interpret this as: "You're telling me to update the serviceAccount property, and you've supplied a serviceAccount query parameter, however it is empty, so you must be mistaken. Here's a a 400."
Work-around: Revert to provider version 4.76.0 if you are able to and need a solution right now. I've tested this version and it does indeed work for updating transfer configs again. However, there is a minor state file incompatibility between 4.84.0 and 4.76.0 if you're using BigQuery tables (which, presumably you are if you're using data transfer configurations):
Based on the GCP magic-module reference above, it appears Google are preparing to revert this change back to the original behavior, so a fix may be coming soon. Cheers, -Demetri |
This problem should be fixed by this change, which will be included in the next release : GoogleCloudPlatform/magic-modules#9212 |
It is still not working in 5.2 (assuming this is the "next change" referenced). Regardless of resources being recreated in 5.2 they still exhibit this error when updating.
lock file
|
Community Note
modular-magician
user, it is either in the process of being autogenerated, or is planned to be autogenerated soon. If an issue is assigned to a user, that user is claiming responsibility for the issue. If an issue is assigned tohashibot
, a community member has claimed the issue already.Terraform Version
See #16033 (comment)
Affected Resource(s)
Terraform Configuration Files
Debug Output
Panic Output
Expected Behavior
The
google_bigquery_data_transfer_config
resource is updated successfully and no longer uses the service account previously specified in the configActual Behavior
There's an error, which seems to be due to an empty
service_account_name
value being sent to the APISteps to Reproduce
terraform apply
to create the resource aboveservice_account_name
from the config and runterraform apply
to update the resourcesImportant Factoids
References
b/303808567
The text was updated successfully, but these errors were encountered: