terraform provider your segment does not match
This is a generic error and can happy for different resource that you're trying to provision. especially thoes that requires segment aka /subscriptions/123456/resourceGroup/my-rg pattern.
In my case, trying to provision azurerm_mssql_database_extended_auditing_policy and i bump into this error:-
Error: parsing "/subscriptions/subscription/resourceGroups/your-rg/providers/Microsoft.Sql/servers/sqlserver": parsing the SqlDatabase ID: the number of segments didn't match
This is the sample code below under 'azurerm_mssql_database_extended_auditing_policy'' instead of database id, a database server id is.
resource "azurerm_mssql_server" "example" {
name = "example-sqlserver"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
version = "12.0"
administrator_login = "missadministrator"
administrator_login_password = "AdminPassword123!"
}
resource "azurerm_mssql_database" "example" {
name = "example-db"
server_id = azurerm_mssql_server.example.id
}
# wrong database_id subscription given
resource "azurerm_mssql_database_extended_auditing_policy" "example" {
database_id = azurerm_mssql_server.example.id
storage_endpoint = azurerm_storage_account.example.primary_blob_endpoint
storage_account_access_key = azurerm_storage_account.example.primary_access_key
storage_account_access_key_is_secondary = false
retention_in_days = 6
}
## corrected
resource "azurerm_mssql_database_extended_auditing_policy" "example" {
database_id = azurerm_mssql_database.example.id
storage_endpoint = azurerm_storage_account.example.primary_blob_endpoint
storage_account_access_key = azurerm_storage_account.example.primary_access_key
storage_account_access_key_is_secondary = false
retention_in_days = 6
}
The fix is quite easy, just replace server id with database id.
Comments