-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
data/resource: azurerm_management_group - now exports tenant_scoped_id #25555
data/resource: azurerm_management_group - now exports tenant_scoped_id #25555
Conversation
Signed-off-by: Brendan Thompson <[email protected]>
Signed-off-by: Brendan Thompson <[email protected]>
Signed-off-by: Brendan Thompson <[email protected]>
@katbyte – is there anything further you would like to see on this PR to help progress it? |
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.
Hey @BrendanThompson, this change looks good and I was able to get it working locally with a /tenants/
id. We should add a test though to make sure that we get this coverage in our acceptance test suite. And I'm wondering if we should add a /tenants/
id to the azurerm_management_group
resource so people don't have to build that id out themselves.
What're your thoughts there?
@mbfrahry — thanks for reviewing, appreciate it! I actually love your idea with having the ID in the data source, would we want it in both the data source and the resource? I think so personally. When it comes to testing, roger that let me look into it and get back to you ASAP. |
Signed-off-by: Brendan Thompson <[email protected]>
Signed-off-by: Brendan Thompson <[email protected]>
Signed-off-by: Brendan Thompson <[email protected]>
Signed-off-by: Brendan Thompson <[email protected]>
Signed-off-by: Brendan Thompson <[email protected]>
Signed-off-by: Brendan Thompson <[email protected]>
Signed-off-by: Brendan Thompson <[email protected]>
Signed-off-by: Brendan Thompson <[email protected]>
Signed-off-by: Brendan Thompson <[email protected]>
- Made regex for tenantID more generic (and non-adherent to standard) to allow for simpler test cases Signed-off-by: Brendan Thompson <[email protected]>
@mbfrahry — added in the tests and everything else. Hopefully they should pass this time. |
I was thinking perhaps |
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.
Left a few comments inline but otherwise 👍
internal/services/managementgroup/management_group_data_source.go
Outdated
Show resolved
Hide resolved
Signed-off-by: Brendan Thompson <[email protected]>
@tombuildsstuff – awesome thanks so much mate. Agree with everything that you've said and have made the required changes. |
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 @BrendanThompson - LGTM 🚜
Thanks so much @mbfrahry , @tombuildsstuff , & @katbyte ! |
<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.99.0" to "3.100.0" in file ".terraform.lock.hcl"</p> <details> <summary>3.100.0</summary> <pre>Changelog retrieved from:
	https://github.com/hashicorp/terraform-provider-azurerm/releases/tag/v3.100.0
ENHANCEMENTS:

