diff --git a/quickstart/101-cosmos-db-aad-rbac/main.tf b/quickstart/101-cosmos-db-aad-rbac/main.tf index 06bc93dc..b26a2be9 100644 --- a/quickstart/101-cosmos-db-aad-rbac/main.tf +++ b/quickstart/101-cosmos-db-aad-rbac/main.tf @@ -9,8 +9,21 @@ resource "azurerm_resource_group" "example" { location = var.location } +resource "random_string" "db_account_name" { + count = var.cosmosdb_account_name == null ? 1 : 0 + + length = 20 + upper = false + special = false + numeric = false +} + +locals { + cosmosdb_account_name = try(random_string.db_account_name[0].result, var.cosmosdb_account_name) +} + resource "azurerm_cosmosdb_account" "example" { - name = var.cosmosdb_account_name + name = local.cosmosdb_account_name location = var.cosmosdb_account_location resource_group_name = azurerm_resource_group.example.name offer_type = "Standard" @@ -74,7 +87,9 @@ resource "azurerm_cosmosdb_sql_role_definition" "example" { resource_group_name = azurerm_resource_group.example.name account_name = azurerm_cosmosdb_account.example.name type = "CustomRole" - assignable_scopes = ["/subscriptions/${data.azurerm_client_config.current.subscription_id}/resourceGroups/${azurerm_resource_group.example.name}/providers/Microsoft.DocumentDB/databaseAccounts/${azurerm_cosmosdb_account.example.name}"] + assignable_scopes = [ + "/subscriptions/${data.azurerm_client_config.current.subscription_id}/resourceGroups/${azurerm_resource_group.example.name}/providers/Microsoft.DocumentDB/databaseAccounts/${azurerm_cosmosdb_account.example.name}" + ] permissions { data_actions = ["Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/items/read"] diff --git a/quickstart/101-cosmos-db-aad-rbac/outputs.tf b/quickstart/101-cosmos-db-aad-rbac/outputs.tf index 7f78abd8..aedf817c 100644 --- a/quickstart/101-cosmos-db-aad-rbac/outputs.tf +++ b/quickstart/101-cosmos-db-aad-rbac/outputs.tf @@ -4,4 +4,8 @@ output "cosmosdb_account_id" { output "cosmosdb_sql_database_id" { value = azurerm_cosmosdb_sql_database.example.id +} + +output "cosmosdb_account_name" { + value = azurerm_cosmosdb_account.example.name } \ No newline at end of file diff --git a/quickstart/101-cosmos-db-aad-rbac/variables.tf b/quickstart/101-cosmos-db-aad-rbac/variables.tf index 7bf21f8c..db76f65d 100644 --- a/quickstart/101-cosmos-db-aad-rbac/variables.tf +++ b/quickstart/101-cosmos-db-aad-rbac/variables.tf @@ -12,7 +12,7 @@ variable "location" { variable "cosmosdb_account_name" { type = string - default = "default-account-name" + default = null description = "Cosmos db account name" } diff --git a/quickstart/101-cosmos-db-analyticalstore/main.tf b/quickstart/101-cosmos-db-analyticalstore/main.tf index 82701870..e800760b 100644 --- a/quickstart/101-cosmos-db-analyticalstore/main.tf +++ b/quickstart/101-cosmos-db-analyticalstore/main.tf @@ -3,8 +3,21 @@ resource "azurerm_resource_group" "example" { location = var.location } +resource "random_string" "db_account_name" { + count = var.cosmosdb_account_name == null ? 1 : 0 + + length = 20 + upper = false + special = false + numeric = false +} + +locals { + cosmosdb_account_name = try(random_string.db_account_name[0].result, var.cosmosdb_account_name) +} + resource "azurerm_cosmosdb_account" "example" { - name = var.cosmosdb_account_name + name = local.cosmosdb_account_name location = var.cosmosdb_account_location resource_group_name = azurerm_resource_group.example.name offer_type = "Standard" diff --git a/quickstart/101-cosmos-db-analyticalstore/outputs.tf b/quickstart/101-cosmos-db-analyticalstore/outputs.tf index 7f78abd8..aedf817c 100644 --- a/quickstart/101-cosmos-db-analyticalstore/outputs.tf +++ b/quickstart/101-cosmos-db-analyticalstore/outputs.tf @@ -4,4 +4,8 @@ output "cosmosdb_account_id" { output "cosmosdb_sql_database_id" { value = azurerm_cosmosdb_sql_database.example.id +} + +output "cosmosdb_account_name" { + value = azurerm_cosmosdb_account.example.name } \ No newline at end of file diff --git a/quickstart/101-cosmos-db-analyticalstore/variables.tf b/quickstart/101-cosmos-db-analyticalstore/variables.tf index 1a29addc..44ebac8d 100644 --- a/quickstart/101-cosmos-db-analyticalstore/variables.tf +++ b/quickstart/101-cosmos-db-analyticalstore/variables.tf @@ -12,7 +12,7 @@ variable "location" { variable "cosmosdb_account_name" { type = string - default = "default-account-name" + default = null description = "Cosmos db account name" } diff --git a/quickstart/101-cosmos-db-autoscale/main.tf b/quickstart/101-cosmos-db-autoscale/main.tf index 7b88ebeb..fc807e91 100644 --- a/quickstart/101-cosmos-db-autoscale/main.tf +++ b/quickstart/101-cosmos-db-autoscale/main.tf @@ -3,8 +3,21 @@ resource "azurerm_resource_group" "example" { location = var.location } +resource "random_string" "db_account_name" { + count = var.cosmosdb_account_name == null ? 1 : 0 + + length = 20 + upper = false + special = false + numeric = false +} + +locals { + cosmosdb_account_name = try(random_string.db_account_name[0].result, var.cosmosdb_account_name) +} + resource "azurerm_cosmosdb_account" "example" { - name = var.cosmosdb_account_name + name = local.cosmosdb_account_name location = var.cosmosdb_account_location resource_group_name = azurerm_resource_group.example.name offer_type = "Standard" diff --git a/quickstart/101-cosmos-db-autoscale/outputs.tf b/quickstart/101-cosmos-db-autoscale/outputs.tf index eeb83014..db03821b 100644 --- a/quickstart/101-cosmos-db-autoscale/outputs.tf +++ b/quickstart/101-cosmos-db-autoscale/outputs.tf @@ -4,4 +4,8 @@ output "cosmosdb_account_id" { output "cosmosdb_sql_database_id" { value = azurerm_cosmosdb_sql_database.main.id +} + +output "cosmosdb_account_name" { + value = azurerm_cosmosdb_account.example.name } \ No newline at end of file diff --git a/quickstart/101-cosmos-db-autoscale/variables.tf b/quickstart/101-cosmos-db-autoscale/variables.tf index 55eab6ee..ef0716e6 100644 --- a/quickstart/101-cosmos-db-autoscale/variables.tf +++ b/quickstart/101-cosmos-db-autoscale/variables.tf @@ -12,7 +12,7 @@ variable "location" { variable "cosmosdb_account_name" { type = string - default = "default-cosmosdb-user" + default = null description = "Cosmos db account name" } diff --git a/quickstart/101-cosmos-db-free-tier/main.tf b/quickstart/101-cosmos-db-free-tier/main.tf index be34548e..a6412bee 100644 --- a/quickstart/101-cosmos-db-free-tier/main.tf +++ b/quickstart/101-cosmos-db-free-tier/main.tf @@ -4,7 +4,7 @@ resource "azurerm_resource_group" "example" { } resource "azurerm_cosmosdb_account" "example" { - name = "${random_pet.prefix.id}-cosmosdb-account" + name = random_pet.prefix.id location = var.cosmosdb_account_location resource_group_name = azurerm_resource_group.example.name offer_type = "Standard" diff --git a/quickstart/101-cosmos-db-free-tier/outputs.tf b/quickstart/101-cosmos-db-free-tier/outputs.tf index eeb83014..db03821b 100644 --- a/quickstart/101-cosmos-db-free-tier/outputs.tf +++ b/quickstart/101-cosmos-db-free-tier/outputs.tf @@ -4,4 +4,8 @@ output "cosmosdb_account_id" { output "cosmosdb_sql_database_id" { value = azurerm_cosmosdb_sql_database.main.id +} + +output "cosmosdb_account_name" { + value = azurerm_cosmosdb_account.example.name } \ No newline at end of file diff --git a/quickstart/101-cosmos-db-manualscale/outputs.tf b/quickstart/101-cosmos-db-manualscale/outputs.tf index eeb83014..db03821b 100644 --- a/quickstart/101-cosmos-db-manualscale/outputs.tf +++ b/quickstart/101-cosmos-db-manualscale/outputs.tf @@ -4,4 +4,8 @@ output "cosmosdb_account_id" { output "cosmosdb_sql_database_id" { value = azurerm_cosmosdb_sql_database.main.id +} + +output "cosmosdb_account_name" { + value = azurerm_cosmosdb_account.example.name } \ No newline at end of file diff --git a/quickstart/101-cosmos-db-serverside-functionality/outputs.tf b/quickstart/101-cosmos-db-serverside-functionality/outputs.tf index eeb83014..db03821b 100644 --- a/quickstart/101-cosmos-db-serverside-functionality/outputs.tf +++ b/quickstart/101-cosmos-db-serverside-functionality/outputs.tf @@ -4,4 +4,8 @@ output "cosmosdb_account_id" { output "cosmosdb_sql_database_id" { value = azurerm_cosmosdb_sql_database.main.id +} + +output "cosmosdb_account_name" { + value = azurerm_cosmosdb_account.example.name } \ No newline at end of file