-
Notifications
You must be signed in to change notification settings - Fork 4.6k
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
Fix - azurerm_api_management_named_value
would not enforce secret=true
when using value_from_key_vault
#26150
Fix - azurerm_api_management_named_value
would not enforce secret=true
when using value_from_key_vault
#26150
Conversation
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.
Thanks for adding some validation for this @CSymes! There's one minor comment for the error message for consistency but otherwise this looks good.
internal/services/apimanagement/api_management_named_value_resource.go
Outdated
Show resolved
Hide resolved
internal/services/apimanagement/api_management_named_value_resource_test.go
Outdated
Show resolved
Hide resolved
Sounds good! |
…ource.go Co-authored-by: stephybun <steph@hashicorp.com>
…ource_test.go Co-authored-by: stephybun <steph@hashicorp.com>
Looks like I've managed to brick the check suite somehow — it was failing on one unit test, so re-ran them since that test is fine locally. |
@CSymes this should be fixed now. Another rebase on top of main should fix the CI. |
@stephybun thanks, all green again. |
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.
Thanks @CSymes - LGTM now 🚜
<Actions> <action id="f410411e63aff4bb73a81c2aec1d373cf8a903e63b30dee2006b0030d8a94cc8"> <h3>Bump Terraform `azurerm` provider version</h3> <details id="1d9343c012f5434ac9fe8a98135bae3667b399259be16d9b14302ea3bd424a24"> <summary>Update Terraform lock file</summary> <p>changes detected:
	"hashicorp/azurerm" updated from "3.104.2" to "3.107.0" in file ".terraform.lock.hcl"</p> <details> <summary>3.107.0</summary> <pre>Changelog retrieved from:
	https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.107.0
FEATURES:

* **New Resource:** `azurerm_data_protection_backup_policy_postgresql_flexible_server` ([#26024](https://github.com/hashicorp/terraform-provider-azurerm/issues/26024))

ENHANCEMENTS:

* dependencies: updating to `v0.20240604.1114748` of `github.com/hashicorp/go-azure-sdk` ([#26216](hashicorp/terraform-provider-azurerm#26216 `advisor`: update API version to `2023-01-01` ([#26205](hashicorp/terraform-provider-azurerm#26205 `keyvault`: handling the Resources API returning Key Vaults that have been deleted when populating the cache ([#26199](hashicorp/terraform-provider-azurerm#26199 `machinelearning`: update API version to `2024-04-01` ([#26168](hashicorp/terraform-provider-azurerm#26168 `network/privatelinkservices` - update to use `hashicorp/go-azure-sdk` ([#26212](hashicorp/terraform-provider-azurerm#26212 `network/serviceendpointpolicies` - update to use `hashicorp/go-azure-sdk` ([#26196](hashicorp/terraform-provider-azurerm#26196 `network/virtualnetworks` - update to use `hashicorp/go-azure-sdk` ([#26217](hashicorp/terraform-provider-azurerm#26217 `network/virtualwans`: update route resources to use `hashicorp/go-azure-sdk` ([#26189](hashicorp/terraform-provider-azurerm#26189 `azurerm_container_app_job` - support for the `key_vault_secret_id` and `identity` properties in the `secret` block ([#25969](hashicorp/terraform-provider-azurerm#25969 `azurerm_kubernetes_cluster` - support forthe `dns_zone_ids` popperty in the `web_app_routing` block ([#26117](hashicorp/terraform-provider-azurerm#26117 `azurerm_notification_hub_authorization_rule` - support for the `primary_connection_string` and `secondary_connection_string` properties ([#26188](hashicorp/terraform-provider-azurerm#26188 `azurerm_subnet` - support for the `default_outbound_access_enabled` property ([#25259](https://github.com/hashicorp/terraform-provider-azurerm/issues/25259))

BUG FIXES:

* `azurerm_api_management_named_value` - will now enforce setting the `secret` property when setting the `value_from_key_vault` property ([#26150](hashicorp/terraform-provider-azurerm#26150 `azurerm_storage_sync_server_endpoint` - improve pooling to work around api inconsistencies ([#26204](hashicorp/terraform-provider-azurerm#26204 `azurerm_virtual_network` - split create and update function to fix lifecycle - ignore ([#26246](hashicorp/terraform-provider-azurerm#26246 `azurerm_vpn_server_configuration` - split create and update function to fix lifecycle - ignore ([#26175](hashicorp/terraform-provider-azurerm#26175 `azurerm_vpn_server_configuration_policy_group` - split create and update function to fix lifecycle - ignore ([#26207](hashicorp/terraform-provider-azurerm#26207 `azurerm_vpn_site` - split create and update function to fix lifecycle - ignore changes ([#26163](https://github.com/hashicorp/terraform-provider-azurerm/issues/26163))

DEPRECATIONS:

* `azurerm_kubernetes_cluster` - the property `dns_zone_id` has been superseded by the property `dns_zone_ids` in the `web_app_routing` block ([#26117](hashicorp/terraform-provider-azurerm#26117 `azurerm_nginx_deployment` - the block `configuration` has been deprecated and superseded by the resource `azurerm_nginx_configuration` ([#25773](https://github.com/hashicorp/terraform-provider-azurerm/issues/25773))


</pre> </details> </details> <a href="https://infra.ci.jenkins.io/job/updatecli/job/azure/job/main/229/">Jenkins pipeline link</a> </action> </Actions> --- <table> <tr> <td width="77"> <img src="https://www.updatecli.io/images/updatecli.png" alt="Updatecli logo" width="50" height="50"> </td> <td> <p> Created automatically by <a href="https://www.updatecli.io/">Updatecli</a> </p> <details><summary>Options:</summary> <br /> <p>Most of Updatecli configuration is done via <a href="https://www.updatecli.io/docs/prologue/quick-start/">its manifest(s)</a>.</p> <ul> <li>If you close this pull request, Updatecli will automatically reopen it, the next time it runs.</li> <li>If you close this pull request and delete the base branch, Updatecli will automatically recreate it, erasing all previous commits made.</li> </ul> <p> Feel free to report any issues at <a href="https://github.com/updatecli/updatecli/issues">github.com/updatecli/updatecli</a>.<br /> If you find this tool useful, do not hesitate to star <a href="https://github.com/updatecli/updatecli/stargazers">our GitHub repository</a> as a sign of appreciation, and/or to tell us directly on our <a href="https://matrix.to/#/#Updatecli_community:gitter.im">chat</a>! </p> </details> </td> </tr> </table> --------- Signed-off-by: Damien Duportal <damien.duportal@gmail.com> Co-authored-by: Jenkins Infra Bot (updatecli) <60776566+jenkins-infra-bot@users.noreply.github.com> Co-authored-by: Damien Duportal <damien.duportal@gmail.com>
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 contributions. |
Community Note
Description
When creating a
azurerm_api_management_named_value
and linking it to a value sourced from a Key Vault via thevalue_from_key_vault
block, if thesecret
attribute is not set totrue
, you receive an unexpected 400 error, ala:This is pretty un-helpful, so this PR adds validation to ensure that these two attributes are defined compatibly.
Unfortunately I couldn't see a way to validate an attribute value based on the state of another attribute, so this is necessarily performed at apply-time, rather than during validation.
This constraint is not well documented, however MS' examples do display the correct form.
PR Checklist
Changes to existing Resource / Data Source
Testing
Change Log
azurerm_api_management_named_value
- enforcesecret = true
when avalue_from_key_vault
block is definedThis is a (please select all that apply):
Related Issue(s)
No existing issue that I could see.