Skip to content

Latest commit

 

History

History
470 lines (257 loc) · 13.1 KB

File metadata and controls

470 lines (257 loc) · 13.1 KB

Module documentation

Required Inputs

The following input variables are required:

Description: The login server for the Azure Container Registry.

Type: string

Description: The App Insights connection string.

Type: string

Description: The amount of disk space to use for app service logs.

Type: number

Description: The retention period for logs in days.

Type: number

Description: The ID of the AppServicePlan.

Type: string

Description: Name of the Function App

Type: string

Description: Name of the docker image

Type: any

Description: Tag of the docker image

Type: any

Description: The location/region where the Function App is created.

Type: string

Description: id of the log analytics workspace to send resource logging to via diagnostic settings

Type: string

Description: Controls what logs will be enabled for the function app

Type: list(string)

Description: Controls what metrics will be enabled for the function app

Type: list(string)

Description: Consolidated properties for the Function App Private Endpoint.

Type:

object({
    private_dns_zone_ids                 = optional(list(string), [])
    private_endpoint_enabled             = optional(bool, false)
    private_endpoint_subnet_id           = optional(string, "")
    private_endpoint_resource_group_name = optional(string, "")
    private_service_connection_is_manual = optional(bool, false)
  })

Description: The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.

Type: string

Description: The name of the Storage Account.

Type: string

Description: Should the Windows Function App use a 32-bit worker process. Defaults to true

Type: bool

Optional Inputs

The following input variables are optional (have default values):

Description: The Managed Identity Id for the Azure Container Registry.

Type: any

Default: null

Description: The ID of the Action Group to use for alerts.

Type: string

Default: null

Description: The threshold for 4xx errors to trigger the alert.

Type: number

Default: 10

Description: The threshold for 4xx errors to trigger the alert.

Type: number

Default: 10

Description: Enable or disable automatic mitigation of the alert when the issue is resolved.

Type: bool

Default: true

Description: The period of time that is used to monitor alert activity e.g. PT1M, PT5M, PT15M, PT30M, PT1H, PT6H, PT12H. The interval between checks is adjusted accordingly.

Type: string

Default: "PT5M"

Description: Should the Function App be always on. Override standard default.

Type: bool

Default: true

Description: Map of values for the app settings

Type: map

Default: {}

Description: The list of User Assigned Identity IDs to assign to the Function App.

Type: list(string)

Default: []

Description: Should connections for Azure Container Registry use Managed Identity.

Type: bool

Default: false

Description: n/a

Type: list(string)

Default:

[
  ""
]

Description: Whether monitoring and alerting is enabled for the App Service Plan.

Type: bool

Default: false

Description: n/a

Type: list(string)

Default: []

Description: Enable basic authentication for FTP. Defaults to false.

Type: bool

Default: false

Description: Enable FTPS enforcement for enhanced security. Allowed values = AllAllowed (i.e. FTP & FTPS), FtpsOnly and Disabled (i.e. no FTP/FTPS access). Defaults to AllAllowed.

Type: string

Default: "Disabled"

Description: function app slots

Type:

list(object({
    function_app_slots_name   = optional(string, "staging")
    function_app_slot_enabled = optional(bool, false)
  }))

Default: []

Description: The time in minutes a node can be unhealthy before being removed from the load balancer.

Type: number

Default: null

Description: The path to be checked for this function app health.

Type: string

Default: null

Description: Specifies whether or not the HTTP2 protocol should be enabled. Defaults to false

Type: bool

Default: false

Description: The HTTP version to use for the function app. Override standard default.

Type: string

Default: "2.0"

Description: Can the Function App only be accessed via HTTPS? Override standard default.

Type: bool

Default: true

Description: Default action for FW rules

Type: string

Default: "Deny"

Description: n/a

Type:

map(object({
    headers = optional(list(object({
      x_azure_fdid      = optional(list(string))
      x_fd_health_probe = optional(list(string))
      x_forwarded_for   = optional(list(string))
      x_forwarded_host  = optional(list(string))
    })), [])
    ip_address                = optional(string)
    name                      = optional(string)
    priority                  = optional(number)
    action                    = optional(string, "Deny")
    service_tag               = optional(string)
    virtual_network_subnet_id = optional(string)
  }))

Default: {}

Description: n/a

Type: string

Default: "1.2"

Description: Should the Function App be accessible from the public network. Override standard default.

Type: bool

Default: false

Description: Map of RBAC role assignments by region

Type:

list(object({
    role_definition_name = string
    scope                = string
  }))

Default: []

Description: The name of the resource group in which to create the Monitoring resources for the App Service Plan. Changing this forces a new resource to be created.

Type: string

Default: null

Description: Severity of the alert. 0 = Critical, 1 = Error, 2 = Warning, 3 = Informational, 4 = Verbose. Default is 3.

Type: number

Default: 3

Description: The Storage Account Primary Access Key.

Type: string

Default: null

Description: Should the Storage Account use a Managed Identity. Defaults to false.

Type: bool

Default: false

Description: Resource tags to be applied throughout the deployment.

Type: map(string)

Default: {}

Description: The ID of the subnet to integrate the Function App with.

Type: string

Default: null

Description: Enable basic authentication for WebDeploy. Override standard default.

Type: bool

Default: false

Modules

The following Modules are called:

Source: ../diagnostic-settings

Version:

Source: ../function-app-slots

Version:

Source: ../private-endpoint

Version:

Source: ../rbac-assignment

Version:

Outputs

The following outputs are exported:

Description: The function app endpoint name.

Description: The Principal ID of the System Assigned Managed Service Identity that is configured on this Linux Function App.

Description: The id of the Linux Function App.

Description: The name of the Linux Function App.

Resources

The following resources are used by this module: