dependency/azapi_examples/Microsoft.EventGrid_eventSubscriptions@2021-12-01/main.tf (131 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" "namespace" { type = "Microsoft.EventHub/namespaces@2022-01-01-preview" parent_id = azapi_resource.resourceGroup.id name = var.resource_name location = var.location body = { properties = { disableLocalAuth = false isAutoInflateEnabled = false publicNetworkAccess = "Enabled" zoneRedundant = false } sku = { capacity = 1 name = "Standard" tier = "Standard" } } schema_validation_enabled = false response_export_values = ["*"] } resource "azapi_resource" "storageAccount" { type = "Microsoft.Storage/storageAccounts@2021-09-01" parent_id = azapi_resource.resourceGroup.id name = var.resource_name location = var.location body = { kind = "StorageV2" properties = { accessTier = "Hot" allowBlobPublicAccess = true allowCrossTenantReplication = true allowSharedKeyAccess = true defaultToOAuthAuthentication = false encryption = { keySource = "Microsoft.Storage" services = { queue = { keyType = "Service" } table = { keyType = "Service" } } } isHnsEnabled = false isNfsV3Enabled = false isSftpEnabled = false minimumTlsVersion = "TLS1_2" networkAcls = { defaultAction = "Allow" } publicNetworkAccess = "Enabled" supportsHttpsTrafficOnly = true } sku = { name = "Standard_LRS" } } schema_validation_enabled = false response_export_values = ["*"] } resource "azapi_resource" "eventhub" { type = "Microsoft.EventHub/namespaces/eventhubs@2021-11-01" parent_id = azapi_resource.namespace.id name = var.resource_name body = { properties = { messageRetentionInDays = 1 partitionCount = 1 status = "Active" } } schema_validation_enabled = false response_export_values = ["*"] } resource "azapi_resource" "eventSubscription" { type = "Microsoft.EventGrid/eventSubscriptions@2021-12-01" parent_id = azapi_resource.storageAccount.id name = var.resource_name body = { properties = { deadLetterDestination = null destination = { endpointType = "EventHub" properties = { deliveryAttributeMappings = null resourceId = azapi_resource.eventhub.id } } eventDeliverySchema = "EventGridSchema" filter = { includedEventTypes = [ "Microsoft.Storage.BlobCreated", "Microsoft.Storage.BlobRenamed", ] } labels = [ ] retryPolicy = { eventTimeToLiveInMinutes = 144 maxDeliveryAttempts = 10 } } } schema_validation_enabled = false response_export_values = ["*"] }