1+ resource "azurerm_resource_group" "MessageQueueProcessorResourceGroup" {
2+ name = var. ResourceGroupName
3+ location = var. ResourceGroupLocation
4+ }
5+
6+ resource "azurerm_storage_account" "MessageQueueProcessorStorageAccount" {
7+ name = " messagequeueprocessorsa"
8+ resource_group_name = azurerm_resource_group. MessageQueueProcessorResourceGroup . name
9+ location = azurerm_resource_group. MessageQueueProcessorResourceGroup . location
10+ account_tier = " Standard"
11+ account_replication_type = " LRS"
12+ }
13+
14+ resource "azurerm_app_service_plan" "MessageQueueProcessorAppServicePlan" {
15+ name = " MessageQueueProcessorAppServicePlan"
16+ resource_group_name = azurerm_resource_group. MessageQueueProcessorResourceGroup . name
17+ location = azurerm_resource_group. MessageQueueProcessorResourceGroup . location
18+ kind = " FunctionApp"
19+ reserved = true
20+ sku {
21+ tier = " Dynamic"
22+ size = " Y1"
23+ }
24+
25+ resource "azurerm_function_app" "MessageQueueProcessorFunctionApp" {
26+ name = " MessageQueueProcessorApp"
27+ resource_group_name = azurerm_resource_group. MessageQueueProcessorResourceGroup . name
28+ location = azurerm_resource_group. MessageQueueProcessorResourceGroup . location
29+ app_service_plan_id = azurerm_app_service_plan. MessageQueueProcessorAppServicePlan . id
30+ storage_account_name = azurerm_storage_account. MessageQueueProcessorStorageAccount . name
31+ storage_account_access_key = azurerm_storage_account. MessageQueueProcessorStorageAccount . primary_access_key
32+ version = " ~4"
33+ site_config {
34+ application_stack {
35+ dotnet_version = " 8.0"
36+ }
37+ use_32_bit_worker_process = false
38+ always_on = true
39+ ftps_state = " Disabled"
40+ scm_type = " None"
41+ }
42+ app_settings = {
43+ FUNCTIONS_WORKER_RUNTIME = " dotnet-isolated"
44+ WEBSITE_RUN_FROM_PACKAGE = " ~4"
45+ AzureWebJobsStorage = azurerm_storage_account.MessageQueueProcessorStorageAccount.primary_connection_string"
46+ WEBSITE_RUN_FROM_PACKAGE = " 1 "
47+ }
48+ }
0 commit comments