Skip to content

Commit f197796

Browse files
authored
feat: add azapi locks to agent pool resources to prevent concurrent modifications (#160)
1 parent 81aa121 commit f197796

2 files changed

Lines changed: 19 additions & 10 deletions

File tree

main.default_agent_pool.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ resource "azapi_update_resource" "default_agent_pool" {
6363
body = {
6464
properties = { for k, v in module.default_agent_pool_data.body_properties : k => v if v != null }
6565
}
66+
locks = [
67+
azapi_resource.this.id,
68+
]
6669
read_headers = var.enable_telemetry ? { "User-Agent" : local.avm_azapi_header } : null
6770
update_headers = var.enable_telemetry ? { "User-Agent" : local.avm_azapi_header } : null
6871
}

modules/agentpool/main.tf

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,14 @@ moved {
1111
resource "azapi_resource" "this" {
1212
count = var.output_data_only ? 0 : var.create_before_destroy ? 0 : 1
1313

14-
name = var.name
15-
parent_id = var.parent_id
16-
type = "Microsoft.ContainerService/managedClusters/agentPools@2025-10-01"
17-
body = local.resource_body
18-
ignore_null_property = true
14+
name = var.name
15+
parent_id = var.parent_id
16+
type = "Microsoft.ContainerService/managedClusters/agentPools@2025-10-01"
17+
body = local.resource_body
18+
ignore_null_property = true
19+
locks = [
20+
var.parent_id
21+
]
1922
replace_triggers_refs = local.replace_triggers_refs
2023
response_export_values = [
2124
"properties.currentOrchestratorVersion",
@@ -40,11 +43,14 @@ resource "azapi_resource" "this" {
4043
resource "azapi_resource" "this_create_before_destroy" {
4144
count = var.output_data_only ? 0 : var.create_before_destroy ? 1 : 0
4245

43-
name = "${var.name}${substr(sha256(uuid()), 0, 4)}"
44-
parent_id = var.parent_id
45-
type = "Microsoft.ContainerService/managedClusters/agentPools@2025-10-01"
46-
body = local.resource_body
47-
ignore_null_property = true
46+
name = "${var.name}${substr(sha256(uuid()), 0, 4)}"
47+
parent_id = var.parent_id
48+
type = "Microsoft.ContainerService/managedClusters/agentPools@2025-10-01"
49+
body = local.resource_body
50+
ignore_null_property = true
51+
locks = [
52+
var.parent_id
53+
]
4854
replace_triggers_refs = local.replace_triggers_refs
4955
response_export_values = [
5056
"properties.currentOrchestratorVersion",

0 commit comments

Comments
 (0)