An open API service indexing awesome lists of open source software.

https://github.com/libre-devops/terraform-azurerm-function-app

A module used to generate a single Azure function app based on some parameters :star:. Please note, this module will cease to work in the 4.0 provider due to changes by Microsoft.
https://github.com/libre-devops/terraform-azurerm-function-app

azure azurerm azurerm-terraform-provider module terraform terraform-module

Last synced: 2 months ago
JSON representation

A module used to generate a single Azure function app based on some parameters :star:. Please note, this module will cease to work in the 4.0 provider due to changes by Microsoft.

Awesome Lists containing this project

README

        

This module has been deprecated by Microsoft in the 3.x provider, you should use [Linux Function App](https://registry.terraform.io/modules/libre-devops/linux-function-app/azurerm/latest) or [Windows Function App](https://registry.terraform.io/modules/libre-devops/windows-function-app/azurerm/latest) instead

```hcl
module "asp_old" {
source = "registry.terraform.io/libre-devops/app-service-plan/azurerm"

rg_name = module.rg.rg_name
location = module.rg.rg_location
tags = module.rg.rg_tags

app_service_plan_name = "plan-${var.short}-${var.loc}-${terraform.workspace}-01"
add_to_app_service_environment = false

kind = "Linux"
sku = {
tier = "Dynamic"
size = "Y1"
}
}

#checkov:skip=CKV2_AZURE_145:TLS 1.2 is allegedly the latest supported as per hashicorp docs
module "fnc_app_old" {
source = "registry.terraform.io/libre-devops/function-app/azurerm"

rg_name = module.rg.rg_name
location = module.rg.rg_location
tags = module.rg.rg_tags

app_name = "fnc-${var.short}-${var.loc}-${terraform.workspace}-01"
app_service_plan_id = module.plan.service_plan_id
os_type = "Linux"
storage_account_name = module.sa.sa_name
storage_account_access_key = module.sa.sa_primary_access_key
identity_type = "SystemAssigned"

settings = {
site_config = {
min_tls_version = "1.2"
http2_enabled = true
}

auth_settings = {
enabled = true
}
}
}

```

## Requirements

No requirements.

## Providers

| Name | Version |
|------|---------|
| [azurerm](#provider\_azurerm) | n/a |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [azurerm_app_service_virtual_network_swift_connection.function_vnet_integration](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/app_service_virtual_network_swift_connection) | resource |
| [azurerm_function_app.function_app](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/function_app) | resource |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [active\_directory\_auth\_setttings](#input\_active\_directory\_auth\_setttings) | Acitve directory authentication provider settings for app service | `any` | `{}` | no |
| [app\_name](#input\_app\_name) | The name of the function app | `string` | n/a | yes |
| [app\_service\_plan\_id](#input\_app\_service\_plan\_id) | Id of the App Service Plan for Function App hosting | `string` | n/a | yes |
| [connection\_strings](#input\_connection\_strings) | Connection strings for App Service | `list(map(string))` | `[]` | no |
| [function\_app\_application\_settings](#input\_function\_app\_application\_settings) | Function App application settings | `map(string)` | `{}` | no |
| [function\_app\_version](#input\_function\_app\_version) | Version of the function app runtime to use (Allowed values 2 or 3) | `string` | `"~3"` | no |
| [function\_app\_vnet\_integration\_enabled](#input\_function\_app\_vnet\_integration\_enabled) | Enable VNET integration with the Function App. `function_app_vnet_integration_subnet_id` is mandatory if enabled | `bool` | `false` | no |
| [function\_app\_vnet\_integration\_subnet\_id](#input\_function\_app\_vnet\_integration\_subnet\_id) | ID of the subnet to associate with the Function App (VNet integration) | `string` | `null` | no |
| [https\_only](#input\_https\_only) | Disable http procotol and keep only https | `bool` | `true` | no |
| [identity\_ids](#input\_identity\_ids) | Specifies a list of user managed identity ids to be assigned to the VM. | `list(string)` | `[]` | no |
| [identity\_type](#input\_identity\_type) | The Managed Service Identity Type of this Virtual Machine. | `string` | `""` | no |
| [location](#input\_location) | Azure location. | `string` | n/a | yes |
| [os\_type](#input\_os\_type) | A string indicating the Operating System type for this function app. | `string` | n/a | yes |
| [rg\_name](#input\_rg\_name) | Resource group name | `string` | n/a | yes |
| [settings](#input\_settings) | Specifies the Authentication enabled or not | `bool` | `false` | no |
| [site\_config](#input\_site\_config) | Site config for App Service. See documentation https://www.terraform.io/docs/providers/azurerm/r/app_service.html#site_config. IP restriction attribute is not managed in this block. | `any` | `{}` | no |
| [storage\_account\_access\_key](#input\_storage\_account\_access\_key) | Access key the storage account to use. If null a new storage account is created | `string` | `null` | no |
| [storage\_account\_name](#input\_storage\_account\_name) | Name of storage account | `string` | n/a | yes |
| [storage\_container\_name](#input\_storage\_container\_name) | The name of the storage container to keep backups | `any` | `null` | no |
| [tags](#input\_tags) | A map of the tags to use on the resources that are deployed with this module. | `map(string)` |

{
"source": "terraform"
}
| no |

## Outputs

| Name | Description |
|------|-------------|
| [custom\_domain\_vertification\_id](#output\_custom\_domain\_vertification\_id) | The identifier for DNS txt ownership |
| [default\_hostname](#output\_default\_hostname) | The default hostname for the function app |
| [fnc\_app\_id](#output\_fnc\_app\_id) | The ID of the App Service. |
| [fnc\_app\_name](#output\_fnc\_app\_name) | The name of the App Service. |
| [fnc\_identity](#output\_fnc\_identity) | The managed identity block from the Function app |
| [kind](#output\_kind) | The kind of the functionapp |
| [outbound\_ip\_addresses](#output\_outbound\_ip\_addresses) | A comma separated list of outbound IP addresses |
| [possible\_outbound\_ip\_addresses](#output\_possible\_outbound\_ip\_addresses) | A comma separated list of outbound IP addresses. not all of which are necessarily in use |
| [site\_credential](#output\_site\_credential) | The output of any site credentials |