dependency/azapi_examples/Microsoft.DocumentDB_databaseAccounts_sqlRoleAssignments@2021-10-15/main.tf (132 lines of code) (raw):

terraform { required_providers { azapi = { source = "Azure/azapi" } } } provider "azapi" { skip_provider_registration = false } variable "resource_name" { type = string default = "acctest0001" } variable "location" { type = string default = "westeurope" } resource "azapi_resource" "resourceGroup" { type = "Microsoft.Resources/resourceGroups@2020-06-01" name = var.resource_name location = var.location } resource "azapi_resource" "cluster" { type = "Microsoft.Kusto/clusters@2023-05-02" parent_id = azapi_resource.resourceGroup.id name = var.resource_name location = var.location identity { type = "SystemAssigned" identity_ids = [] } body = { properties = { enableAutoStop = true enableDiskEncryption = false enableDoubleEncryption = false enablePurge = false enableStreamingIngest = false engineType = "V2" publicIPType = "IPv4" publicNetworkAccess = "Enabled" restrictOutboundNetworkAccess = "Disabled" trustedExternalTenants = [ ] } sku = { capacity = 1 name = "Dev(No SLA)_Standard_D11_v2" tier = "Basic" } } schema_validation_enabled = false response_export_values = ["*"] } resource "azapi_resource" "databaseAccount" { type = "Microsoft.DocumentDB/databaseAccounts@2021-10-15" parent_id = azapi_resource.resourceGroup.id name = var.resource_name location = var.location body = { kind = "GlobalDocumentDB" properties = { capabilities = [ ] consistencyPolicy = { defaultConsistencyLevel = "Session" maxIntervalInSeconds = 5 maxStalenessPrefix = 100 } databaseAccountOfferType = "Standard" defaultIdentity = "FirstPartyIdentity" disableKeyBasedMetadataWriteAccess = false disableLocalAuth = false enableAnalyticalStorage = false enableAutomaticFailover = false enableFreeTier = false enableMultipleWriteLocations = false ipRules = [ ] isVirtualNetworkFilterEnabled = false locations = [ { failoverPriority = 0 isZoneRedundant = false locationName = "West Europe" }, ] networkAclBypass = "None" networkAclBypassResourceIds = [ ] publicNetworkAccess = "Enabled" virtualNetworkRules = [ ] } } schema_validation_enabled = false response_export_values = ["*"] } data "azapi_resource" "sqlRoleDefinition" { type = "Microsoft.DocumentDB/databaseAccounts/sqlRoleDefinitions@2021-10-15" parent_id = azapi_resource.databaseAccount.id name = "00000000-0000-0000-0000-000000000001" response_export_values = ["*"] } resource "azapi_resource" "database" { type = "Microsoft.Kusto/clusters/databases@2023-05-02" parent_id = azapi_resource.cluster.id name = var.resource_name location = var.location body = { kind = "ReadWrite" properties = { } } schema_validation_enabled = false response_export_values = ["*"] } resource "azapi_resource" "sqlRoleAssignment" { type = "Microsoft.DocumentDB/databaseAccounts/sqlRoleAssignments@2021-10-15" parent_id = azapi_resource.databaseAccount.id name = "ff419bf7-f8ca-ef51-00d2-3576700c341b" body = { properties = { principalId = azapi_resource.cluster.output.identity.principalId roleDefinitionId = data.azapi_resource.sqlRoleDefinition.id scope = azapi_resource.databaseAccount.id } } schema_validation_enabled = false response_export_values = ["*"] }