Change theme
Help
Press space for more information.
Show links for this issue (Shortcut: i, l)
Copy issue ID
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
Vote: I am impacted
Notification menu
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Pending code changes (auto-populated)
View issue level access limits(Press Alt + Right arrow for more information)
Request for new functionality
View staffing
Description
We are getting the error below when updating the billing budget using Config Sync. If we manually (using UI) delete the budget, Config Sync re-creates the budget with the newly specifiedAmount value (With nanos kept at “0”).
"msg": "Reconciler error",
"error": "Update call failed: error applying desired state: googleapi: Error 400: Invalid update mask for amount.specified_amount: must include both units and nanos"
However, when we add a value for nanos, the billing budget can be updated without any issues. So to update the budget, values should be added to both units as well as nanos and keeping nanos at “0” is not accepted. Hence, resetting the nanos value to zero after the update did not work and resulted in the same error.
This is the expected behavior of the product and the nanos field is considered “non-included" since nanos is “0”. So the nanos field is dropping when it is passed to the API. Therefore, the Config Connector drops the field of empty value during the update. When creating a fresh billing budget “0” is accepted for nanos. This behavior for billing updates is not documented with any of the public documents.
This is impacting the billing budget and we want to keep the nanos values at “0”.
What you expected to happen:
Should be able to use “0” as a value for nanos when updating.
Steps to reproduce:
1. Use the YAML file in this public document to create a monthly budget and deploy it using Config sync. Note that here nanos values are kept “0” and it works when creating the budget.
2. Then update only units while keeping the nanos at “0”. The update will fail with the “Error 400: Invalid update mask for amount.specified_amount: must include both units and nanos".
Other information (workarounds):
The issue occurs only when updating the billing budget values. It works when a value for nanos is specified.