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_api_management_api - change id format so specific revisions can be managed by Terraform #23031

Merged
merged 14 commits into from Jan 19, 2024

Conversation

mbfrahry
Copy link
Member

Supersedes #22380

This is taking the existing work that was done by @kevjallen and smoothing out some of the edge cases around the azurerm_api_management_api and azurerm_api_management_api_release resources.

Unfortunately, this resource is broken around revisions without a good path forward to fix existing issues. To fix issues around revision will require manual work by importing the revision in with the new id format

stephybun
stephybun previously approved these changes Aug 22, 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.

Thanks @mbfrahry, minor comment otherwise LGTM 🌭

internal/services/apimanagement/migration/api_v0_to_v1.go Outdated Show resolved Hide resolved
Co-authored-by: stephybun <steph@hashicorp.com>
@stephybun
Copy link
Member

@mbfrahry @katbyte - had an internal discussion and this should not be merged yet.

@stephybun stephybun dismissed their stale review August 24, 2023 13:36

internal discussion - we have concerns about the semicolon in the ID

@kevjallen

This comment was marked as off-topic.

@celsocoutinho-tangany
Copy link

Are there any plans to merge this PR?

Copy link
Member

@tombuildsstuff tombuildsstuff left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@tombuildsstuff tombuildsstuff modified the milestones: v3.86.0, v3.88.0 Jan 10, 2024
@rcskosir rcskosir linked an issue Jan 18, 2024 that may be closed by this pull request
@mbfrahry mbfrahry merged commit d16fbb1 into main Jan 19, 2024
24 checks passed
@mbfrahry mbfrahry deleted the nexient-llc-main branch January 19, 2024 19:54
mbfrahry added a commit that referenced this pull request Jan 19, 2024
dduportal added a commit to jenkins-infra/azure that referenced this pull request Jan 25, 2024
<Actions>
<action
id="f410411e63aff4bb73a81c2aec1d373cf8a903e63b30dee2006b0030d8a94cc8">
        <h3>Bump Terraform `azurerm` provider version</h3>
<details
id="1d9343c012f5434ac9fe8a98135bae3667b399259be16d9b14302ea3bd424a24">
            <summary>Update Terraform lock file</summary>
<p>changes detected:&#xA;&#x9;&#34;hashicorp/azurerm&#34; updated from
&#34;3.88.0&#34; to &#34;3.89.0&#34; in file
&#34;.terraform.lock.hcl&#34;</p>
            <details>
                <summary>3.89.0</summary>