* dependencies: updating `hashicorp/go-azure-sdk` to `v0.20240417.1084633` ([#25659](hashicorp/terraform-provider-azurerm#25659 `compute` - update Virtual Machine and Virtual Machine Scale Set resources and data sources to use `hashicorp/go-azure-sdk` ([#25533](hashicorp/terraform-provider-azurerm#25533 `machine_learning` - Add new `machine_learning` block that supports `purge_soft_deleted_workspace_on_destroy` ([#25624](hashicorp/terraform-provider-azurerm#25624 `loganalytics` - update cluster resource to use `hashicorp/go-azure-sdk` ([#23373](hashicorp/terraform-provider-azurerm#23373 Data Source: `azurerm_management_group` - now exports the `tenant_scoped_id` attribute ([#25555](hashicorp/terraform-provider-azurerm#25555 `azurerm_container_app` - the `ingress.ip_security_restriction.ip_address_range` property will now accept an IP address as valid input ([#25609](hashicorp/terraform-provider-azurerm#25609 `azurerm_container_group` - the `identity` block can now be updated ([#25543](hashicorp/terraform-provider-azurerm#25543 `azurerm_express_route_connection` - support for the `private_link_fast_path_enabled` property ([#25596](hashicorp/terraform-provider-azurerm#25596 `azurerm_hdinsight_hadoop_cluster` - support for the `private_link_configuration` block ([#25629](hashicorp/terraform-provider-azurerm#25629 `azurerm_hdinsight_hbase_cluster` - support for the `private_link_configuration` block ([#25629](hashicorp/terraform-provider-azurerm#25629 `azurerm_hdinsight_interactive_query_cluster` - support for the `private_link_configuration` block ([#25629](hashicorp/terraform-provider-azurerm#25629 `azurerm_hdinsight_kafka_cluster` - support for the `private_link_configuration` block ([#25629](hashicorp/terraform-provider-azurerm#25629 `azurerm_hdinsight_spark_cluster` - support for the `private_link_configuration` block ([#25629](hashicorp/terraform-provider-azurerm#25629 `azurerm_management_group` - now exports the `tenant_scoped_id` attribute ([#25555](hashicorp/terraform-provider-azurerm#25555 `azurerm_monitor_activity_log_alert` - support for the `location` property ([#25389](hashicorp/terraform-provider-azurerm#25389 `azurerm_mysql_flexible_server` - update validating regex for `sku_name` ([#25642](hashicorp/terraform-provider-azurerm#25642 `azurerm_postgresql_flexible_server` - support for the `GeoRestore` `create_mode` ([#25664](hashicorp/terraform-provider-azurerm#25664 `azurerm_virtual_network_gateway_connection` - support for the `private_link_fast_path_enabled` property ([#25650](hashicorp/terraform-provider-azurerm#25650 `azurerm_windows_web_app` - support for the `handler_mapping` block ([#25631](hashicorp/terraform-provider-azurerm#25631 `azurerm_windows_web_app_slot` - support for the `handler_mapping` block ([#25631](https://github.com/hashicorp/terraform-provider-azurerm/issues/25631))

BUG FIXES:

* storage: prevent a bug causing the second storage account key to be used for authentication instead of the first ([#25652](hashicorp/terraform-provider-azurerm#25652 `azurerm_active_directory_domain_service` - prevent an issue where `filtered_sync_enabled` was not being updated ([#25594](hashicorp/terraform-provider-azurerm#25594 `azurerm_application_insights` - add a state migration to fix the resource ID casing of Application Insights resources ([#25628](hashicorp/terraform-provider-azurerm#25628 `azurerm_function_app_hybrid_connection` - can now use relay resources created in a different resource group ([#25541](hashicorp/terraform-provider-azurerm#25541 `azurerm_kubernetes_cluster_node_pool` - prevent plan diff when the `windows_profile.outbound_nat_enabled` property is unset ([#25644](hashicorp/terraform-provider-azurerm#25644 `azurerm_machine_learning_compute_cluster` - fix location to point to parent resource for computes ([#25643](hashicorp/terraform-provider-azurerm#25643 `azurerm_machine_learning_compute_instance` - fix location to point to parent resource for computes ([#25643](hashicorp/terraform-provider-azurerm#25643 `azurerm_storage_account` - check replication type when evaluating support level for shares and queues for V1 storage accounts ([#25581](hashicorp/terraform-provider-azurerm#25581 `azurerm_storage_account` - added a sanity check for `dns_endpoint_type` and `blob_properties.restore_policy` ([#25450](hashicorp/terraform-provider-azurerm#25450 `azurerm_web_app_hybrid_connection` - can now use relay resources created in a different resource group ([#25541](hashicorp/terraform-provider-azurerm#25541 `azurerm_windows_web_app` - prevent removal of `site_config.application_stack.node_version` when `app_settings` are updated ([#25488](hashicorp/terraform-provider-azurerm#25488 `azurerm_windows_web_app_slot` - prevent removal of `site_config.application_stack.node_version` when `app_settings` are updated ([#25489](https://github.com/hashicorp/terraform-provider-azurerm/issues/25489))

DEPRECATIONS:

* `logz` - the Logz resources are deprecated and will be removed in v4.0 of the AzureRM Provider since the API no longer allows new instances to be created ([#25405](hashicorp/terraform-provider-azurerm#25405 `azurerm_machine_learning_compute_instance` - marked the `location` field as deprecated in v4.0 of the provider ([#25643](hashicorp/terraform-provider-azurerm#25643 `azurerm_kubernetes_cluster` - the following properties have been deprecated since the API no longer supports cluster creation with legacy Azure Entra integration: `client_app_id`, `server_app_id`, `server_app_secret` and `managed` ([#25200](https://github.com/hashicorp/terraform-provider-azurerm/issues/25200))


</pre> </details> </details> <a href="https://infra.ci.jenkins.io/job/updatecli/job/azure/job/main/117/">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) <[email protected]>
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
Currently when trying to create a System Topic on a Management Group using the described and validated Management Group ID as per below an error is received:
This yields the following error:
This error looks to be coming from the Azure API, which means the current
validate.ManagementGroupID
function from thegithub.com/hashicorp/terraform-provider-azurerm/internal/services/managementgroup/validate
package is only checking for valid format on the above and not what is expected by the API.As shown in the following documentation the resource ID format changes specifically for Management Group IDs when creating a System Topic.
https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/governance/policy/tutorials/route-state-change-events.md#create-an-event-grid-system-topic
The resolution to this is to create a validator and parser for Management Group IDs based on that format.
PR Checklist
Changes to existing Resource / Data Source
Change Log
Below please provide what should go into the changelog (if anything) conforming to the Changelog Format documented here.
azurerm_eventgrid_system_topic
- support for using a correctly formatted Management Group ID as thesource_arm_resource_id
[data/resource: azurerm_management_group - now exports tenant_scoped_id #25555]This is a (please select all that apply):
Related Issue(s)
Fixes #24548
Note
If this PR changes meaningfully during the course of review please update the title and description as required.