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

api_management_api_operation_tag - Don't use this resource to create tags. Only attach existing tags to operations #27518

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

dennis1f
Copy link

@dennis1f dennis1f commented Sep 26, 2024

Community Note

  • Please vote on this PR by adding a 👍 reaction to the original PR to help the community and maintainers prioritize for review
  • Please do not leave comments along the lines of "+1", "me too" or "any updates", they generate extra noise for PR followers and do not help prioritize for review

Description

Previously the api_management_api_operation_tag resource first created a tag and then attached this tag to the operation. This behaviour leads to problems if the same tag shall be attached to multiple apis / operations. This PR fixed this by aligning the behaviour of the api_management_api_operation_tag resource to the behaviour of the api_management_api_tag resource.

It is now expected to manage a tag with the api_management_tag resource and then attach it to one or multiple operations with the api_management_api_operation_tag resource.

The code is written in such a way that it reverts to the old behaviour if the display_name property is still set, to not break existing users.
However new and existing users are encouraged to switch to using api_management_tag resource in combination with the api_management_api_operation_tag resource by showing the deprecation message of the display_name property.

PR Checklist

  • I have followed the guidelines in our Contributing Documentation.
  • I have checked to ensure there aren't other open Pull Requests for the same update/change.
  • I have checked if my changes close any open issues. If so please include appropriate closing keywords below.
  • I have updated/added Documentation as required written in a helpful and kind way to assist users that may be unfamiliar with the resource / data source.
  • I have used a meaningful PR title to help maintainers and other users understand this change and help prevent duplicate work.

Changes to existing Resource / Data Source

  • I have added an explanation of what my changes do and why I'd like you to include them (This may be covered by linking to an issue above, but may benefit from additional explanation).
  • I have written new tests for my resource or datasource changes & updated any relevant documentation.
  • I have successfully run tests with my changes locally. If not, please provide details on testing challenges that prevented you running the tests.
  • (For changes that include a state migration only). I have manually tested the migration path between relevant versions of the provider.

Testing

  • My submission includes Test coverage as described in the Contribution Guide and the tests pass. (if this is not possible for any reason, please include details of why you did or could not add test coverage)
==> Checking that code complies with gofmt requirements...
==> Checking that Custom Timeouts are used...
egrep: warning: egrep is obsolescent; using grep -E
egrep: warning: egrep is obsolescent; using grep -E
==> Checking that acceptance test packages are used...
TF_ACC=1 go test -v ./internal/services/apimanagement -run=TestAccApiManagementApiOperationTag_ -timeout 300m -ldflags="-X=github.com/hashicorp/terraform-provider-azurerm/version.ProviderVersion=acc"
=== RUN   TestAccApiManagementApiOperationTag_basic
=== PAUSE TestAccApiManagementApiOperationTag_basic
=== RUN   TestAccApiManagementApiOperationTag_requiresImport
=== PAUSE TestAccApiManagementApiOperationTag_requiresImport
=== RUN   TestAccApiManagementApiOperationTag_basic_withDisplayNameBackwardCompatibility
=== PAUSE TestAccApiManagementApiOperationTag_basic_withDisplayNameBackwardCompatibility
=== RUN   TestAccApiManagementApiOperationTag_requiresImport_withDisplayNameBackwardCompatibility
=== PAUSE TestAccApiManagementApiOperationTag_requiresImport_withDisplayNameBackwardCompatibility
=== RUN   TestAccApiManagementApiOperationTag_update_withDisplayNameBackwardCompatibility
=== PAUSE TestAccApiManagementApiOperationTag_update_withDisplayNameBackwardCompatibility
=== CONT  TestAccApiManagementApiOperationTag_basic
=== CONT  TestAccApiManagementApiOperationTag_update_withDisplayNameBackwardCompatibility
=== CONT  TestAccApiManagementApiOperationTag_requiresImport_withDisplayNameBackwardCompatibility
=== CONT  TestAccApiManagementApiOperationTag_basic_withDisplayNameBackwardCompatibility
--- PASS: TestAccApiManagementApiOperationTag_basic (252.47s)
=== CONT  TestAccApiManagementApiOperationTag_requiresImport
--- PASS: TestAccApiManagementApiOperationTag_requiresImport_withDisplayNameBackwardCompatibility (263.55s)
--- PASS: TestAccApiManagementApiOperationTag_basic_withDisplayNameBackwardCompatibility (317.08s)
--- PASS: TestAccApiManagementApiOperationTag_update_withDisplayNameBackwardCompatibility (329.33s)
--- PASS: TestAccApiManagementApiOperationTag_requiresImport (244.14s)
PASS
ok  	github.com/hashicorp/terraform-provider-azurerm/internal/services/apimanagement	496.662s

Change Log

Below please provide what should go into the changelog (if anything) conforming to the Changelog Format documented here.

This is a (please select all that apply):

  • Bug Fix
  • New Feature (ie adding a service, resource, or data source)
  • Enhancement
  • Breaking Change

Related Issue(s)

Closes #12580
Fixes #25098

@dennis1f dennis1f marked this pull request as ready for review September 26, 2024 10:49
@dennis1f dennis1f changed the title api_management_api_operation_tag: Don't use this resource to create tags. Only attach existing tags to operations api_management_api_operation_tag - Don't use this resource to create tags. Only attach existing tags to operations Sep 26, 2024
@stephybun stephybun self-assigned this Nov 11, 2024
@katbyte katbyte requested review from katbyte and a team as code owners November 14, 2024 00:08
@rcskosir
Copy link
Contributor

Thank you so much for taking the time to put this together! We really appreciate your contribution.
Apologies for the delay in reviewing it. The topic you've raised requires some investigation around naming and deprecation, and we'll need to allocate some time to fully look into it. Rest assured, we'll review this as soon as we can.
Thanks again for your patience, and we'll keep you updated on the progress!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants