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

azurerm_application_insights_api_key - fix existing key check #23463

Merged

Conversation

dimapaloskin
Copy link
Contributor

Fixes #8472

In the current version, when checking for the existence of an API key, the name of the Application Insights is compared with the parent Application Insights of the existing key. Obviously, this check is always true. When creating the first key, there are no issues because the list of keys is empty. However, when attempting to add a new key, Terraform incorrectly throws an error stating that a key with this name already exists. Moreover, the subsequent request to retrieve the key is redundant.

Copy link
Member

@stephybun stephybun left a comment

Choose a reason for hiding this comment

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

Thanks for this PR @dimapaloskin.

It would be good to add an acceptance test for this case, where we create two API keys under the same Application Insights Component, so that we can validate that this change works and to catch any regressions. Could you please add one?

Copy link

github-actions bot commented Dec 4, 2023

This PR is being labeled as "stale" because it has not been updated for 30 or more days.

If this PR is still valid, please remove the "stale" label. If this PR is blocked, please add it to the "Blocked" milestone.

If you need some help completing this PR, please leave a comment letting us know. Thank you!

@stephybun stephybun force-pushed the fix-arm-app-insights-existing-key-check branch from 650e25c to 0726c55 Compare December 4, 2023 12:44
@stephybun stephybun added the bug label Dec 4, 2023
Copy link
Member

@stephybun stephybun left a comment

Choose a reason for hiding this comment

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

Since we haven't heard back in a while I hope you don't mind that I went ahead and added the missing acceptance test to your PR.

Everything passes so this LGTM. Thanks!

@stephybun stephybun merged commit 63db309 into hashicorp:main Dec 4, 2023
22 checks passed
@github-actions github-actions bot added this to the v3.84.0 milestone Dec 4, 2023
dduportal added a commit to jenkins-infra/azure that referenced this pull request Dec 12, 2023
<Actions>
<action
id="f410411e63aff4bb73a81c2aec1d373cf8a903e63b30dee2006b0030d8a94cc8">
        <h3>Bump Terraform `azurerm` provider version</h3>
<details
id="1d9343c012f5434ac9fe8a98135bae3667b399259be16d9b14302ea3bd424a24">
            <summary>Update Terraform lock file</summary>
<p>&#34;hashicorp/azurerm&#34; updated from &#34;3.82.0&#34; to
&#34;3.83.0&#34; in file &#34;.terraform.lock.hcl&#34;</p>
            <details>
                <summary>3.83.0</summary>