<pre>Changelog retrieved
from:&#xA;&#x9;https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.89.0&#xA;FEATURES:&#xA;&#xA;*
New Data Source: `azurerm_data_factory_trigger_schedule`
([#24572](https://github.com/hashicorp/terraform-provider-azurerm/issues/24572))&#xA;*
New Data Source: `azurerm_data_factory_trigger_schedules`
([#24572](https://github.com/hashicorp/terraform-provider-azurerm/issues/24572))&#xA;*
New Data Source: `azurerm_ip_groups`
([#24540](https://github.com/hashicorp/terraform-provider-azurerm/issues/24540))&#xA;*
New Data Source: `azurerm_nginx_certificate`
([#24577](https://github.com/hashicorp/terraform-provider-azurerm/issues/24577))&#xA;*
New Resource: `azurerm_chaos_studio_target`
([#24580](https://github.com/hashicorp/terraform-provider-azurerm/issues/24580))&#xA;*
New Resource: `azurerm_elastic_san_volume_group`
([#24166](https://github.com/hashicorp/terraform-provider-azurerm/issues/24166))&#xA;*
New Resource: `azurerm_netapp_account_encryption`
([#23733](https://github.com/hashicorp/terraform-provider-azurerm/issues/23733))&#xA;*
New Resource: `azurerm_redhat_openshift_cluster`
([#24375](https://github.com/hashicorp/terraform-provider-azurerm/issues/24375))&#xA;&#xA;ENHANCEMENTS:&#xA;&#xA;*
dependencies: updating to `v0.66.1` of
`github.com/hashicorp/go-azure-helpers`
([#24561](https://github.com/hashicorp/terraform-provider-azurerm/issues/24561))&#xA;*
dependencies: updating to `v0.20240124.1115501` of
`github.com/hashicorp/go-azure-sdk`
([#24619](https://github.com/hashicorp/terraform-provider-azurerm/issues/24619))&#xA;*
`bot`: updating to API Version `2021-05-01-preview`
([#24555](https://github.com/hashicorp/terraform-provider-azurerm/issues/24555))&#xA;*
`containerservice`: the SDK Clients now support logging
([#24564](https://github.com/hashicorp/terraform-provider-azurerm/issues/24564))&#xA;*
`cosmosdb`: updating to API Version `2023-04-15`
([#24541](https://github.com/hashicorp/terraform-provider-azurerm/issues/24541))&#xA;*
`loadtestservice`: updating to use the base layer from
`hashicorp/go-azure-sdk` rather than `Azure/go-autorest` (and support
logging)
([#24578](https://github.com/hashicorp/terraform-provider-azurerm/issues/24578))&#xA;*
`managedidentity`: updating to use the base layer from
`hashicorp/go-azure-sdk` rather than `Azure/go-autorest` (and support
logging)
([#24578](https://github.com/hashicorp/terraform-provider-azurerm/issues/24578))&#xA;*
`azurerm_api_management_api` - change the `id` format so specific
`revision`s can be managed by Terraform
([#23031](https://github.com/hashicorp/terraform-provider-azurerm/issues/23031))&#xA;*
`azurerm_data_protection_backup_vault` - the `redundancy` propety can
now be set to `ZoneRedundant`
([#24556](https://github.com/hashicorp/terraform-provider-azurerm/issues/24556))&#xA;*
`azurerm_data_factory_integration_runtime_azure_ssis` - support for the
`credential_name` property
([#24458](https://github.com/hashicorp/terraform-provider-azurerm/issues/24458))&#xA;*
`azurerm_orchestrated_virtual_machine_scale_set` - support
`2022-datacenter-azure-edition-hotpatch` and
`2022-datacenter-azure-edition-hotpatch-smalldisk` hotpatching images
([#23500](https://github.com/hashicorp/terraform-provider-azurerm/issues/23500))&#xA;*
`azurerm_stream_analytics_job` - support for the `sku_name` property
([#24554](https://github.com/hashicorp/terraform-provider-azurerm/issues/24554))&#xA;&#xA;BUG
FIXES:&#xA;&#xA;* Data Source: `azurerm_app_service` - parsing the API
Response for `app_service_plan_id` case-insensitively
([#24626](https://github.com/hashicorp/terraform-provider-azurerm/issues/24626))&#xA;*
Data Source: `azurerm_function_app` - parsing the API Response for
`app_service_plan_id` case-insensitively
([#24626](https://github.com/hashicorp/terraform-provider-azurerm/issues/24626))&#xA;*
`azurerm_app_configuration_key` - the value for the `value` property can
now be removed/emptied
([#24582](https://github.com/hashicorp/terraform-provider-azurerm/issues/24582))&#xA;&#xA;*
`azurerm_app_service` - parsing the API Response for
`app_service_plan_id` case-insensitively
([#24626](https://github.com/hashicorp/terraform-provider-azurerm/issues/24626))&#xA;*
`azurerm_app_service_plan` - fix casing in `serverFarms` due to ID
update
([#24562](https://github.com/hashicorp/terraform-provider-azurerm/issues/24562))&#xA;*
`azurerm_app_service_slot` - parsing the API Response for
`app_service_plan_id` case-insensitively
([#24626](https://github.com/hashicorp/terraform-provider-azurerm/issues/24626))&#xA;*
`azurerm_automation_schedule` - only one `monthly_occurence` block can
now be specified
([#24614](https://github.com/hashicorp/terraform-provider-azurerm/issues/24614))&#xA;*
`azurerm_cognitive_deployment` - the `model.version` property is no
longer required
([#24264](https://github.com/hashicorp/terraform-provider-azurerm/issues/24264))&#xA;*
`azurerm_container_app` - multiple `custom_scale_rule` can not be
updated
([#24509](https://github.com/hashicorp/terraform-provider-azurerm/issues/24509))&#xA;*
`azurerm_container_registry_task_schedule_run_now` - prevent issue where
the incorrect scheduled run in tracked if there have been multiple
([#24592](https://github.com/hashicorp/terraform-provider-azurerm/issues/24592))&#xA;*
`azurerm_function_app` - parsing the API Response for
`app_service_plan_id` case-insensitively
([#24626](https://github.com/hashicorp/terraform-provider-azurerm/issues/24626))&#xA;*
`azurerm_function_app_slot` - parsing the API Response for
`app_service_plan_id` case-insensitively
([#24626](https://github.com/hashicorp/terraform-provider-azurerm/issues/24626))&#xA;*
`azurerm_logic_app_standard` - now will parse the app service ID
insensitively
([#24562](https://github.com/hashicorp/terraform-provider-azurerm/issues/24562))&#xA;*
`azurerm_logic_app_workflow` - the `workflow_parameters` will now
correctly handle information specified by `$connections`
([#24141](https://github.com/hashicorp/terraform-provider-azurerm/issues/24141))&#xA;*
`azurerm_mssql_managed_instance_security_alert_policy` - can not update
empty storage attributes
([#24553](https://github.com/hashicorp/terraform-provider-azurerm/issues/24553))&#xA;*
`azurerm_network_interface` - the `ip_configuration` properties are no
longer added to a Load Balancer Backend if one of those
`ip_configurations` is associated with a backend
([#24470](https://github.com/hashicorp/terraform-provider-azurerm/issues/24470))&#xA;&#xA;&#xA;</pre>
            </details>
        </details>
<a
href="https://infra.ci.jenkins.io/job/terraform-jobs/job/azure/job/main/1052/">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>
@celsocoutinho-tangany
Copy link

celsocoutinho-tangany commented Jan 30, 2024

Can someone provide a working configuration on how to create new revisions on existing APIM APIs? It is not working for me... Perhaps @mbfrahry @tombuildsstuff @rcskosir @stephybun ?

@Andrei-Predoiu
Copy link

Andrei-Predoiu commented Mar 13, 2024

Has anyone come across this bug?
terraform wants to recreate all my azurerm_api_management_gateway_api every time i run terraform apply
#25239

Copy link

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 Apr 18, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.