{"id":18084192,"url":"https://github.com/launchbynttdata/tf-azurerm-module_primitive-function_app_slot","last_synced_at":"2026-04-24T16:32:28.455Z","repository":{"id":259509369,"uuid":"866047690","full_name":"launchbynttdata/tf-azurerm-module_primitive-function_app_slot","owner":"launchbynttdata","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-14T19:19:09.000Z","size":232,"stargazers_count":0,"open_issues_count":3,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-14T21:22:27.172Z","etag":null,"topics":["azure","infrastructure-as-code","platform-automation","primitive","terraform"],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/launchbynttdata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-01T14:59:00.000Z","updated_at":"2026-04-06T16:50:11.000Z","dependencies_parsed_at":"2025-01-18T06:03:37.079Z","dependency_job_id":null,"html_url":"https://github.com/launchbynttdata/tf-azurerm-module_primitive-function_app_slot","commit_stats":null,"previous_names":["launchbynttdata/tf-azurerm-module_primitive-function_app_slot"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/launchbynttdata/tf-azurerm-module_primitive-function_app_slot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchbynttdata%2Ftf-azurerm-module_primitive-function_app_slot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchbynttdata%2Ftf-azurerm-module_primitive-function_app_slot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchbynttdata%2Ftf-azurerm-module_primitive-function_app_slot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchbynttdata%2Ftf-azurerm-module_primitive-function_app_slot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/launchbynttdata","download_url":"https://codeload.github.com/launchbynttdata/tf-azurerm-module_primitive-function_app_slot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchbynttdata%2Ftf-azurerm-module_primitive-function_app_slot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32230903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","infrastructure-as-code","platform-automation","primitive","terraform"],"created_at":"2024-10-31T15:05:58.159Z","updated_at":"2026-04-24T16:32:28.440Z","avatar_url":"https://github.com/launchbynttdata.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tf-azurerm-module_primitive-function_app_slot\n\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![License: CC BY-NC-ND 4.0](https://img.shields.io/badge/License-CC_BY--NC--ND_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-nd/4.0/)\n\n## Overview\n\nThis terraform module provisions an Azure Function App with additional pre-requisite resources\n\n## Pre-Commit hooks\n\n[.pre-commit-config.yaml](.pre-commit-config.yaml) file defines certain `pre-commit` hooks that are relevant to terraform, golang and common linting tasks. There are no custom hooks added.\n\n`commitlint` hook enforces commit message in certain format. The commit contains the following structural elements, to communicate intent to the consumers of your commit messages:\n\n- **fix**: a commit of the type `fix` patches a bug in your codebase (this correlates with PATCH in Semantic Versioning).\n- **feat**: a commit of the type `feat` introduces a new feature to the codebase (this correlates with MINOR in Semantic Versioning).\n- **BREAKING CHANGE**: a commit that has a footer `BREAKING CHANGE:`, or appends a `!` after the type/scope, introduces a breaking API change (correlating with MAJOR in Semantic Versioning). A BREAKING CHANGE can be part of commits of any type.\nfooters other than BREAKING CHANGE: \u003cdescription\u003e may be provided and follow a convention similar to git trailer format.\n- **build**: a commit of the type `build` adds changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)\n- **chore**: a commit of the type `chore` adds changes that don't modify src or test files\n- **ci**: a commit of the type `ci` adds changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)\n- **docs**: a commit of the type `docs` adds documentation only changes\n- **perf**: a commit of the type `perf` adds code change that improves performance\n- **refactor**: a commit of the type `refactor` adds code change that neither fixes a bug nor adds a feature\n- **revert**: a commit of the type `revert` reverts a previous commit\n- **style**: a commit of the type `style` adds code changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)\n- **test**: a commit of the type `test` adds missing tests or correcting existing tests\n\nBase configuration used for this project is [commitlint-config-conventional (based on the Angular convention)](https://github.com/conventional-changelog/commitlint/tree/master/@commitlint/config-conventional#type-enum)\n\nIf you are a developer using vscode, [this](https://marketplace.visualstudio.com/items?itemName=joshbolduc.commitlint) plugin may be helpful.\n\n`detect-secrets-hook` prevents new secrets from being introduced into the baseline. TODO: INSERT DOC LINK ABOUT HOOKS\n\nIn order for `pre-commit` hooks to work properly\n\n- You need to have the pre-commit package manager installed. [Here](https://pre-commit.com/#install) are the installation instructions.\n- `pre-commit` would install all the hooks when commit message is added by default except for `commitlint` hook. `commitlint` hook would need to be installed manually using the command below\n\n```\npre-commit install --hook-type commit-msg\n```\n\n## To test the resource group module locally\n\n1. For development/enhancements to this module locally, you'll need to install all of its components. This is controlled by the `configure` target in the project's [`Makefile`](./Makefile). Before you can run `configure`, familiarize yourself with the variables in the `Makefile` and ensure they're pointing to the right places.\n\n```\nmake configure\n```\n\nThis adds in several files and directories that are ignored by `git`. They expose many new Make targets.\n\n2. _THIS STEP APPLIES ONLY TO MICROSOFT AZURE. IF YOU ARE USING A DIFFERENT PLATFORM PLEASE SKIP THIS STEP._ The first target you care about is `env`. This is the common interface for setting up environment variables. The values of the environment variables will be used to authenticate with cloud provider from local development workstation.\n\n`make configure` command will bring down `azure_env.sh` file on local workstation. Devloper would need to modify this file, replace the environment variable values with relevant values.\n\nThese environment variables are used by `terratest` integration suit.\n\nService principle used for authentication(value of ARM_CLIENT_ID) should have below privileges on resource group within the subscription.\n\n```\n\"Microsoft.Resources/subscriptions/resourceGroups/write\"\n\"Microsoft.Resources/subscriptions/resourceGroups/read\"\n\"Microsoft.Resources/subscriptions/resourceGroups/delete\"\n```\n\nThen run this make target to set the environment variables on developer workstation.\n\n```\nmake env\n```\n\n3. The first target you care about is `check`.\n\n**Pre-requisites**\nBefore running this target it is important to ensure that, developer has created files mentioned below on local workstation under root directory of git repository that contains code for primitives/segments. Note that these files are `azure` specific. If primitive/segment under development uses any other cloud provider than azure, this section may not be relevant.\n\n- A file named `provider.tf` with contents below\n\n```\nprovider \"azurerm\" {\n  features {}\n}\n```\n\n- A file named `terraform.tfvars` which contains key value pair of variables used.\n\nNote that since these files are added in `gitignore` they would not be checked in into primitive/segment's git repo.\n\nAfter creating these files, for running tests associated with the primitive/segment, run\n\n```\nmake check\n```\n\nIf `make check` target is successful, developer is good to commit the code to primitive/segment's git repo.\n\n`make check` target\n\n- runs `terraform commands` to `lint`,`validate` and `plan` terraform code.\n- runs `conftests`. `conftests` make sure `policy` checks are successful.\n- runs `terratest`. This is integration test suit.\n- runs `opa` tests\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | ~\u003e 1.5 |\n| \u003ca name=\"requirement_azurerm\"\u003e\u003c/a\u003e [azurerm](#requirement\\_azurerm) | ~\u003e 3.30 |\n| \u003ca name=\"requirement_null\"\u003e\u003c/a\u003e [null](#requirement\\_null) | ~\u003e 3.2 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_azurerm\"\u003e\u003c/a\u003e [azurerm](#provider\\_azurerm) | 3.116.0 |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [azurerm_linux_function_app_slot.main](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_function_app_slot) | resource |\n| [azurerm_windows_function_app_slot.main](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/windows_function_app_slot) | resource |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | (Required) Specifies the name of the Function App Slot. Changing this forces a new resource to be created. | `string` | n/a | yes |\n| \u003ca name=\"input_function_app_id\"\u003e\u003c/a\u003e [function\\_app\\_id](#input\\_function\\_app\\_id) | (Required) Specifies the ID of the Function App in which to create the slot. Changing this forces a new resource to be created. | `string` | n/a | yes |\n| \u003ca name=\"input_resource_group_name\"\u003e\u003c/a\u003e [resource\\_group\\_name](#input\\_resource\\_group\\_name) | (Required) Specifies the name of the Resource Group in which to create the Function App Slot. | `string` | n/a | yes |\n| \u003ca name=\"input_site_config\"\u003e\u003c/a\u003e [site\\_config](#input\\_site\\_config) | (Required) A site\\_config block. | \u003cpre\u003eobject({\u003cbr\u003e    always_on             = optional(bool, false)\u003cbr\u003e    api_definition_url    = optional(string)\u003cbr\u003e    api_management_api_id = optional(string)\u003cbr\u003e    app_command_line      = optional(string)\u003cbr\u003e    app_scale_limit       = optional(number)\u003cbr\u003e    app_service_logs = optional(object({\u003cbr\u003e      disk_quota_mb         = optional(number, 35)\u003cbr\u003e      retention_period_days = optional(number, 5)\u003cbr\u003e    }))\u003cbr\u003e    application_insights_connection_string = optional(string)\u003cbr\u003e    application_insights_key               = optional(string)\u003cbr\u003e    application_stack = optional(object({\u003cbr\u003e      docker = optional(object({\u003cbr\u003e        registry_url      = string\u003cbr\u003e        image_name        = string\u003cbr\u003e        image_tag         = string\u003cbr\u003e        registry_username = optional(string)\u003cbr\u003e        registry_password = optional(string)\u003cbr\u003e      }))\u003cbr\u003e      dotnet_version              = optional(string)\u003cbr\u003e      java_version                = optional(string)\u003cbr\u003e      node_version                = optional(string)\u003cbr\u003e      powershell_core_version     = optional(string)\u003cbr\u003e      python_version              = optional(string)\u003cbr\u003e      use_custom_runtime          = optional(bool)\u003cbr\u003e      use_dotnet_isolated_runtime = optional(bool)\u003cbr\u003e    }))\u003cbr\u003e    auto_swap_slot_name                           = optional(string)\u003cbr\u003e    container_registry_managed_identity_client_id = optional(string)\u003cbr\u003e    container_registry_use_managed_identity       = optional(bool)\u003cbr\u003e    cors = optional(object({\u003cbr\u003e      allowed_origins     = optional(list(string))\u003cbr\u003e      support_credentials = optional(bool)\u003cbr\u003e    }))\u003cbr\u003e    default_documents                 = optional(list(string))\u003cbr\u003e    detailed_error_logging_enabled    = optional(bool)\u003cbr\u003e    ftps_state                        = optional(string)\u003cbr\u003e    health_check_eviction_time_in_min = optional(number)\u003cbr\u003e    health_check_path                 = optional(string)\u003cbr\u003e    http2_enabled                     = optional(bool)\u003cbr\u003e    ip_restriction = optional(list(object({\u003cbr\u003e      action     = optional(string)\u003cbr\u003e      ip_address = optional(string)\u003cbr\u003e      headers = optional(object({\u003cbr\u003e        x_azure_fdid      = optional(list(string), null)\u003cbr\u003e        x_fd_health_probe = optional(list(string), null)\u003cbr\u003e        x_forwarded_for   = optional(list(string), null)\u003cbr\u003e        x_forwarded_host  = optional(list(string), null)\u003cbr\u003e      }))\u003cbr\u003e      name                      = optional(string)\u003cbr\u003e      priority                  = optional(number)\u003cbr\u003e      service_tag               = optional(string)\u003cbr\u003e      virtual_network_subnet_id = optional(string)\u003cbr\u003e    })))\u003cbr\u003e    ip_restriction_default_action    = optional(string)\u003cbr\u003e    linux_fx_version                 = optional(string)\u003cbr\u003e    load_balancing_mode              = optional(string)\u003cbr\u003e    managed_pipeline_mode            = optional(string)\u003cbr\u003e    minimum_tls_version              = optional(string)\u003cbr\u003e    pre_warmed_instance_count        = optional(number)\u003cbr\u003e    remote_debugging_enabled         = optional(bool)\u003cbr\u003e    remote_debugging_version         = optional(string)\u003cbr\u003e    runtime_scale_monitoring_enabled = optional(bool)\u003cbr\u003e    scm_ip_restriction = optional(object({\u003cbr\u003e      action = optional(string)\u003cbr\u003e      headers = optional(object({\u003cbr\u003e        x_azure_fdid      = optional(list(string), null)\u003cbr\u003e        x_fd_health_probe = optional(list(string), null)\u003cbr\u003e        x_forwarded_for   = optional(list(string), null)\u003cbr\u003e        x_forwarded_host  = optional(list(string), null)\u003cbr\u003e      }))\u003cbr\u003e      name                      = optional(string)\u003cbr\u003e      priority                  = optional(number)\u003cbr\u003e      service_tag               = optional(string)\u003cbr\u003e      virtual_network_subnet_id = optional(string)\u003cbr\u003e    }))\u003cbr\u003e    scm_ip_restriction_default_action = optional(string)\u003cbr\u003e    scm_minimum_tls_version           = optional(string)\u003cbr\u003e    scm_type                          = optional(string)\u003cbr\u003e    scm_use_main_ip_restriction       = optional(bool)\u003cbr\u003e    use_32_bit_worker                 = optional(bool)\u003cbr\u003e    vnet_route_all_enabled            = optional(bool)\u003cbr\u003e    websockets_enabled                = optional(bool)\u003cbr\u003e    worker_count                      = optional(number)\u003cbr\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_app_settings\"\u003e\u003c/a\u003e [app\\_settings](#input\\_app\\_settings) | (Optional) A key-value pair of App Settings. | `map(string)` | `null` | no |\n| \u003ca name=\"input_auth_settings\"\u003e\u003c/a\u003e [auth\\_settings](#input\\_auth\\_settings) | (Optional) A auth\\_settings block. | \u003cpre\u003eobject({\u003cbr\u003e    enabled = bool\u003cbr\u003e    active_directory = optional(object({\u003cbr\u003e      client_id                  = string\u003cbr\u003e      allowed_audiences          = list(string)\u003cbr\u003e      client_secret              = optional(string)\u003cbr\u003e      client_secret_setting_name = optional(string)\u003cbr\u003e    }))\u003cbr\u003e    additional_login_parameters    = optional(list(map(any)))\u003cbr\u003e    allowed_external_redirect_urls = optional(list(string))\u003cbr\u003e    default_provider               = optional(string)\u003cbr\u003e    facebook = optional(object({\u003cbr\u003e      app_id                  = string\u003cbr\u003e      app_secret              = optional(string)\u003cbr\u003e      app_secret_setting_name = optional(string)\u003cbr\u003e      oauth_scopes            = optional(list(string))\u003cbr\u003e    }))\u003cbr\u003e    github = optional(object({\u003cbr\u003e      client_id                  = string\u003cbr\u003e      client_secret              = optional(string)\u003cbr\u003e      client_secret_setting_name = optional(string)\u003cbr\u003e      oauth_scopes               = optional(list(string))\u003cbr\u003e    }))\u003cbr\u003e    google = optional(object({\u003cbr\u003e      client_id                  = string\u003cbr\u003e      client_secret              = optional(string)\u003cbr\u003e      client_secret_setting_name = optional(string)\u003cbr\u003e      oauth_scopes               = optional(list(string))\u003cbr\u003e    }))\u003cbr\u003e    issuer = optional(string)\u003cbr\u003e    microsoft = optional(object({\u003cbr\u003e      client_id                  = string\u003cbr\u003e      client_secret              = optional(string)\u003cbr\u003e      client_secret_setting_name = optional(string)\u003cbr\u003e      oauth_scopes               = optional(list(string))\u003cbr\u003e    }))\u003cbr\u003e    runtime_version               = optional(string)\u003cbr\u003e    token_refresh_extension_hours = optional(number)\u003cbr\u003e    token_store_enabled           = optional(bool)\u003cbr\u003e    twitter = optional(object({\u003cbr\u003e      consumer_key                 = string\u003cbr\u003e      consumer_secret              = optional(string)\u003cbr\u003e      consumer_secret_setting_name = optional(string)\u003cbr\u003e    }))\u003cbr\u003e    unauthenticated_client_action = optional(string)\u003cbr\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_auth_settings_v2\"\u003e\u003c/a\u003e [auth\\_settings\\_v2](#input\\_auth\\_settings\\_v2) | (Optional) A auth\\_settings\\_v2 block. | \u003cpre\u003eobject({\u003cbr\u003e    auth_enabled                            = optional(bool)\u003cbr\u003e    runtime_version                         = optional(string)\u003cbr\u003e    config_file_path                        = optional(string)\u003cbr\u003e    require_authentication                  = optional(bool)\u003cbr\u003e    unauthenticated_action                  = optional(string)\u003cbr\u003e    default_provider                        = optional(string)\u003cbr\u003e    excluded_paths                          = optional(list(string))\u003cbr\u003e    require_https                           = optional(bool)\u003cbr\u003e    http_route_api_prefix                   = optional(string)\u003cbr\u003e    forward_proxy_convention                = optional(string)\u003cbr\u003e    forward_proxy_custom_host_header_name   = optional(string)\u003cbr\u003e    forward_proxy_custom_scheme_header_name = optional(string)\u003cbr\u003e    apple_v2 = optional(object({\u003cbr\u003e      client_id                  = string\u003cbr\u003e      client_secret_setting_name = optional(string)\u003cbr\u003e      login_scopes               = optional(list(string))\u003cbr\u003e    }))\u003cbr\u003e    active_directory_v2 = optional(object({\u003cbr\u003e      client_id                            = string\u003cbr\u003e      tenant_auth_endpoint                 = optional(string)\u003cbr\u003e      client_secret_setting_name           = optional(string)\u003cbr\u003e      client_secret_certificate_thumbprint = optional(string)\u003cbr\u003e      jwt_allowed_groups                   = optional(list(string))\u003cbr\u003e      jwt_allowed_client_applications      = optional(list(string))\u003cbr\u003e      www_authentication_disabled          = optional(bool)\u003cbr\u003e      allowed_groups                       = optional(list(string))\u003cbr\u003e      allowed_identities                   = optional(list(string))\u003cbr\u003e      allowed_applications                 = optional(list(string))\u003cbr\u003e      login_parameters                     = optional(map(any))\u003cbr\u003e      allowed_audiences                    = optional(list(string))\u003cbr\u003e    }))\u003cbr\u003e    azure_static_web_app_v2 = optional(object({\u003cbr\u003e      client_id = string\u003cbr\u003e    }))\u003cbr\u003e    custom_oidc_v2 = optional(object({\u003cbr\u003e      name                          = string\u003cbr\u003e      client_id                     = string\u003cbr\u003e      openid_configuration_endpoint = string\u003cbr\u003e      name_claim_type               = optional(string)\u003cbr\u003e      scopes                        = optional(list(string))\u003cbr\u003e      client_credential_method      = string\u003cbr\u003e      client_secret_setting_name    = optional(string)\u003cbr\u003e      authorisation_endpoint        = string\u003cbr\u003e      token_endpoint                = string\u003cbr\u003e      issuer_endpoint               = string\u003cbr\u003e      certification_uri             = string\u003cbr\u003e    }))\u003cbr\u003e    facebook_v2 = optional(object({\u003cbr\u003e      app_id                  = string\u003cbr\u003e      app_secret_setting_name = string\u003cbr\u003e      graph_api_version       = optional(string)\u003cbr\u003e      login_scopes            = optional(list(string))\u003cbr\u003e    }))\u003cbr\u003e    github_v2 = optional(object({\u003cbr\u003e      client_id                  = string\u003cbr\u003e      client_secret_setting_name = string\u003cbr\u003e      login_scopes               = optional(list(string))\u003cbr\u003e    }))\u003cbr\u003e    google_v2 = optional(object({\u003cbr\u003e      client_id                  = string\u003cbr\u003e      client_secret_setting_name = string\u003cbr\u003e      allowed_audiences          = optional(list(string))\u003cbr\u003e      login_scopes               = optional(list(string))\u003cbr\u003e    }))\u003cbr\u003e    microsoft_v2 = optional(object({\u003cbr\u003e      client_id                  = string\u003cbr\u003e      client_secret_setting_name = string\u003cbr\u003e      allowed_audiences          = optional(list(string))\u003cbr\u003e      login_scopes               = optional(list(string))\u003cbr\u003e    }))\u003cbr\u003e    twitter_v2 = optional(object({\u003cbr\u003e      consumer_key                 = string\u003cbr\u003e      consumer_secret_setting_name = string\u003cbr\u003e    }))\u003cbr\u003e    login = optional(object({\u003cbr\u003e      logout_endpoint                   = optional(string)\u003cbr\u003e      token_store_enabled               = optional(bool)\u003cbr\u003e      token_refresh_extension_time      = optional(number)\u003cbr\u003e      token_store_path                  = optional(string)\u003cbr\u003e      token_store_sas_setting_name      = optional(string)\u003cbr\u003e      preserve_url_fragments_for_logins = optional(bool)\u003cbr\u003e      allowed_external_redirect_urls    = optional(list(string))\u003cbr\u003e      cookie_expiration_convention      = optional(string)\u003cbr\u003e      cookie_expiration_time            = optional(string)\u003cbr\u003e      validate_nonce                    = optional(bool)\u003cbr\u003e      nonce_expiration_time             = optional(string)\u003cbr\u003e    }))\u003cbr\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_backup\"\u003e\u003c/a\u003e [backup](#input\\_backup) | (Optional) A backup block. | \u003cpre\u003eobject({\u003cbr\u003e    name = string\u003cbr\u003e    schedule = object({\u003cbr\u003e      frequency_interval       = number\u003cbr\u003e      frequency_unit           = string\u003cbr\u003e      keep_at_least_one_backup = optional(bool)\u003cbr\u003e      retention_period_days    = optional(number)\u003cbr\u003e      start_time               = optional(string)\u003cbr\u003e      last_execution_time      = optional(string)\u003cbr\u003e    })\u003cbr\u003e    storage_account_url = string\u003cbr\u003e    enabled             = optional(bool, true)\u003cbr\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_builtin_logging_enabled\"\u003e\u003c/a\u003e [builtin\\_logging\\_enabled](#input\\_builtin\\_logging\\_enabled) | (Optional) Specifies whether built-in logging is enabled. Defaults to true. | `bool` | `true` | no |\n| \u003ca name=\"input_client_certificate_enabled\"\u003e\u003c/a\u003e [client\\_certificate\\_enabled](#input\\_client\\_certificate\\_enabled) | (Optional) Specifies whether client certificate authentication is enabled. Defaults to false. | `bool` | `false` | no |\n| \u003ca name=\"input_client_certificate_mode\"\u003e\u003c/a\u003e [client\\_certificate\\_mode](#input\\_client\\_certificate\\_mode) | (Optional) The mode of the Function App Slot's client certificates requirement for incoming requests. Possible values are Required, Optional, and OptionalInteractiveUser. Defaults to Optional. | `string` | `\"Optional\"` | no |\n| \u003ca name=\"input_client_certificate_exclusion_paths\"\u003e\u003c/a\u003e [client\\_certificate\\_exclusion\\_paths](#input\\_client\\_certificate\\_exclusion\\_paths) | (Optional) A list of paths to exclude from client certificate authentication. Paths separated by ;. | `string` | `null` | no |\n| \u003ca name=\"input_connection_string\"\u003e\u003c/a\u003e [connection\\_string](#input\\_connection\\_string) | (Optional) A connection\\_string block. | \u003cpre\u003eobject({\u003cbr\u003e    name  = string\u003cbr\u003e    type  = string\u003cbr\u003e    value = string\u003cbr\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_content_share_force_disabled\"\u003e\u003c/a\u003e [content\\_share\\_force\\_disabled](#input\\_content\\_share\\_force\\_disabled) | (Optional) Specifies whether the content share feature is disabled. Defaults to false. | `bool` | `false` | no |\n| \u003ca name=\"input_daily_memory_time_quota\"\u003e\u003c/a\u003e [daily\\_memory\\_time\\_quota](#input\\_daily\\_memory\\_time\\_quota) | (Optional) The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps in Consumption Plans. Defaults to 0. | `number` | `0` | no |\n| \u003ca name=\"input_enabled\"\u003e\u003c/a\u003e [enabled](#input\\_enabled) | (Optional) Specifies whether the Function App Slot is enabled. Defaults to true. | `bool` | `true` | no |\n| \u003ca name=\"input_ftp_publish_basic_authentication_enabled\"\u003e\u003c/a\u003e [ftp\\_publish\\_basic\\_authentication\\_enabled](#input\\_ftp\\_publish\\_basic\\_authentication\\_enabled) | (Optional) Specifies whether FTP deployment is enabled. Defaults to false. | `bool` | `false` | no |\n| \u003ca name=\"input_functions_extension_version\"\u003e\u003c/a\u003e [functions\\_extension\\_version](#input\\_functions\\_extension\\_version) | (Optional) The version of the Azure Functions runtime to use. Defaults to ~4. | `string` | `\"~4\"` | no |\n| \u003ca name=\"input_https_only\"\u003e\u003c/a\u003e [https\\_only](#input\\_https\\_only) | (Optional) Specifies whether the Function App Slot requires HTTPS only. Defaults to false. | `bool` | `false` | no |\n| \u003ca name=\"input_public_network_access_enabled\"\u003e\u003c/a\u003e [public\\_network\\_access\\_enabled](#input\\_public\\_network\\_access\\_enabled) | (Optional) Specifies whether the Function App Slot is accessible from the public network. Defaults to true. | `bool` | `true` | no |\n| \u003ca name=\"input_identity\"\u003e\u003c/a\u003e [identity](#input\\_identity) | (Optional) A identity block. | \u003cpre\u003eobject({\u003cbr\u003e    type         = string\u003cbr\u003e    identity_ids = optional(list(string))\u003cbr\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_key_vault_reference_identity_id\"\u003e\u003c/a\u003e [key\\_vault\\_reference\\_identity\\_id](#input\\_key\\_vault\\_reference\\_identity\\_id) | (Optional) The identity ID of the Key Vault reference. Required when identity.type is set to UserAssigned or SystemAssigned, UserAssigned. | `string` | `null` | no |\n| \u003ca name=\"input_service_plan_id\"\u003e\u003c/a\u003e [service\\_plan\\_id](#input\\_service\\_plan\\_id) | (Optional) Specifies the ID of the App Service Plan in which to create the Function App Slot. If not specified, the Function App Slot will be created in the same App Service Plan as the Function App. Changing this forces a new resource to be created. | `string` | `null` | no |\n| \u003ca name=\"input_storage_account_access_key\"\u003e\u003c/a\u003e [storage\\_account\\_access\\_key](#input\\_storage\\_account\\_access\\_key) | (Optional) The access key of the Storage Account to use for the Function App Slot. | `string` | `null` | no |\n| \u003ca name=\"input_storage_account_name\"\u003e\u003c/a\u003e [storage\\_account\\_name](#input\\_storage\\_account\\_name) | (Optional) The name of the Storage Account to use for the Function App Slot. | `string` | `null` | no |\n| \u003ca name=\"input_storage_account\"\u003e\u003c/a\u003e [storage\\_account](#input\\_storage\\_account) | (Optional) One or more storage\\_account blocks. | \u003cpre\u003elist(object({\u003cbr\u003e    access_key   = string\u003cbr\u003e    account_name = string\u003cbr\u003e    name         = string\u003cbr\u003e    share_name   = string\u003cbr\u003e    type         = string\u003cbr\u003e    mount_path   = optional(string)\u003cbr\u003e  }))\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_storage_uses_managed_identity\"\u003e\u003c/a\u003e [storage\\_uses\\_managed\\_identity](#input\\_storage\\_uses\\_managed\\_identity) | (Optional) Specifies whether the Function App Slot uses a managed identity to access the Storage Account. Defaults to false. | `bool` | `false` | no |\n| \u003ca name=\"input_storage_key_vault_secret_id\"\u003e\u003c/a\u003e [storage\\_key\\_vault\\_secret\\_id](#input\\_storage\\_key\\_vault\\_secret\\_id) | (Optional) The ID of the Key Vault secret containing the Storage Account access key. | `string` | `null` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | (Optional) A mapping of tags to assign to the resource. | `map(string)` | `null` | no |\n| \u003ca name=\"input_virtual_network_subnet_id\"\u003e\u003c/a\u003e [virtual\\_network\\_subnet\\_id](#input\\_virtual\\_network\\_subnet\\_id) | (Optional) The ID of the subnet in which to create the Function App Slot. | `string` | `null` | no |\n| \u003ca name=\"input_webdeploy_publish_basic_authentication_enabled\"\u003e\u003c/a\u003e [webdeploy\\_publish\\_basic\\_authentication\\_enabled](#input\\_webdeploy\\_publish\\_basic\\_authentication\\_enabled) | (Optional) Specifies whether Web Deploy publishing is enabled. Defaults to false. | `bool` | `false` | no |\n| \u003ca name=\"input_os_type\"\u003e\u003c/a\u003e [os\\_type](#input\\_os\\_type) | (Required) Specifies the operating system type of the Function App Slot. Value must be one of Windows or Linux. | `string` | n/a | yes |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_windows_function_app_slot_name\"\u003e\u003c/a\u003e [windows\\_function\\_app\\_slot\\_name](#output\\_windows\\_function\\_app\\_slot\\_name) | n/a |\n| \u003ca name=\"output_windows_function_app_slot_id\"\u003e\u003c/a\u003e [windows\\_function\\_app\\_slot\\_id](#output\\_windows\\_function\\_app\\_slot\\_id) | n/a |\n| \u003ca name=\"output_windows_function_app_slot_default_hostname\"\u003e\u003c/a\u003e [windows\\_function\\_app\\_slot\\_default\\_hostname](#output\\_windows\\_function\\_app\\_slot\\_default\\_hostname) | n/a |\n| \u003ca name=\"output_windows_function_app_slot_possible_outbound_ip_address_list\"\u003e\u003c/a\u003e [windows\\_function\\_app\\_slot\\_possible\\_outbound\\_ip\\_address\\_list](#output\\_windows\\_function\\_app\\_slot\\_possible\\_outbound\\_ip\\_address\\_list) | n/a |\n| \u003ca name=\"output_windows_function_app_slot_kind\"\u003e\u003c/a\u003e [windows\\_function\\_app\\_slot\\_kind](#output\\_windows\\_function\\_app\\_slot\\_kind) | n/a |\n| \u003ca name=\"output_windows_function_app_slot_custom_domain_verification_id\"\u003e\u003c/a\u003e [windows\\_function\\_app\\_slot\\_custom\\_domain\\_verification\\_id](#output\\_windows\\_function\\_app\\_slot\\_custom\\_domain\\_verification\\_id) | n/a |\n| \u003ca name=\"output_linux_function_app_slot_name\"\u003e\u003c/a\u003e [linux\\_function\\_app\\_slot\\_name](#output\\_linux\\_function\\_app\\_slot\\_name) | n/a |\n| \u003ca name=\"output_linux_function_app_slot_id\"\u003e\u003c/a\u003e [linux\\_function\\_app\\_slot\\_id](#output\\_linux\\_function\\_app\\_slot\\_id) | n/a |\n| \u003ca name=\"output_linux_function_app_slot_default_hostname\"\u003e\u003c/a\u003e [linux\\_function\\_app\\_slot\\_default\\_hostname](#output\\_linux\\_function\\_app\\_slot\\_default\\_hostname) | n/a |\n| \u003ca name=\"output_linux_function_app_slot_possible_outbound_ip_address_list\"\u003e\u003c/a\u003e [linux\\_function\\_app\\_slot\\_possible\\_outbound\\_ip\\_address\\_list](#output\\_linux\\_function\\_app\\_slot\\_possible\\_outbound\\_ip\\_address\\_list) | n/a |\n| \u003ca name=\"output_linux_function_app_slot_kind\"\u003e\u003c/a\u003e [linux\\_function\\_app\\_slot\\_kind](#output\\_linux\\_function\\_app\\_slot\\_kind) | n/a |\n| \u003ca name=\"output_linux_function_app_slot_custom_domain_verification_id\"\u003e\u003c/a\u003e [linux\\_function\\_app\\_slot\\_custom\\_domain\\_verification\\_id](#output\\_linux\\_function\\_app\\_slot\\_custom\\_domain\\_verification\\_id) | n/a |\n| \u003ca name=\"output_function_app_slot_name\"\u003e\u003c/a\u003e [function\\_app\\_slot\\_name](#output\\_function\\_app\\_slot\\_name) | The name of the Function App Slot. |\n| \u003ca name=\"output_function_app_slot_id\"\u003e\u003c/a\u003e [function\\_app\\_slot\\_id](#output\\_function\\_app\\_slot\\_id) | The ID of the Function App Slot. |\n| \u003ca name=\"output_function_app_slot_default_hostname\"\u003e\u003c/a\u003e [function\\_app\\_slot\\_default\\_hostname](#output\\_function\\_app\\_slot\\_default\\_hostname) | The default hostname of the Function App Slot. |\n| \u003ca name=\"output_function_app_slot_possible_outbound_ip_address_list\"\u003e\u003c/a\u003e [function\\_app\\_slot\\_possible\\_outbound\\_ip\\_address\\_list](#output\\_function\\_app\\_slot\\_possible\\_outbound\\_ip\\_address\\_list) | The possible outbound IP addresses of the Function App Slot. |\n| \u003ca name=\"output_function_app_slot_kind\"\u003e\u003c/a\u003e [function\\_app\\_slot\\_kind](#output\\_function\\_app\\_slot\\_kind) | The kind of the Function App Slot. |\n| \u003ca name=\"output_function_app_slot_custom_domain_verification_id\"\u003e\u003c/a\u003e [function\\_app\\_slot\\_custom\\_domain\\_verification\\_id](#output\\_function\\_app\\_slot\\_custom\\_domain\\_verification\\_id) | The custom domain verification ID of the Function App Slot. |\n\u003c!-- END_TF_DOCS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaunchbynttdata%2Ftf-azurerm-module_primitive-function_app_slot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaunchbynttdata%2Ftf-azurerm-module_primitive-function_app_slot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaunchbynttdata%2Ftf-azurerm-module_primitive-function_app_slot/lists"}