<pre>Changelog retrieved
from:&#xA;&#x9;https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.83.0&#xA;UPGRADE
NOTES&#xA;&#xA;* Key Vaults are now loaded using [the
`ListBySubscription` API within the Key Vault Resource
Provider](https://learn.microsoft.com/en-us/rest/api/keyvault/keyvault/vaults/list-by-subscription?view=rest-keyvault-keyvault-2022-07-01&amp;tabs=HTTP)
rather than [the Resources
API](https://learn.microsoft.com/en-us/rest/api/keyvault/keyvault/vaults/list?view=rest-keyvault-keyvault-2022-07-01&amp;tabs=HTTP).
This change means that the Provider now caches the list of Key Vaults
available within a Subscription, rather than loading these piecemeal to
workaround stale data returned from the Resources API
([#24019](https://github.com/hashicorp/terraform-provider-azurerm/issues/24019))&#xA;&#xA;FEATURES:&#xA;&#xA;*
New Data Source: `azurerm_stack_hci_cluster`
([#24032](https://github.com/hashicorp/terraform-provider-azurerm/issues/24032))&#xA;&#xA;ENHANCEMENTS:&#xA;&#xA;*
dependencies: updating to `v0.20231129.1103252` of
`github.com/hashicorp/go-azure-sdk`
([#24063](https://github.com/hashicorp/terraform-provider-azurerm/issues/24063))&#xA;*
`automation`: updating to API Version `2023-11-01`
([#24017](https://github.com/hashicorp/terraform-provider-azurerm/issues/24017))&#xA;*
`keyvault`: the cache is now populated using the `ListBySubscription`
endpoint on the KeyVault Resource Provider rather than via the
`Resources` API
([#24019](https://github.com/hashicorp/terraform-provider-azurerm/issues/24019)).&#xA;*
`keyvault`: updating the cache to populate all Key Vaults available
within the Subscription to reduce the number of API calls
([#24019](https://github.com/hashicorp/terraform-provider-azurerm/issues/24019))&#xA;*
Data Source `azurerm_private_dns_zone`: refactoring to use the
`ListBySubscription` API rather than the Resources API when
`resource_group_name` is omitted
([#24024](https://github.com/hashicorp/terraform-provider-azurerm/issues/24024))&#xA;*
`azurerm_dashboard_grafana` - support for `grafana_major_version`
([#24014](https://github.com/hashicorp/terraform-provider-azurerm/issues/24014))&#xA;*
`azurerm_linux_web_app` - add support for dotnet 8
([#23893](https://github.com/hashicorp/terraform-provider-azurerm/issues/23893))&#xA;*
`azurerm_linux_web_app_slot` - add support for dotnet 8
([#23893](https://github.com/hashicorp/terraform-provider-azurerm/issues/23893))&#xA;*
`azurerm_media_transform` - deprecate `face_detector_preset` and
`video_analyzer_preset`
([#24002](https://github.com/hashicorp/terraform-provider-azurerm/issues/24002))&#xA;*
`azurerm_postgresql_database` - update the validation of `collation` to
include `Norwegian_Norway.1252`
([#24070](https://github.com/hashicorp/terraform-provider-azurerm/issues/24070))&#xA;*
`azurerm_postgresql_flexible_server` - updating to API Version
`2023-06-01-preview`
([#24016](https://github.com/hashicorp/terraform-provider-azurerm/issues/24016))&#xA;*
`azurerm_redis_cache` - support for the
`active_directory_authentication_enabled` property
([#23976](https://github.com/hashicorp/terraform-provider-azurerm/issues/23976))&#xA;*
`azurerm_windows_web_app` - add support for dotnet 8
([#23893](https://github.com/hashicorp/terraform-provider-azurerm/issues/23893))&#xA;*
`azurerm_windows_web_app_slot` - add support for dotnet 8
([#23893](https://github.com/hashicorp/terraform-provider-azurerm/issues/23893))&#xA;*
`azurerm_storage_account` - add `name` validation in custom diff
([#23799](https://github.com/hashicorp/terraform-provider-azurerm/issues/23799))&#xA;&#xA;BUG
FIXES:&#xA;&#xA;* authentication: fix a bug where auxiliary tenants were
not correctly authorized
([#24063](https://github.com/hashicorp/terraform-provider-azurerm/issues/24063))&#xA;*
`azurerm_app_configuration` - normalize location in `replica` block
([#24074](https://github.com/hashicorp/terraform-provider-azurerm/issues/24074))&#xA;*
`azurerm_cosmosdb_account` - cosmosdb version and capabilities can now
be updated at the same time
([#24029](https://github.com/hashicorp/terraform-provider-azurerm/issues/24029))&#xA;*
`azurerm_data_factory_flowlet_data_flow` - `source` and `sink`
properties are now optional
([#23987](https://github.com/hashicorp/terraform-provider-azurerm/issues/23987))&#xA;*
`azurerm_datadog_monitor_tag_rule` - correctly handle default rule
([#22806](https://github.com/hashicorp/terraform-provider-azurerm/issues/22806))&#xA;*
`azurerm_ip_group`: fixing a crash when `firewall_ids` and
`firewall_policy_ids` weren&#39;t parsed correctly from the API Response
([#24031](https://github.com/hashicorp/terraform-provider-azurerm/issues/24031))&#xA;*
`azurerm_nginx_deployment` - add default value of `20` for `capacity`
([#24033](https://github.com/hashicorp/terraform-provider-azurerm/issues/24033))&#xA;&#xA;&#xA;</pre>
            </details>
            <details>
                <summary>3.84.0</summary>
<pre>Changelog retrieved
from:&#xA;&#x9;https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.84.0&#xA;FEATURES:&#xA;&#xA;*
**New Data Source:** `azurerm_storage_containers`
([#24061](https://github.com/hashicorp/terraform-provider-azurerm/issues/24061))&#xA;*
**New Resource:** `azurerm_elastic_san`
([#23619](https://github.com/hashicorp/terraform-provider-azurerm/issues/23619))&#xA;*
**New Resource:**
`azurerm_key_vault_managed_hardware_security_module_role_assignment`
([#22332](https://github.com/hashicorp/terraform-provider-azurerm/issues/22332))&#xA;*
**New Resource:**
`azurerm_key_vault_managed_hardware_security_module_role_definition`
([#22332](https://github.com/hashicorp/terraform-provider-azurerm/issues/22332))&#xA;&#xA;ENHANCEMENTS:&#xA;&#xA;*
dependencies: updating mssql elasticpools from `v5.0` to
`2023-05-01-preview`&#xA;* dependencies: updating to
`v0.20231207.1122031` of `github.com/hashicorp/go-azure-sdk`
([#24149](https://github.com/hashicorp/terraform-provider-azurerm/issues/24149))&#xA;*
Data Source: `azurerm_storage_account` - export the primary and
secondary internet and microsoft hostnames for blobs, dfs, files,
queues, tables and web
([#23517](https://github.com/hashicorp/terraform-provider-azurerm/issues/23517))&#xA;*
Data Source: `azurerm_cosmosdb_account` - export the
`connection_strings`, `primary_sql_connection_string`,
`secondary_sql_connection_string`,
`primary_readonly_sql_connection_string`,
`secondary_readonly_sql_connection_string`,
`primary_mongodb_connection_string`,
`secondary_mongodb_connection_string`,
`primary_readonly_mongodb_connection_string`, and
`secondary_readonly_mongodb_connection_string` attributes
([#24129](https://github.com/hashicorp/terraform-provider-azurerm/issues/24129))&#xA;*
`azurerm_bot_service_azure_bot` - support for the
`public_network_access_enabled` property
([#24125](https://github.com/hashicorp/terraform-provider-azurerm/issues/24125))&#xA;*
`azurerm_container_app_environment` - support for the `workload_profile`
property
([#23478](https://github.com/hashicorp/terraform-provider-azurerm/issues/23478))&#xA;*
`azurerm_cosmosdb_cassandra_datacenter` - support for the
`seed_node_ip_addresses` property
([#24076](https://github.com/hashicorp/terraform-provider-azurerm/issues/24076))&#xA;*
`azurerm_firewall` - support for the `dns_proxy_enabled` property
([#20519](https://github.com/hashicorp/terraform-provider-azurerm/issues/20519))&#xA;*
`azurerm_kubernetes_cluster` - support for the `support_plan` property
and the `sku_tier` `Premium`
([#23970](https://github.com/hashicorp/terraform-provider-azurerm/issues/23970))&#xA;*
`azurerm_mssql_database` - support for `enclave_type` field
([#24054](https://github.com/hashicorp/terraform-provider-azurerm/issues/24054))&#xA;*
`azurerm_mssql_elasticpool` - support for `enclave_type` field
([#24054](https://github.com/hashicorp/terraform-provider-azurerm/issues/24054))&#xA;*
`azurerm_mssql_managed_instance` - support for more `vcores`: `6`, `10`,
`12`, `20`, `48`, `56`, `96`, `128`
([#24085](https://github.com/hashicorp/terraform-provider-azurerm/issues/24085))&#xA;*
`azurerm_redis_linked_server` - support for the property
`geo_replicated_primary_host_name`
([#23984](https://github.com/hashicorp/terraform-provider-azurerm/issues/23984))&#xA;*
`azurerm_storage_account` - expose the primary and secondary internet
and microsoft hostnames for blobs, dfs, files, queues, tables and web
([#23517](https://github.com/hashicorp/terraform-provider-azurerm/issues/23517))&#xA;*
`azurerm_synapse_role_assignment` - support for the `principal_type`
property
([#24089](https://github.com/hashicorp/terraform-provider-azurerm/issues/24089))&#xA;*
`azurerm_spring_cloud_build_deployment` - support for the
`application_performance_monitoring_ids` property
([#23969](https://github.com/hashicorp/terraform-provider-azurerm/issues/23969))&#xA;*
`azurerm_virtual_network_gateway` - support for the
`bgp_route_translation_for_nat_enabled`, `dns_forwarding_enabled`,
`ip_sec_replay_protection_enabled`, `remote_vnet_traffic_enabled`,
`virtual_wan_traffic_enabled`, `radius_server`,
`virtual_network_gateway_client_connection`, `policy_group`, and
`ipsec_policy` property
([#23220](https://github.com/hashicorp/terraform-provider-azurerm/issues/23220))&#xA;&#xA;BUG
FIXES:&#xA;&#xA;* `azurerm_application_insights_api_key` - prevent a bug
where multiple keys couldn&#39;t be created for an Application Insights
instance
([#23463](https://github.com/hashicorp/terraform-provider-azurerm/issues/23463))&#xA;*
`azurerm_container_registry` - the `network_rule_set.virtual_network`
property has been deprecated
([#24140](https://github.com/hashicorp/terraform-provider-azurerm/issues/24140))&#xA;*
`azurerm_hdinsight_hadoop_cluster` - set
`roles.edge_node.install_script_action.parameters` into state by
retrieving the value provided in the user config since this property
isn&#39;t returned by the API
([#23971](https://github.com/hashicorp/terraform-provider-azurerm/issues/23971))&#xA;*
`azurerm_kubernetes_cluster` - prevent a bug where maintenance window
start date was always recalculated and sent to the API
([#23985](https://github.com/hashicorp/terraform-provider-azurerm/issues/23985))&#xA;*
`azurerm_mssql_database` - will no longer send all long retention values
in payload unless set
([#24124](https://github.com/hashicorp/terraform-provider-azurerm/issues/24124))&#xA;*
`azurerm_mssql_managed_database` - will no longer send all long
retention values in payload unless set
([#24124](https://github.com/hashicorp/terraform-provider-azurerm/issues/24124))&#xA;*
`azurerm_mssql_server_microsoft_support_auditing_policy` - only include
storage endpoint in payload if set
([#24122](https://github.com/hashicorp/terraform-provider-azurerm/issues/24122))&#xA;*
`azurerm_mobile_network_packet_core_control_plane` - prevent a panic if
the HTTP Response is nil
([#24083](https://github.com/hashicorp/terraform-provider-azurerm/issues/24083))&#xA;*
`azurerm_storage_account` - revert plan time name validation `(#23799)`
([#24142](https://github.com/hashicorp/terraform-provider-azurerm/issues/24142))&#xA;*
`azurerm_web_application_firewall_policy` - split create and update
function to fix lifecycle - ignore changes
([#23412](https://github.com/hashicorp/terraform-provider-azurerm/issues/23412))&#xA;&#xA;&#xA;</pre>
            </details>
        </details>
<a
href="https://infra.ci.jenkins.io/job/terraform-jobs/job/azure/job/main/931/">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>

---------

Co-authored-by: Jenkins Infra Bot (updatecli) <60776566+jenkins-infra-bot@users.noreply.github.com>
Co-authored-by: Damien Duportal <damien.duportal@gmail.com>
Copy link

github-actions bot commented May 5, 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 contributions.
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 May 5, 2024
@dimapaloskin dimapaloskin deleted the fix-arm-app-insights-existing-key-check branch June 19, 2024 06:53
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Error when trying to create more than one Azure Application Insights API Key
2 participants