1. Packages
  2. Azure Classic
  3. API Docs
  4. appservice
  5. FunctionApp

We recommend using Azure Native.

Azure Classic v5.83.0 published on Monday, Jul 8, 2024 by Pulumi

azure.appservice.FunctionApp

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.83.0 published on Monday, Jul 8, 2024 by Pulumi

    Manages a Function App.

    !> NOTE: This resource has been deprecated in version 5.0 of the provider and will be removed in version 6.0. Please use azure.appservice.LinuxFunctionApp resources instead.

    Note: To connect an Azure Function App and a subnet within the same region azure.appservice.VirtualNetworkSwiftConnection can be used. For an example, check the azure.appservice.VirtualNetworkSwiftConnection documentation.

    Example Usage

    With App Service Plan)

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const example = new azure.core.ResourceGroup("example", {
        name: "azure-functions-test-rg",
        location: "West Europe",
    });
    const exampleAccount = new azure.storage.Account("example", {
        name: "functionsapptestsa",
        resourceGroupName: example.name,
        location: example.location,
        accountTier: "Standard",
        accountReplicationType: "LRS",
    });
    const examplePlan = new azure.appservice.Plan("example", {
        name: "azure-functions-test-service-plan",
        location: example.location,
        resourceGroupName: example.name,
        sku: {
            tier: "Standard",
            size: "S1",
        },
    });
    const exampleFunctionApp = new azure.appservice.FunctionApp("example", {
        name: "test-azure-functions",
        location: example.location,
        resourceGroupName: example.name,
        appServicePlanId: examplePlan.id,
        storageAccountName: exampleAccount.name,
        storageAccountAccessKey: exampleAccount.primaryAccessKey,
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example = azure.core.ResourceGroup("example",
        name="azure-functions-test-rg",
        location="West Europe")
    example_account = azure.storage.Account("example",
        name="functionsapptestsa",
        resource_group_name=example.name,
        location=example.location,
        account_tier="Standard",
        account_replication_type="LRS")
    example_plan = azure.appservice.Plan("example",
        name="azure-functions-test-service-plan",
        location=example.location,
        resource_group_name=example.name,
        sku={
            "tier": "Standard",
            "size": "S1",
        })
    example_function_app = azure.appservice.FunctionApp("example",
        name="test-azure-functions",
        location=example.location,
        resource_group_name=example.name,
        app_service_plan_id=example_plan.id,
        storage_account_name=example_account.name,
        storage_account_access_key=example_account.primary_access_key)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appservice"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("azure-functions-test-rg"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
    			Name:                   pulumi.String("functionsapptestsa"),
    			ResourceGroupName:      example.Name,
    			Location:               example.Location,
    			AccountTier:            pulumi.String("Standard"),
    			AccountReplicationType: pulumi.String("LRS"),
    		})
    		if err != nil {
    			return err
    		}
    		examplePlan, err := appservice.NewPlan(ctx, "example", &appservice.PlanArgs{
    			Name:              pulumi.String("azure-functions-test-service-plan"),
    			Location:          example.Location,
    			ResourceGroupName: example.Name,
    			Sku: &appservice.PlanSkuArgs{
    				Tier: pulumi.String("Standard"),
    				Size: pulumi.String("S1"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = appservice.NewFunctionApp(ctx, "example", &appservice.FunctionAppArgs{
    			Name:                    pulumi.String("test-azure-functions"),
    			Location:                example.Location,
    			ResourceGroupName:       example.Name,
    			AppServicePlanId:        examplePlan.ID(),
    			StorageAccountName:      exampleAccount.Name,
    			StorageAccountAccessKey: exampleAccount.PrimaryAccessKey,
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "azure-functions-test-rg",
            Location = "West Europe",
        });
    
        var exampleAccount = new Azure.Storage.Account("example", new()
        {
            Name = "functionsapptestsa",
            ResourceGroupName = example.Name,
            Location = example.Location,
            AccountTier = "Standard",
            AccountReplicationType = "LRS",
        });
    
        var examplePlan = new Azure.AppService.Plan("example", new()
        {
            Name = "azure-functions-test-service-plan",
            Location = example.Location,
            ResourceGroupName = example.Name,
            Sku = new Azure.AppService.Inputs.PlanSkuArgs
            {
                Tier = "Standard",
                Size = "S1",
            },
        });
    
        var exampleFunctionApp = new Azure.AppService.FunctionApp("example", new()
        {
            Name = "test-azure-functions",
            Location = example.Location,
            ResourceGroupName = example.Name,
            AppServicePlanId = examplePlan.Id,
            StorageAccountName = exampleAccount.Name,
            StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.storage.Account;
    import com.pulumi.azure.storage.AccountArgs;
    import com.pulumi.azure.appservice.Plan;
    import com.pulumi.azure.appservice.PlanArgs;
    import com.pulumi.azure.appservice.inputs.PlanSkuArgs;
    import com.pulumi.azure.appservice.FunctionApp;
    import com.pulumi.azure.appservice.FunctionAppArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ResourceGroup("example", ResourceGroupArgs.builder()
                .name("azure-functions-test-rg")
                .location("West Europe")
                .build());
    
            var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
                .name("functionsapptestsa")
                .resourceGroupName(example.name())
                .location(example.location())
                .accountTier("Standard")
                .accountReplicationType("LRS")
                .build());
    
            var examplePlan = new Plan("examplePlan", PlanArgs.builder()
                .name("azure-functions-test-service-plan")
                .location(example.location())
                .resourceGroupName(example.name())
                .sku(PlanSkuArgs.builder()
                    .tier("Standard")
                    .size("S1")
                    .build())
                .build());
    
            var exampleFunctionApp = new FunctionApp("exampleFunctionApp", FunctionAppArgs.builder()
                .name("test-azure-functions")
                .location(example.location())
                .resourceGroupName(example.name())
                .appServicePlanId(examplePlan.id())
                .storageAccountName(exampleAccount.name())
                .storageAccountAccessKey(exampleAccount.primaryAccessKey())
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: azure-functions-test-rg
          location: West Europe
      exampleAccount:
        type: azure:storage:Account
        name: example
        properties:
          name: functionsapptestsa
          resourceGroupName: ${example.name}
          location: ${example.location}
          accountTier: Standard
          accountReplicationType: LRS
      examplePlan:
        type: azure:appservice:Plan
        name: example
        properties:
          name: azure-functions-test-service-plan
          location: ${example.location}
          resourceGroupName: ${example.name}
          sku:
            tier: Standard
            size: S1
      exampleFunctionApp:
        type: azure:appservice:FunctionApp
        name: example
        properties:
          name: test-azure-functions
          location: ${example.location}
          resourceGroupName: ${example.name}
          appServicePlanId: ${examplePlan.id}
          storageAccountName: ${exampleAccount.name}
          storageAccountAccessKey: ${exampleAccount.primaryAccessKey}
    

    In A Consumption Plan)

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const example = new azure.core.ResourceGroup("example", {
        name: "azure-functions-cptest-rg",
        location: "West Europe",
    });
    const exampleAccount = new azure.storage.Account("example", {
        name: "functionsapptestsa",
        resourceGroupName: example.name,
        location: example.location,
        accountTier: "Standard",
        accountReplicationType: "LRS",
    });
    const examplePlan = new azure.appservice.Plan("example", {
        name: "azure-functions-test-service-plan",
        location: example.location,
        resourceGroupName: example.name,
        kind: "FunctionApp",
        sku: {
            tier: "Dynamic",
            size: "Y1",
        },
    });
    const exampleFunctionApp = new azure.appservice.FunctionApp("example", {
        name: "test-azure-functions",
        location: example.location,
        resourceGroupName: example.name,
        appServicePlanId: examplePlan.id,
        storageAccountName: exampleAccount.name,
        storageAccountAccessKey: exampleAccount.primaryAccessKey,
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example = azure.core.ResourceGroup("example",
        name="azure-functions-cptest-rg",
        location="West Europe")
    example_account = azure.storage.Account("example",
        name="functionsapptestsa",
        resource_group_name=example.name,
        location=example.location,
        account_tier="Standard",
        account_replication_type="LRS")
    example_plan = azure.appservice.Plan("example",
        name="azure-functions-test-service-plan",
        location=example.location,
        resource_group_name=example.name,
        kind="FunctionApp",
        sku={
            "tier": "Dynamic",
            "size": "Y1",
        })
    example_function_app = azure.appservice.FunctionApp("example",
        name="test-azure-functions",
        location=example.location,
        resource_group_name=example.name,
        app_service_plan_id=example_plan.id,
        storage_account_name=example_account.name,
        storage_account_access_key=example_account.primary_access_key)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appservice"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("azure-functions-cptest-rg"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
    			Name:                   pulumi.String("functionsapptestsa"),
    			ResourceGroupName:      example.Name,
    			Location:               example.Location,
    			AccountTier:            pulumi.String("Standard"),
    			AccountReplicationType: pulumi.String("LRS"),
    		})
    		if err != nil {
    			return err
    		}
    		examplePlan, err := appservice.NewPlan(ctx, "example", &appservice.PlanArgs{
    			Name:              pulumi.String("azure-functions-test-service-plan"),
    			Location:          example.Location,
    			ResourceGroupName: example.Name,
    			Kind:              pulumi.Any("FunctionApp"),
    			Sku: &appservice.PlanSkuArgs{
    				Tier: pulumi.String("Dynamic"),
    				Size: pulumi.String("Y1"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = appservice.NewFunctionApp(ctx, "example", &appservice.FunctionAppArgs{
    			Name:                    pulumi.String("test-azure-functions"),
    			Location:                example.Location,
    			ResourceGroupName:       example.Name,
    			AppServicePlanId:        examplePlan.ID(),
    			StorageAccountName:      exampleAccount.Name,
    			StorageAccountAccessKey: exampleAccount.PrimaryAccessKey,
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "azure-functions-cptest-rg",
            Location = "West Europe",
        });
    
        var exampleAccount = new Azure.Storage.Account("example", new()
        {
            Name = "functionsapptestsa",
            ResourceGroupName = example.Name,
            Location = example.Location,
            AccountTier = "Standard",
            AccountReplicationType = "LRS",
        });
    
        var examplePlan = new Azure.AppService.Plan("example", new()
        {
            Name = "azure-functions-test-service-plan",
            Location = example.Location,
            ResourceGroupName = example.Name,
            Kind = "FunctionApp",
            Sku = new Azure.AppService.Inputs.PlanSkuArgs
            {
                Tier = "Dynamic",
                Size = "Y1",
            },
        });
    
        var exampleFunctionApp = new Azure.AppService.FunctionApp("example", new()
        {
            Name = "test-azure-functions",
            Location = example.Location,
            ResourceGroupName = example.Name,
            AppServicePlanId = examplePlan.Id,
            StorageAccountName = exampleAccount.Name,
            StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.storage.Account;
    import com.pulumi.azure.storage.AccountArgs;
    import com.pulumi.azure.appservice.Plan;
    import com.pulumi.azure.appservice.PlanArgs;
    import com.pulumi.azure.appservice.inputs.PlanSkuArgs;
    import com.pulumi.azure.appservice.FunctionApp;
    import com.pulumi.azure.appservice.FunctionAppArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ResourceGroup("example", ResourceGroupArgs.builder()
                .name("azure-functions-cptest-rg")
                .location("West Europe")
                .build());
    
            var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
                .name("functionsapptestsa")
                .resourceGroupName(example.name())
                .location(example.location())
                .accountTier("Standard")
                .accountReplicationType("LRS")
                .build());
    
            var examplePlan = new Plan("examplePlan", PlanArgs.builder()
                .name("azure-functions-test-service-plan")
                .location(example.location())
                .resourceGroupName(example.name())
                .kind("FunctionApp")
                .sku(PlanSkuArgs.builder()
                    .tier("Dynamic")
                    .size("Y1")
                    .build())
                .build());
    
            var exampleFunctionApp = new FunctionApp("exampleFunctionApp", FunctionAppArgs.builder()
                .name("test-azure-functions")
                .location(example.location())
                .resourceGroupName(example.name())
                .appServicePlanId(examplePlan.id())
                .storageAccountName(exampleAccount.name())
                .storageAccountAccessKey(exampleAccount.primaryAccessKey())
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: azure-functions-cptest-rg
          location: West Europe
      exampleAccount:
        type: azure:storage:Account
        name: example
        properties:
          name: functionsapptestsa
          resourceGroupName: ${example.name}
          location: ${example.location}
          accountTier: Standard
          accountReplicationType: LRS
      examplePlan:
        type: azure:appservice:Plan
        name: example
        properties:
          name: azure-functions-test-service-plan
          location: ${example.location}
          resourceGroupName: ${example.name}
          kind: FunctionApp
          sku:
            tier: Dynamic
            size: Y1
      exampleFunctionApp:
        type: azure:appservice:FunctionApp
        name: example
        properties:
          name: test-azure-functions
          location: ${example.location}
          resourceGroupName: ${example.name}
          appServicePlanId: ${examplePlan.id}
          storageAccountName: ${exampleAccount.name}
          storageAccountAccessKey: ${exampleAccount.primaryAccessKey}
    

    Linux)

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const example = new azure.core.ResourceGroup("example", {
        name: "azure-functions-cptest-rg",
        location: "West Europe",
    });
    const exampleAccount = new azure.storage.Account("example", {
        name: "functionsapptestsa",
        resourceGroupName: example.name,
        location: example.location,
        accountTier: "Standard",
        accountReplicationType: "LRS",
    });
    const examplePlan = new azure.appservice.Plan("example", {
        name: "azure-functions-test-service-plan",
        location: example.location,
        resourceGroupName: example.name,
        kind: "Linux",
        reserved: true,
        sku: {
            tier: "Dynamic",
            size: "Y1",
        },
    });
    const exampleFunctionApp = new azure.appservice.FunctionApp("example", {
        name: "test-azure-functions",
        location: example.location,
        resourceGroupName: example.name,
        appServicePlanId: examplePlan.id,
        storageAccountName: exampleAccount.name,
        storageAccountAccessKey: exampleAccount.primaryAccessKey,
        osType: "linux",
        version: "~3",
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example = azure.core.ResourceGroup("example",
        name="azure-functions-cptest-rg",
        location="West Europe")
    example_account = azure.storage.Account("example",
        name="functionsapptestsa",
        resource_group_name=example.name,
        location=example.location,
        account_tier="Standard",
        account_replication_type="LRS")
    example_plan = azure.appservice.Plan("example",
        name="azure-functions-test-service-plan",
        location=example.location,
        resource_group_name=example.name,
        kind="Linux",
        reserved=True,
        sku={
            "tier": "Dynamic",
            "size": "Y1",
        })
    example_function_app = azure.appservice.FunctionApp("example",
        name="test-azure-functions",
        location=example.location,
        resource_group_name=example.name,
        app_service_plan_id=example_plan.id,
        storage_account_name=example_account.name,
        storage_account_access_key=example_account.primary_access_key,
        os_type="linux",
        version="~3")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appservice"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/storage"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("azure-functions-cptest-rg"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
    			Name:                   pulumi.String("functionsapptestsa"),
    			ResourceGroupName:      example.Name,
    			Location:               example.Location,
    			AccountTier:            pulumi.String("Standard"),
    			AccountReplicationType: pulumi.String("LRS"),
    		})
    		if err != nil {
    			return err
    		}
    		examplePlan, err := appservice.NewPlan(ctx, "example", &appservice.PlanArgs{
    			Name:              pulumi.String("azure-functions-test-service-plan"),
    			Location:          example.Location,
    			ResourceGroupName: example.Name,
    			Kind:              pulumi.Any("Linux"),
    			Reserved:          pulumi.Bool(true),
    			Sku: &appservice.PlanSkuArgs{
    				Tier: pulumi.String("Dynamic"),
    				Size: pulumi.String("Y1"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = appservice.NewFunctionApp(ctx, "example", &appservice.FunctionAppArgs{
    			Name:                    pulumi.String("test-azure-functions"),
    			Location:                example.Location,
    			ResourceGroupName:       example.Name,
    			AppServicePlanId:        examplePlan.ID(),
    			StorageAccountName:      exampleAccount.Name,
    			StorageAccountAccessKey: exampleAccount.PrimaryAccessKey,
    			OsType:                  pulumi.String("linux"),
    			Version:                 pulumi.String("~3"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "azure-functions-cptest-rg",
            Location = "West Europe",
        });
    
        var exampleAccount = new Azure.Storage.Account("example", new()
        {
            Name = "functionsapptestsa",
            ResourceGroupName = example.Name,
            Location = example.Location,
            AccountTier = "Standard",
            AccountReplicationType = "LRS",
        });
    
        var examplePlan = new Azure.AppService.Plan("example", new()
        {
            Name = "azure-functions-test-service-plan",
            Location = example.Location,
            ResourceGroupName = example.Name,
            Kind = "Linux",
            Reserved = true,
            Sku = new Azure.AppService.Inputs.PlanSkuArgs
            {
                Tier = "Dynamic",
                Size = "Y1",
            },
        });
    
        var exampleFunctionApp = new Azure.AppService.FunctionApp("example", new()
        {
            Name = "test-azure-functions",
            Location = example.Location,
            ResourceGroupName = example.Name,
            AppServicePlanId = examplePlan.Id,
            StorageAccountName = exampleAccount.Name,
            StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,
            OsType = "linux",
            Version = "~3",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.storage.Account;
    import com.pulumi.azure.storage.AccountArgs;
    import com.pulumi.azure.appservice.Plan;
    import com.pulumi.azure.appservice.PlanArgs;
    import com.pulumi.azure.appservice.inputs.PlanSkuArgs;
    import com.pulumi.azure.appservice.FunctionApp;
    import com.pulumi.azure.appservice.FunctionAppArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ResourceGroup("example", ResourceGroupArgs.builder()
                .name("azure-functions-cptest-rg")
                .location("West Europe")
                .build());
    
            var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
                .name("functionsapptestsa")
                .resourceGroupName(example.name())
                .location(example.location())
                .accountTier("Standard")
                .accountReplicationType("LRS")
                .build());
    
            var examplePlan = new Plan("examplePlan", PlanArgs.builder()
                .name("azure-functions-test-service-plan")
                .location(example.location())
                .resourceGroupName(example.name())
                .kind("Linux")
                .reserved(true)
                .sku(PlanSkuArgs.builder()
                    .tier("Dynamic")
                    .size("Y1")
                    .build())
                .build());
    
            var exampleFunctionApp = new FunctionApp("exampleFunctionApp", FunctionAppArgs.builder()
                .name("test-azure-functions")
                .location(example.location())
                .resourceGroupName(example.name())
                .appServicePlanId(examplePlan.id())
                .storageAccountName(exampleAccount.name())
                .storageAccountAccessKey(exampleAccount.primaryAccessKey())
                .osType("linux")
                .version("~3")
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: azure-functions-cptest-rg
          location: West Europe
      exampleAccount:
        type: azure:storage:Account
        name: example
        properties:
          name: functionsapptestsa
          resourceGroupName: ${example.name}
          location: ${example.location}
          accountTier: Standard
          accountReplicationType: LRS
      examplePlan:
        type: azure:appservice:Plan
        name: example
        properties:
          name: azure-functions-test-service-plan
          location: ${example.location}
          resourceGroupName: ${example.name}
          kind: Linux
          reserved: true
          sku:
            tier: Dynamic
            size: Y1
      exampleFunctionApp:
        type: azure:appservice:FunctionApp
        name: example
        properties:
          name: test-azure-functions
          location: ${example.location}
          resourceGroupName: ${example.name}
          appServicePlanId: ${examplePlan.id}
          storageAccountName: ${exampleAccount.name}
          storageAccountAccessKey: ${exampleAccount.primaryAccessKey}
          osType: linux
          version: ~3
    

    Note: Version ~3 or ~4 is required for Linux Function Apps.

    Python In A Consumption Plan)

    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    Coming soon!
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.storage.Account;
    import com.pulumi.azure.storage.AccountArgs;
    import com.pulumi.azure.appservice.Plan;
    import com.pulumi.azure.appservice.PlanArgs;
    import com.pulumi.azure.appservice.inputs.PlanSkuArgs;
    import com.pulumi.azure.appservice.FunctionApp;
    import com.pulumi.azure.appservice.FunctionAppArgs;
    import com.pulumi.azure.appservice.inputs.FunctionAppSiteConfigArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ResourceGroup("example", ResourceGroupArgs.builder()
                .name("azure-functions-example-rg")
                .location("West Europe")
                .build());
    
            var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
                .name("functionsappexamlpesa")
                .resourceGroupName(example.name())
                .location(example.location())
                .accountTier("Standard")
                .accountReplicationType("LRS")
                .build());
    
            var examplePlan = new Plan("examplePlan", PlanArgs.builder()
                .name("azure-functions-example-sp")
                .location(example.location())
                .resourceGroupName(example.name())
                .kind("Linux")
                .reserved(true)
                .sku(PlanSkuArgs.builder()
                    .tier("Dynamic")
                    .size("Y1")
                    .build())
                .build());
    
            var exampleFunctionApp = new FunctionApp("exampleFunctionApp", FunctionAppArgs.builder()
                .name("example-azure-function")
                .location(example.location())
                .resourceGroupName(example.name())
                .appServicePlanId(examplePlan.id())
                .storageAccountName(exampleAccount.name())
                .storageAccountAccessKey(exampleAccount.primaryAccessKey())
                .osType("linux")
                .version("~4")
                .appSettings(Map.of("FUNCTIONS_WORKER_RUNTIME", "python"))
                .siteConfig(FunctionAppSiteConfigArgs.builder()
                    .linuxFxVersion("python|3.9")
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: azure-functions-example-rg
          location: West Europe
      exampleAccount:
        type: azure:storage:Account
        name: example
        properties:
          name: functionsappexamlpesa
          resourceGroupName: ${example.name}
          location: ${example.location}
          accountTier: Standard
          accountReplicationType: LRS
      examplePlan:
        type: azure:appservice:Plan
        name: example
        properties:
          name: azure-functions-example-sp
          location: ${example.location}
          resourceGroupName: ${example.name}
          kind: Linux
          reserved: true
          sku:
            tier: Dynamic
            size: Y1
      exampleFunctionApp:
        type: azure:appservice:FunctionApp
        name: example
        properties:
          name: example-azure-function
          location: ${example.location}
          resourceGroupName: ${example.name}
          appServicePlanId: ${examplePlan.id}
          storageAccountName: ${exampleAccount.name}
          storageAccountAccessKey: ${exampleAccount.primaryAccessKey}
          osType: linux
          version: ~4
          appSettings:
            - FUNCTIONS_WORKER_RUNTIME: python
          siteConfig:
            linuxFxVersion: python|3.9
    

    Note: The Python runtime is only supported on a Linux based hosting plan. See the documentation for additional information.

    Create FunctionApp Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new FunctionApp(name: string, args: FunctionAppArgs, opts?: CustomResourceOptions);
    @overload
    def FunctionApp(resource_name: str,
                    args: FunctionAppArgs,
                    opts: Optional[ResourceOptions] = None)
    
    @overload
    def FunctionApp(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    app_service_plan_id: Optional[str] = None,
                    storage_account_name: Optional[str] = None,
                    storage_account_access_key: Optional[str] = None,
                    resource_group_name: Optional[str] = None,
                    key_vault_reference_identity_id: Optional[str] = None,
                    os_type: Optional[str] = None,
                    enable_builtin_logging: Optional[bool] = None,
                    enabled: Optional[bool] = None,
                    https_only: Optional[bool] = None,
                    identity: Optional[FunctionAppIdentityArgs] = None,
                    connection_strings: Optional[Sequence[FunctionAppConnectionStringArgs]] = None,
                    location: Optional[str] = None,
                    name: Optional[str] = None,
                    daily_memory_time_quota: Optional[int] = None,
                    client_cert_mode: Optional[str] = None,
                    site_config: Optional[FunctionAppSiteConfigArgs] = None,
                    source_control: Optional[FunctionAppSourceControlArgs] = None,
                    auth_settings: Optional[FunctionAppAuthSettingsArgs] = None,
                    app_settings: Optional[Mapping[str, str]] = None,
                    tags: Optional[Mapping[str, str]] = None,
                    version: Optional[str] = None)
    func NewFunctionApp(ctx *Context, name string, args FunctionAppArgs, opts ...ResourceOption) (*FunctionApp, error)
    public FunctionApp(string name, FunctionAppArgs args, CustomResourceOptions? opts = null)
    public FunctionApp(String name, FunctionAppArgs args)
    public FunctionApp(String name, FunctionAppArgs args, CustomResourceOptions options)
    
    type: azure:appservice:FunctionApp
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args FunctionAppArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args FunctionAppArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args FunctionAppArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args FunctionAppArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args FunctionAppArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var functionAppResource = new Azure.AppService.FunctionApp("functionAppResource", new()
    {
        AppServicePlanId = "string",
        StorageAccountName = "string",
        StorageAccountAccessKey = "string",
        ResourceGroupName = "string",
        KeyVaultReferenceIdentityId = "string",
        OsType = "string",
        EnableBuiltinLogging = false,
        Enabled = false,
        HttpsOnly = false,
        Identity = new Azure.AppService.Inputs.FunctionAppIdentityArgs
        {
            Type = "string",
            IdentityIds = new[]
            {
                "string",
            },
            PrincipalId = "string",
            TenantId = "string",
        },
        ConnectionStrings = new[]
        {
            new Azure.AppService.Inputs.FunctionAppConnectionStringArgs
            {
                Name = "string",
                Type = "string",
                Value = "string",
            },
        },
        Location = "string",
        Name = "string",
        DailyMemoryTimeQuota = 0,
        ClientCertMode = "string",
        SiteConfig = new Azure.AppService.Inputs.FunctionAppSiteConfigArgs
        {
            AlwaysOn = false,
            AppScaleLimit = 0,
            AutoSwapSlotName = "string",
            Cors = new Azure.AppService.Inputs.FunctionAppSiteConfigCorsArgs
            {
                AllowedOrigins = new[]
                {
                    "string",
                },
                SupportCredentials = false,
            },
            DotnetFrameworkVersion = "string",
            ElasticInstanceMinimum = 0,
            FtpsState = "string",
            HealthCheckPath = "string",
            Http2Enabled = false,
            IpRestrictions = new[]
            {
                new Azure.AppService.Inputs.FunctionAppSiteConfigIpRestrictionArgs
                {
                    Action = "string",
                    Headers = new Azure.AppService.Inputs.FunctionAppSiteConfigIpRestrictionHeadersArgs
                    {
                        XAzureFdids = new[]
                        {
                            "string",
                        },
                        XFdHealthProbe = "string",
                        XForwardedFors = new[]
                        {
                            "string",
                        },
                        XForwardedHosts = new[]
                        {
                            "string",
                        },
                    },
                    IpAddress = "string",
                    Name = "string",
                    Priority = 0,
                    ServiceTag = "string",
                    VirtualNetworkSubnetId = "string",
                },
            },
            JavaVersion = "string",
            LinuxFxVersion = "string",
            MinTlsVersion = "string",
            PreWarmedInstanceCount = 0,
            RuntimeScaleMonitoringEnabled = false,
            ScmIpRestrictions = new[]
            {
                new Azure.AppService.Inputs.FunctionAppSiteConfigScmIpRestrictionArgs
                {
                    Action = "string",
                    Headers = new Azure.AppService.Inputs.FunctionAppSiteConfigScmIpRestrictionHeadersArgs
                    {
                        XAzureFdids = new[]
                        {
                            "string",
                        },
                        XFdHealthProbe = "string",
                        XForwardedFors = new[]
                        {
                            "string",
                        },
                        XForwardedHosts = new[]
                        {
                            "string",
                        },
                    },
                    IpAddress = "string",
                    Name = "string",
                    Priority = 0,
                    ServiceTag = "string",
                    VirtualNetworkSubnetId = "string",
                },
            },
            ScmType = "string",
            ScmUseMainIpRestriction = false,
            Use32BitWorkerProcess = false,
            VnetRouteAllEnabled = false,
            WebsocketsEnabled = false,
        },
        SourceControl = new Azure.AppService.Inputs.FunctionAppSourceControlArgs
        {
            Branch = "string",
            ManualIntegration = false,
            RepoUrl = "string",
            RollbackEnabled = false,
            UseMercurial = false,
        },
        AuthSettings = new Azure.AppService.Inputs.FunctionAppAuthSettingsArgs
        {
            Enabled = false,
            Google = new Azure.AppService.Inputs.FunctionAppAuthSettingsGoogleArgs
            {
                ClientId = "string",
                ClientSecret = "string",
                OauthScopes = new[]
                {
                    "string",
                },
            },
            AllowedExternalRedirectUrls = new[]
            {
                "string",
            },
            DefaultProvider = "string",
            AdditionalLoginParams = 
            {
                { "string", "string" },
            },
            Facebook = new Azure.AppService.Inputs.FunctionAppAuthSettingsFacebookArgs
            {
                AppId = "string",
                AppSecret = "string",
                OauthScopes = new[]
                {
                    "string",
                },
            },
            ActiveDirectory = new Azure.AppService.Inputs.FunctionAppAuthSettingsActiveDirectoryArgs
            {
                ClientId = "string",
                AllowedAudiences = new[]
                {
                    "string",
                },
                ClientSecret = "string",
            },
            Issuer = "string",
            Microsoft = new Azure.AppService.Inputs.FunctionAppAuthSettingsMicrosoftArgs
            {
                ClientId = "string",
                ClientSecret = "string",
                OauthScopes = new[]
                {
                    "string",
                },
            },
            RuntimeVersion = "string",
            TokenRefreshExtensionHours = 0,
            TokenStoreEnabled = false,
            Twitter = new Azure.AppService.Inputs.FunctionAppAuthSettingsTwitterArgs
            {
                ConsumerKey = "string",
                ConsumerSecret = "string",
            },
            UnauthenticatedClientAction = "string",
        },
        AppSettings = 
        {
            { "string", "string" },
        },
        Tags = 
        {
            { "string", "string" },
        },
        Version = "string",
    });
    
    example, err := appservice.NewFunctionApp(ctx, "functionAppResource", &appservice.FunctionAppArgs{
    	AppServicePlanId:            pulumi.String("string"),
    	StorageAccountName:          pulumi.String("string"),
    	StorageAccountAccessKey:     pulumi.String("string"),
    	ResourceGroupName:           pulumi.String("string"),
    	KeyVaultReferenceIdentityId: pulumi.String("string"),
    	OsType:                      pulumi.String("string"),
    	EnableBuiltinLogging:        pulumi.Bool(false),
    	Enabled:                     pulumi.Bool(false),
    	HttpsOnly:                   pulumi.Bool(false),
    	Identity: &appservice.FunctionAppIdentityArgs{
    		Type: pulumi.String("string"),
    		IdentityIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		PrincipalId: pulumi.String("string"),
    		TenantId:    pulumi.String("string"),
    	},
    	ConnectionStrings: appservice.FunctionAppConnectionStringArray{
    		&appservice.FunctionAppConnectionStringArgs{
    			Name:  pulumi.String("string"),
    			Type:  pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	Location:             pulumi.String("string"),
    	Name:                 pulumi.String("string"),
    	DailyMemoryTimeQuota: pulumi.Int(0),
    	ClientCertMode:       pulumi.String("string"),
    	SiteConfig: &appservice.FunctionAppSiteConfigArgs{
    		AlwaysOn:         pulumi.Bool(false),
    		AppScaleLimit:    pulumi.Int(0),
    		AutoSwapSlotName: pulumi.String("string"),
    		Cors: &appservice.FunctionAppSiteConfigCorsArgs{
    			AllowedOrigins: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			SupportCredentials: pulumi.Bool(false),
    		},
    		DotnetFrameworkVersion: pulumi.String("string"),
    		ElasticInstanceMinimum: pulumi.Int(0),
    		FtpsState:              pulumi.String("string"),
    		HealthCheckPath:        pulumi.String("string"),
    		Http2Enabled:           pulumi.Bool(false),
    		IpRestrictions: appservice.FunctionAppSiteConfigIpRestrictionArray{
    			&appservice.FunctionAppSiteConfigIpRestrictionArgs{
    				Action: pulumi.String("string"),
    				Headers: &appservice.FunctionAppSiteConfigIpRestrictionHeadersArgs{
    					XAzureFdids: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					XFdHealthProbe: pulumi.String("string"),
    					XForwardedFors: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					XForwardedHosts: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    				IpAddress:              pulumi.String("string"),
    				Name:                   pulumi.String("string"),
    				Priority:               pulumi.Int(0),
    				ServiceTag:             pulumi.String("string"),
    				VirtualNetworkSubnetId: pulumi.String("string"),
    			},
    		},
    		JavaVersion:                   pulumi.String("string"),
    		LinuxFxVersion:                pulumi.String("string"),
    		MinTlsVersion:                 pulumi.String("string"),
    		PreWarmedInstanceCount:        pulumi.Int(0),
    		RuntimeScaleMonitoringEnabled: pulumi.Bool(false),
    		ScmIpRestrictions: appservice.FunctionAppSiteConfigScmIpRestrictionArray{
    			&appservice.FunctionAppSiteConfigScmIpRestrictionArgs{
    				Action: pulumi.String("string"),
    				Headers: &appservice.FunctionAppSiteConfigScmIpRestrictionHeadersArgs{
    					XAzureFdids: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					XFdHealthProbe: pulumi.String("string"),
    					XForwardedFors: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					XForwardedHosts: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    				IpAddress:              pulumi.String("string"),
    				Name:                   pulumi.String("string"),
    				Priority:               pulumi.Int(0),
    				ServiceTag:             pulumi.String("string"),
    				VirtualNetworkSubnetId: pulumi.String("string"),
    			},
    		},
    		ScmType:                 pulumi.String("string"),
    		ScmUseMainIpRestriction: pulumi.Bool(false),
    		Use32BitWorkerProcess:   pulumi.Bool(false),
    		VnetRouteAllEnabled:     pulumi.Bool(false),
    		WebsocketsEnabled:       pulumi.Bool(false),
    	},
    	SourceControl: &appservice.FunctionAppSourceControlArgs{
    		Branch:            pulumi.String("string"),
    		ManualIntegration: pulumi.Bool(false),
    		RepoUrl:           pulumi.String("string"),
    		RollbackEnabled:   pulumi.Bool(false),
    		UseMercurial:      pulumi.Bool(false),
    	},
    	AuthSettings: &appservice.FunctionAppAuthSettingsArgs{
    		Enabled: pulumi.Bool(false),
    		Google: &appservice.FunctionAppAuthSettingsGoogleArgs{
    			ClientId:     pulumi.String("string"),
    			ClientSecret: pulumi.String("string"),
    			OauthScopes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		AllowedExternalRedirectUrls: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		DefaultProvider: pulumi.String("string"),
    		AdditionalLoginParams: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		Facebook: &appservice.FunctionAppAuthSettingsFacebookArgs{
    			AppId:     pulumi.String("string"),
    			AppSecret: pulumi.String("string"),
    			OauthScopes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		ActiveDirectory: &appservice.FunctionAppAuthSettingsActiveDirectoryArgs{
    			ClientId: pulumi.String("string"),
    			AllowedAudiences: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			ClientSecret: pulumi.String("string"),
    		},
    		Issuer: pulumi.String("string"),
    		Microsoft: &appservice.FunctionAppAuthSettingsMicrosoftArgs{
    			ClientId:     pulumi.String("string"),
    			ClientSecret: pulumi.String("string"),
    			OauthScopes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		RuntimeVersion:             pulumi.String("string"),
    		TokenRefreshExtensionHours: pulumi.Float64(0),
    		TokenStoreEnabled:          pulumi.Bool(false),
    		Twitter: &appservice.FunctionAppAuthSettingsTwitterArgs{
    			ConsumerKey:    pulumi.String("string"),
    			ConsumerSecret: pulumi.String("string"),
    		},
    		UnauthenticatedClientAction: pulumi.String("string"),
    	},
    	AppSettings: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Version: pulumi.String("string"),
    })
    
    var functionAppResource = new FunctionApp("functionAppResource", FunctionAppArgs.builder()
        .appServicePlanId("string")
        .storageAccountName("string")
        .storageAccountAccessKey("string")
        .resourceGroupName("string")
        .keyVaultReferenceIdentityId("string")
        .osType("string")
        .enableBuiltinLogging(false)
        .enabled(false)
        .httpsOnly(false)
        .identity(FunctionAppIdentityArgs.builder()
            .type("string")
            .identityIds("string")
            .principalId("string")
            .tenantId("string")
            .build())
        .connectionStrings(FunctionAppConnectionStringArgs.builder()
            .name("string")
            .type("string")
            .value("string")
            .build())
        .location("string")
        .name("string")
        .dailyMemoryTimeQuota(0)
        .clientCertMode("string")
        .siteConfig(FunctionAppSiteConfigArgs.builder()
            .alwaysOn(false)
            .appScaleLimit(0)
            .autoSwapSlotName("string")
            .cors(FunctionAppSiteConfigCorsArgs.builder()
                .allowedOrigins("string")
                .supportCredentials(false)
                .build())
            .dotnetFrameworkVersion("string")
            .elasticInstanceMinimum(0)
            .ftpsState("string")
            .healthCheckPath("string")
            .http2Enabled(false)
            .ipRestrictions(FunctionAppSiteConfigIpRestrictionArgs.builder()
                .action("string")
                .headers(FunctionAppSiteConfigIpRestrictionHeadersArgs.builder()
                    .xAzureFdids("string")
                    .xFdHealthProbe("string")
                    .xForwardedFors("string")
                    .xForwardedHosts("string")
                    .build())
                .ipAddress("string")
                .name("string")
                .priority(0)
                .serviceTag("string")
                .virtualNetworkSubnetId("string")
                .build())
            .javaVersion("string")
            .linuxFxVersion("string")
            .minTlsVersion("string")
            .preWarmedInstanceCount(0)
            .runtimeScaleMonitoringEnabled(false)
            .scmIpRestrictions(FunctionAppSiteConfigScmIpRestrictionArgs.builder()
                .action("string")
                .headers(FunctionAppSiteConfigScmIpRestrictionHeadersArgs.builder()
                    .xAzureFdids("string")
                    .xFdHealthProbe("string")
                    .xForwardedFors("string")
                    .xForwardedHosts("string")
                    .build())
                .ipAddress("string")
                .name("string")
                .priority(0)
                .serviceTag("string")
                .virtualNetworkSubnetId("string")
                .build())
            .scmType("string")
            .scmUseMainIpRestriction(false)
            .use32BitWorkerProcess(false)
            .vnetRouteAllEnabled(false)
            .websocketsEnabled(false)
            .build())
        .sourceControl(FunctionAppSourceControlArgs.builder()
            .branch("string")
            .manualIntegration(false)
            .repoUrl("string")
            .rollbackEnabled(false)
            .useMercurial(false)
            .build())
        .authSettings(FunctionAppAuthSettingsArgs.builder()
            .enabled(false)
            .google(FunctionAppAuthSettingsGoogleArgs.builder()
                .clientId("string")
                .clientSecret("string")
                .oauthScopes("string")
                .build())
            .allowedExternalRedirectUrls("string")
            .defaultProvider("string")
            .additionalLoginParams(Map.of("string", "string"))
            .facebook(FunctionAppAuthSettingsFacebookArgs.builder()
                .appId("string")
                .appSecret("string")
                .oauthScopes("string")
                .build())
            .activeDirectory(FunctionAppAuthSettingsActiveDirectoryArgs.builder()
                .clientId("string")
                .allowedAudiences("string")
                .clientSecret("string")
                .build())
            .issuer("string")
            .microsoft(FunctionAppAuthSettingsMicrosoftArgs.builder()
                .clientId("string")
                .clientSecret("string")
                .oauthScopes("string")
                .build())
            .runtimeVersion("string")
            .tokenRefreshExtensionHours(0)
            .tokenStoreEnabled(false)
            .twitter(FunctionAppAuthSettingsTwitterArgs.builder()
                .consumerKey("string")
                .consumerSecret("string")
                .build())
            .unauthenticatedClientAction("string")
            .build())
        .appSettings(Map.of("string", "string"))
        .tags(Map.of("string", "string"))
        .version("string")
        .build());
    
    function_app_resource = azure.appservice.FunctionApp("functionAppResource",
        app_service_plan_id="string",
        storage_account_name="string",
        storage_account_access_key="string",
        resource_group_name="string",
        key_vault_reference_identity_id="string",
        os_type="string",
        enable_builtin_logging=False,
        enabled=False,
        https_only=False,
        identity={
            "type": "string",
            "identityIds": ["string"],
            "principalId": "string",
            "tenantId": "string",
        },
        connection_strings=[{
            "name": "string",
            "type": "string",
            "value": "string",
        }],
        location="string",
        name="string",
        daily_memory_time_quota=0,
        client_cert_mode="string",
        site_config={
            "alwaysOn": False,
            "appScaleLimit": 0,
            "autoSwapSlotName": "string",
            "cors": {
                "allowedOrigins": ["string"],
                "supportCredentials": False,
            },
            "dotnetFrameworkVersion": "string",
            "elasticInstanceMinimum": 0,
            "ftpsState": "string",
            "healthCheckPath": "string",
            "http2Enabled": False,
            "ipRestrictions": [{
                "action": "string",
                "headers": {
                    "xAzureFdids": ["string"],
                    "xFdHealthProbe": "string",
                    "xForwardedFors": ["string"],
                    "xForwardedHosts": ["string"],
                },
                "ipAddress": "string",
                "name": "string",
                "priority": 0,
                "serviceTag": "string",
                "virtualNetworkSubnetId": "string",
            }],
            "javaVersion": "string",
            "linuxFxVersion": "string",
            "minTlsVersion": "string",
            "preWarmedInstanceCount": 0,
            "runtimeScaleMonitoringEnabled": False,
            "scmIpRestrictions": [{
                "action": "string",
                "headers": {
                    "xAzureFdids": ["string"],
                    "xFdHealthProbe": "string",
                    "xForwardedFors": ["string"],
                    "xForwardedHosts": ["string"],
                },
                "ipAddress": "string",
                "name": "string",
                "priority": 0,
                "serviceTag": "string",
                "virtualNetworkSubnetId": "string",
            }],
            "scmType": "string",
            "scmUseMainIpRestriction": False,
            "use32BitWorkerProcess": False,
            "vnetRouteAllEnabled": False,
            "websocketsEnabled": False,
        },
        source_control={
            "branch": "string",
            "manualIntegration": False,
            "repoUrl": "string",
            "rollbackEnabled": False,
            "useMercurial": False,
        },
        auth_settings={
            "enabled": False,
            "google": {
                "clientId": "string",
                "clientSecret": "string",
                "oauthScopes": ["string"],
            },
            "allowedExternalRedirectUrls": ["string"],
            "defaultProvider": "string",
            "additionalLoginParams": {
                "string": "string",
            },
            "facebook": {
                "appId": "string",
                "appSecret": "string",
                "oauthScopes": ["string"],
            },
            "activeDirectory": {
                "clientId": "string",
                "allowedAudiences": ["string"],
                "clientSecret": "string",
            },
            "issuer": "string",
            "microsoft": {
                "clientId": "string",
                "clientSecret": "string",
                "oauthScopes": ["string"],
            },
            "runtimeVersion": "string",
            "tokenRefreshExtensionHours": 0,
            "tokenStoreEnabled": False,
            "twitter": {
                "consumerKey": "string",
                "consumerSecret": "string",
            },
            "unauthenticatedClientAction": "string",
        },
        app_settings={
            "string": "string",
        },
        tags={
            "string": "string",
        },
        version="string")
    
    const functionAppResource = new azure.appservice.FunctionApp("functionAppResource", {
        appServicePlanId: "string",
        storageAccountName: "string",
        storageAccountAccessKey: "string",
        resourceGroupName: "string",
        keyVaultReferenceIdentityId: "string",
        osType: "string",
        enableBuiltinLogging: false,
        enabled: false,
        httpsOnly: false,
        identity: {
            type: "string",
            identityIds: ["string"],
            principalId: "string",
            tenantId: "string",
        },
        connectionStrings: [{
            name: "string",
            type: "string",
            value: "string",
        }],
        location: "string",
        name: "string",
        dailyMemoryTimeQuota: 0,
        clientCertMode: "string",
        siteConfig: {
            alwaysOn: false,
            appScaleLimit: 0,
            autoSwapSlotName: "string",
            cors: {
                allowedOrigins: ["string"],
                supportCredentials: false,
            },
            dotnetFrameworkVersion: "string",
            elasticInstanceMinimum: 0,
            ftpsState: "string",
            healthCheckPath: "string",
            http2Enabled: false,
            ipRestrictions: [{
                action: "string",
                headers: {
                    xAzureFdids: ["string"],
                    xFdHealthProbe: "string",
                    xForwardedFors: ["string"],
                    xForwardedHosts: ["string"],
                },
                ipAddress: "string",
                name: "string",
                priority: 0,
                serviceTag: "string",
                virtualNetworkSubnetId: "string",
            }],
            javaVersion: "string",
            linuxFxVersion: "string",
            minTlsVersion: "string",
            preWarmedInstanceCount: 0,
            runtimeScaleMonitoringEnabled: false,
            scmIpRestrictions: [{
                action: "string",
                headers: {
                    xAzureFdids: ["string"],
                    xFdHealthProbe: "string",
                    xForwardedFors: ["string"],
                    xForwardedHosts: ["string"],
                },
                ipAddress: "string",
                name: "string",
                priority: 0,
                serviceTag: "string",
                virtualNetworkSubnetId: "string",
            }],
            scmType: "string",
            scmUseMainIpRestriction: false,
            use32BitWorkerProcess: false,
            vnetRouteAllEnabled: false,
            websocketsEnabled: false,
        },
        sourceControl: {
            branch: "string",
            manualIntegration: false,
            repoUrl: "string",
            rollbackEnabled: false,
            useMercurial: false,
        },
        authSettings: {
            enabled: false,
            google: {
                clientId: "string",
                clientSecret: "string",
                oauthScopes: ["string"],
            },
            allowedExternalRedirectUrls: ["string"],
            defaultProvider: "string",
            additionalLoginParams: {
                string: "string",
            },
            facebook: {
                appId: "string",
                appSecret: "string",
                oauthScopes: ["string"],
            },
            activeDirectory: {
                clientId: "string",
                allowedAudiences: ["string"],
                clientSecret: "string",
            },
            issuer: "string",
            microsoft: {
                clientId: "string",
                clientSecret: "string",
                oauthScopes: ["string"],
            },
            runtimeVersion: "string",
            tokenRefreshExtensionHours: 0,
            tokenStoreEnabled: false,
            twitter: {
                consumerKey: "string",
                consumerSecret: "string",
            },
            unauthenticatedClientAction: "string",
        },
        appSettings: {
            string: "string",
        },
        tags: {
            string: "string",
        },
        version: "string",
    });
    
    type: azure:appservice:FunctionApp
    properties:
        appServicePlanId: string
        appSettings:
            string: string
        authSettings:
            activeDirectory:
                allowedAudiences:
                    - string
                clientId: string
                clientSecret: string
            additionalLoginParams:
                string: string
            allowedExternalRedirectUrls:
                - string
            defaultProvider: string
            enabled: false
            facebook:
                appId: string
                appSecret: string
                oauthScopes:
                    - string
            google:
                clientId: string
                clientSecret: string
                oauthScopes:
                    - string
            issuer: string
            microsoft:
                clientId: string
                clientSecret: string
                oauthScopes:
                    - string
            runtimeVersion: string
            tokenRefreshExtensionHours: 0
            tokenStoreEnabled: false
            twitter:
                consumerKey: string
                consumerSecret: string
            unauthenticatedClientAction: string
        clientCertMode: string
        connectionStrings:
            - name: string
              type: string
              value: string
        dailyMemoryTimeQuota: 0
        enableBuiltinLogging: false
        enabled: false
        httpsOnly: false
        identity:
            identityIds:
                - string
            principalId: string
            tenantId: string
            type: string
        keyVaultReferenceIdentityId: string
        location: string
        name: string
        osType: string
        resourceGroupName: string
        siteConfig:
            alwaysOn: false
            appScaleLimit: 0
            autoSwapSlotName: string
            cors:
                allowedOrigins:
                    - string
                supportCredentials: false
            dotnetFrameworkVersion: string
            elasticInstanceMinimum: 0
            ftpsState: string
            healthCheckPath: string
            http2Enabled: false
            ipRestrictions:
                - action: string
                  headers:
                    xAzureFdids:
                        - string
                    xFdHealthProbe: string
                    xForwardedFors:
                        - string
                    xForwardedHosts:
                        - string
                  ipAddress: string
                  name: string
                  priority: 0
                  serviceTag: string
                  virtualNetworkSubnetId: string
            javaVersion: string
            linuxFxVersion: string
            minTlsVersion: string
            preWarmedInstanceCount: 0
            runtimeScaleMonitoringEnabled: false
            scmIpRestrictions:
                - action: string
                  headers:
                    xAzureFdids:
                        - string
                    xFdHealthProbe: string
                    xForwardedFors:
                        - string
                    xForwardedHosts:
                        - string
                  ipAddress: string
                  name: string
                  priority: 0
                  serviceTag: string
                  virtualNetworkSubnetId: string
            scmType: string
            scmUseMainIpRestriction: false
            use32BitWorkerProcess: false
            vnetRouteAllEnabled: false
            websocketsEnabled: false
        sourceControl:
            branch: string
            manualIntegration: false
            repoUrl: string
            rollbackEnabled: false
            useMercurial: false
        storageAccountAccessKey: string
        storageAccountName: string
        tags:
            string: string
        version: string
    

    FunctionApp Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The FunctionApp resource accepts the following input properties:

    AppServicePlanId string
    The ID of the App Service Plan within which to create this Function App.
    ResourceGroupName string
    The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
    StorageAccountAccessKey string

    The access key which will be used to access the backend storage account for the Function App.

    Note: When integrating a CI/CD pipeline and expecting to run from a deployed package in Azure you must seed your app settings as part of the application code for function app to be successfully deployed. Important Default key pairs: ("WEBSITE_RUN_FROM_PACKAGE" = "", "FUNCTIONS_WORKER_RUNTIME" = "node" (or python, etc), "WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY" = "").

    Note: When using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    StorageAccountName string
    The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
    AppSettings Dictionary<string, string>

    A map of key-value pairs for App Settings and custom values.

    NOTE: The values for AzureWebJobsStorage and FUNCTIONS_EXTENSION_VERSION will be filled by other input arguments and shouldn't be configured separately. AzureWebJobsStorage is filled based on storage_account_name and storage_account_access_key. FUNCTIONS_EXTENSION_VERSION is filled based on version.

    AuthSettings FunctionAppAuthSettings
    A auth_settings block as defined below.
    ClientCertMode string
    The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required and Optional.
    ConnectionStrings List<FunctionAppConnectionString>
    An connection_string block as defined below.
    DailyMemoryTimeQuota int
    The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
    EnableBuiltinLogging bool
    Should the built-in logging of this Function App be enabled? Defaults to true.
    Enabled bool
    Is the Function App enabled? Defaults to true.
    HttpsOnly bool
    Can the Function App only be accessed via HTTPS? Defaults to false.
    Identity FunctionAppIdentity
    An identity block as defined below.
    KeyVaultReferenceIdentityId string
    The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See Access vaults with a user-assigned identity for more information.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule.
    OsType string

    A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "".

    NOTE: This value will be linux for Linux derivatives, or an empty string for Windows (default). When set to linux you must also set azure.appservice.Plan arguments as kind = "Linux" and reserved = true

    SiteConfig FunctionAppSiteConfig
    A site_config object as defined below.
    SourceControl FunctionAppSourceControl
    A source_control block, as defined below.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    Version string
    The runtime version associated with the Function App. Defaults to ~1.
    AppServicePlanId string
    The ID of the App Service Plan within which to create this Function App.
    ResourceGroupName string
    The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
    StorageAccountAccessKey string

    The access key which will be used to access the backend storage account for the Function App.

    Note: When integrating a CI/CD pipeline and expecting to run from a deployed package in Azure you must seed your app settings as part of the application code for function app to be successfully deployed. Important Default key pairs: ("WEBSITE_RUN_FROM_PACKAGE" = "", "FUNCTIONS_WORKER_RUNTIME" = "node" (or python, etc), "WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY" = "").

    Note: When using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    StorageAccountName string
    The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
    AppSettings map[string]string

    A map of key-value pairs for App Settings and custom values.

    NOTE: The values for AzureWebJobsStorage and FUNCTIONS_EXTENSION_VERSION will be filled by other input arguments and shouldn't be configured separately. AzureWebJobsStorage is filled based on storage_account_name and storage_account_access_key. FUNCTIONS_EXTENSION_VERSION is filled based on version.

    AuthSettings FunctionAppAuthSettingsArgs
    A auth_settings block as defined below.
    ClientCertMode string
    The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required and Optional.
    ConnectionStrings []FunctionAppConnectionStringArgs
    An connection_string block as defined below.
    DailyMemoryTimeQuota int
    The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
    EnableBuiltinLogging bool
    Should the built-in logging of this Function App be enabled? Defaults to true.
    Enabled bool
    Is the Function App enabled? Defaults to true.
    HttpsOnly bool
    Can the Function App only be accessed via HTTPS? Defaults to false.
    Identity FunctionAppIdentityArgs
    An identity block as defined below.
    KeyVaultReferenceIdentityId string
    The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See Access vaults with a user-assigned identity for more information.
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule.
    OsType string

    A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "".

    NOTE: This value will be linux for Linux derivatives, or an empty string for Windows (default). When set to linux you must also set azure.appservice.Plan arguments as kind = "Linux" and reserved = true

    SiteConfig FunctionAppSiteConfigArgs
    A site_config object as defined below.
    SourceControl FunctionAppSourceControlArgs
    A source_control block, as defined below.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    Version string
    The runtime version associated with the Function App. Defaults to ~1.
    appServicePlanId String
    The ID of the App Service Plan within which to create this Function App.
    resourceGroupName String
    The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
    storageAccountAccessKey String

    The access key which will be used to access the backend storage account for the Function App.

    Note: When integrating a CI/CD pipeline and expecting to run from a deployed package in Azure you must seed your app settings as part of the application code for function app to be successfully deployed. Important Default key pairs: ("WEBSITE_RUN_FROM_PACKAGE" = "", "FUNCTIONS_WORKER_RUNTIME" = "node" (or python, etc), "WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY" = "").

    Note: When using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    storageAccountName String
    The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
    appSettings Map<String,String>

    A map of key-value pairs for App Settings and custom values.

    NOTE: The values for AzureWebJobsStorage and FUNCTIONS_EXTENSION_VERSION will be filled by other input arguments and shouldn't be configured separately. AzureWebJobsStorage is filled based on storage_account_name and storage_account_access_key. FUNCTIONS_EXTENSION_VERSION is filled based on version.

    authSettings FunctionAppAuthSettings
    A auth_settings block as defined below.
    clientCertMode String
    The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required and Optional.
    connectionStrings List<FunctionAppConnectionString>
    An connection_string block as defined below.
    dailyMemoryTimeQuota Integer
    The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
    enableBuiltinLogging Boolean
    Should the built-in logging of this Function App be enabled? Defaults to true.
    enabled Boolean
    Is the Function App enabled? Defaults to true.
    httpsOnly Boolean
    Can the Function App only be accessed via HTTPS? Defaults to false.
    identity FunctionAppIdentity
    An identity block as defined below.
    keyVaultReferenceIdentityId String
    The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See Access vaults with a user-assigned identity for more information.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule.
    osType String

    A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "".

    NOTE: This value will be linux for Linux derivatives, or an empty string for Windows (default). When set to linux you must also set azure.appservice.Plan arguments as kind = "Linux" and reserved = true

    siteConfig FunctionAppSiteConfig
    A site_config object as defined below.
    sourceControl FunctionAppSourceControl
    A source_control block, as defined below.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    version String
    The runtime version associated with the Function App. Defaults to ~1.
    appServicePlanId string
    The ID of the App Service Plan within which to create this Function App.
    resourceGroupName string
    The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
    storageAccountAccessKey string

    The access key which will be used to access the backend storage account for the Function App.

    Note: When integrating a CI/CD pipeline and expecting to run from a deployed package in Azure you must seed your app settings as part of the application code for function app to be successfully deployed. Important Default key pairs: ("WEBSITE_RUN_FROM_PACKAGE" = "", "FUNCTIONS_WORKER_RUNTIME" = "node" (or python, etc), "WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY" = "").

    Note: When using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    storageAccountName string
    The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
    appSettings {[key: string]: string}

    A map of key-value pairs for App Settings and custom values.

    NOTE: The values for AzureWebJobsStorage and FUNCTIONS_EXTENSION_VERSION will be filled by other input arguments and shouldn't be configured separately. AzureWebJobsStorage is filled based on storage_account_name and storage_account_access_key. FUNCTIONS_EXTENSION_VERSION is filled based on version.

    authSettings FunctionAppAuthSettings
    A auth_settings block as defined below.
    clientCertMode string
    The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required and Optional.
    connectionStrings FunctionAppConnectionString[]
    An connection_string block as defined below.
    dailyMemoryTimeQuota number
    The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
    enableBuiltinLogging boolean
    Should the built-in logging of this Function App be enabled? Defaults to true.
    enabled boolean
    Is the Function App enabled? Defaults to true.
    httpsOnly boolean
    Can the Function App only be accessed via HTTPS? Defaults to false.
    identity FunctionAppIdentity
    An identity block as defined below.
    keyVaultReferenceIdentityId string
    The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See Access vaults with a user-assigned identity for more information.
    location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name string
    Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule.
    osType string

    A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "".

    NOTE: This value will be linux for Linux derivatives, or an empty string for Windows (default). When set to linux you must also set azure.appservice.Plan arguments as kind = "Linux" and reserved = true

    siteConfig FunctionAppSiteConfig
    A site_config object as defined below.
    sourceControl FunctionAppSourceControl
    A source_control block, as defined below.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    version string
    The runtime version associated with the Function App. Defaults to ~1.
    app_service_plan_id str
    The ID of the App Service Plan within which to create this Function App.
    resource_group_name str
    The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
    storage_account_access_key str

    The access key which will be used to access the backend storage account for the Function App.

    Note: When integrating a CI/CD pipeline and expecting to run from a deployed package in Azure you must seed your app settings as part of the application code for function app to be successfully deployed. Important Default key pairs: ("WEBSITE_RUN_FROM_PACKAGE" = "", "FUNCTIONS_WORKER_RUNTIME" = "node" (or python, etc), "WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY" = "").

    Note: When using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    storage_account_name str
    The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
    app_settings Mapping[str, str]

    A map of key-value pairs for App Settings and custom values.

    NOTE: The values for AzureWebJobsStorage and FUNCTIONS_EXTENSION_VERSION will be filled by other input arguments and shouldn't be configured separately. AzureWebJobsStorage is filled based on storage_account_name and storage_account_access_key. FUNCTIONS_EXTENSION_VERSION is filled based on version.

    auth_settings FunctionAppAuthSettingsArgs
    A auth_settings block as defined below.
    client_cert_mode str
    The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required and Optional.
    connection_strings Sequence[FunctionAppConnectionStringArgs]
    An connection_string block as defined below.
    daily_memory_time_quota int
    The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
    enable_builtin_logging bool
    Should the built-in logging of this Function App be enabled? Defaults to true.
    enabled bool
    Is the Function App enabled? Defaults to true.
    https_only bool
    Can the Function App only be accessed via HTTPS? Defaults to false.
    identity FunctionAppIdentityArgs
    An identity block as defined below.
    key_vault_reference_identity_id str
    The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See Access vaults with a user-assigned identity for more information.
    location str
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name str
    Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule.
    os_type str

    A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "".

    NOTE: This value will be linux for Linux derivatives, or an empty string for Windows (default). When set to linux you must also set azure.appservice.Plan arguments as kind = "Linux" and reserved = true

    site_config FunctionAppSiteConfigArgs
    A site_config object as defined below.
    source_control FunctionAppSourceControlArgs
    A source_control block, as defined below.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    version str
    The runtime version associated with the Function App. Defaults to ~1.
    appServicePlanId String
    The ID of the App Service Plan within which to create this Function App.
    resourceGroupName String
    The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
    storageAccountAccessKey String

    The access key which will be used to access the backend storage account for the Function App.

    Note: When integrating a CI/CD pipeline and expecting to run from a deployed package in Azure you must seed your app settings as part of the application code for function app to be successfully deployed. Important Default key pairs: ("WEBSITE_RUN_FROM_PACKAGE" = "", "FUNCTIONS_WORKER_RUNTIME" = "node" (or python, etc), "WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY" = "").

    Note: When using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    storageAccountName String
    The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
    appSettings Map<String>

    A map of key-value pairs for App Settings and custom values.

    NOTE: The values for AzureWebJobsStorage and FUNCTIONS_EXTENSION_VERSION will be filled by other input arguments and shouldn't be configured separately. AzureWebJobsStorage is filled based on storage_account_name and storage_account_access_key. FUNCTIONS_EXTENSION_VERSION is filled based on version.

    authSettings Property Map
    A auth_settings block as defined below.
    clientCertMode String
    The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required and Optional.
    connectionStrings List<Property Map>
    An connection_string block as defined below.
    dailyMemoryTimeQuota Number
    The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
    enableBuiltinLogging Boolean
    Should the built-in logging of this Function App be enabled? Defaults to true.
    enabled Boolean
    Is the Function App enabled? Defaults to true.
    httpsOnly Boolean
    Can the Function App only be accessed via HTTPS? Defaults to false.
    identity Property Map
    An identity block as defined below.
    keyVaultReferenceIdentityId String
    The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See Access vaults with a user-assigned identity for more information.
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule.
    osType String

    A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "".

    NOTE: This value will be linux for Linux derivatives, or an empty string for Windows (default). When set to linux you must also set azure.appservice.Plan arguments as kind = "Linux" and reserved = true

    siteConfig Property Map
    A site_config object as defined below.
    sourceControl Property Map
    A source_control block, as defined below.
    tags Map<String>
    A mapping of tags to assign to the resource.
    version String
    The runtime version associated with the Function App. Defaults to ~1.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the FunctionApp resource produces the following output properties:

    CustomDomainVerificationId string
    An identifier used by App Service to perform domain ownership verification via DNS TXT record.
    DefaultHostname string
    The default hostname associated with the Function App - such as mysite.azurewebsites.net
    Id string
    The provider-assigned unique ID for this managed resource.
    Kind string
    The Function App kind - such as functionapp,linux,container
    OutboundIpAddresses string
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12
    PossibleOutboundIpAddresses string
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.
    SiteCredentials List<FunctionAppSiteCredential>
    A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service.
    CustomDomainVerificationId string
    An identifier used by App Service to perform domain ownership verification via DNS TXT record.
    DefaultHostname string
    The default hostname associated with the Function App - such as mysite.azurewebsites.net
    Id string
    The provider-assigned unique ID for this managed resource.
    Kind string
    The Function App kind - such as functionapp,linux,container
    OutboundIpAddresses string
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12
    PossibleOutboundIpAddresses string
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.
    SiteCredentials []FunctionAppSiteCredential
    A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service.
    customDomainVerificationId String
    An identifier used by App Service to perform domain ownership verification via DNS TXT record.
    defaultHostname String
    The default hostname associated with the Function App - such as mysite.azurewebsites.net
    id String
    The provider-assigned unique ID for this managed resource.
    kind String
    The Function App kind - such as functionapp,linux,container
    outboundIpAddresses String
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12
    possibleOutboundIpAddresses String
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.
    siteCredentials List<FunctionAppSiteCredential>
    A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service.
    customDomainVerificationId string
    An identifier used by App Service to perform domain ownership verification via DNS TXT record.
    defaultHostname string
    The default hostname associated with the Function App - such as mysite.azurewebsites.net
    id string
    The provider-assigned unique ID for this managed resource.
    kind string
    The Function App kind - such as functionapp,linux,container
    outboundIpAddresses string
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12
    possibleOutboundIpAddresses string
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.
    siteCredentials FunctionAppSiteCredential[]
    A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service.
    custom_domain_verification_id str
    An identifier used by App Service to perform domain ownership verification via DNS TXT record.
    default_hostname str
    The default hostname associated with the Function App - such as mysite.azurewebsites.net
    id str
    The provider-assigned unique ID for this managed resource.
    kind str
    The Function App kind - such as functionapp,linux,container
    outbound_ip_addresses str
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12
    possible_outbound_ip_addresses str
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.
    site_credentials Sequence[FunctionAppSiteCredential]
    A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service.
    customDomainVerificationId String
    An identifier used by App Service to perform domain ownership verification via DNS TXT record.
    defaultHostname String
    The default hostname associated with the Function App - such as mysite.azurewebsites.net
    id String
    The provider-assigned unique ID for this managed resource.
    kind String
    The Function App kind - such as functionapp,linux,container
    outboundIpAddresses String
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12
    possibleOutboundIpAddresses String
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.
    siteCredentials List<Property Map>
    A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service.

    Look up Existing FunctionApp Resource

    Get an existing FunctionApp resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: FunctionAppState, opts?: CustomResourceOptions): FunctionApp
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            app_service_plan_id: Optional[str] = None,
            app_settings: Optional[Mapping[str, str]] = None,
            auth_settings: Optional[FunctionAppAuthSettingsArgs] = None,
            client_cert_mode: Optional[str] = None,
            connection_strings: Optional[Sequence[FunctionAppConnectionStringArgs]] = None,
            custom_domain_verification_id: Optional[str] = None,
            daily_memory_time_quota: Optional[int] = None,
            default_hostname: Optional[str] = None,
            enable_builtin_logging: Optional[bool] = None,
            enabled: Optional[bool] = None,
            https_only: Optional[bool] = None,
            identity: Optional[FunctionAppIdentityArgs] = None,
            key_vault_reference_identity_id: Optional[str] = None,
            kind: Optional[str] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            os_type: Optional[str] = None,
            outbound_ip_addresses: Optional[str] = None,
            possible_outbound_ip_addresses: Optional[str] = None,
            resource_group_name: Optional[str] = None,
            site_config: Optional[FunctionAppSiteConfigArgs] = None,
            site_credentials: Optional[Sequence[FunctionAppSiteCredentialArgs]] = None,
            source_control: Optional[FunctionAppSourceControlArgs] = None,
            storage_account_access_key: Optional[str] = None,
            storage_account_name: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            version: Optional[str] = None) -> FunctionApp
    func GetFunctionApp(ctx *Context, name string, id IDInput, state *FunctionAppState, opts ...ResourceOption) (*FunctionApp, error)
    public static FunctionApp Get(string name, Input<string> id, FunctionAppState? state, CustomResourceOptions? opts = null)
    public static FunctionApp get(String name, Output<String> id, FunctionAppState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AppServicePlanId string
    The ID of the App Service Plan within which to create this Function App.
    AppSettings Dictionary<string, string>

    A map of key-value pairs for App Settings and custom values.

    NOTE: The values for AzureWebJobsStorage and FUNCTIONS_EXTENSION_VERSION will be filled by other input arguments and shouldn't be configured separately. AzureWebJobsStorage is filled based on storage_account_name and storage_account_access_key. FUNCTIONS_EXTENSION_VERSION is filled based on version.

    AuthSettings FunctionAppAuthSettings
    A auth_settings block as defined below.
    ClientCertMode string
    The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required and Optional.
    ConnectionStrings List<FunctionAppConnectionString>
    An connection_string block as defined below.
    CustomDomainVerificationId string
    An identifier used by App Service to perform domain ownership verification via DNS TXT record.
    DailyMemoryTimeQuota int
    The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
    DefaultHostname string
    The default hostname associated with the Function App - such as mysite.azurewebsites.net
    EnableBuiltinLogging bool
    Should the built-in logging of this Function App be enabled? Defaults to true.
    Enabled bool
    Is the Function App enabled? Defaults to true.
    HttpsOnly bool
    Can the Function App only be accessed via HTTPS? Defaults to false.
    Identity FunctionAppIdentity
    An identity block as defined below.
    KeyVaultReferenceIdentityId string
    The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See Access vaults with a user-assigned identity for more information.
    Kind string
    The Function App kind - such as functionapp,linux,container
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule.
    OsType string

    A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "".

    NOTE: This value will be linux for Linux derivatives, or an empty string for Windows (default). When set to linux you must also set azure.appservice.Plan arguments as kind = "Linux" and reserved = true

    OutboundIpAddresses string
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12
    PossibleOutboundIpAddresses string
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.
    ResourceGroupName string
    The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
    SiteConfig FunctionAppSiteConfig
    A site_config object as defined below.
    SiteCredentials List<FunctionAppSiteCredential>
    A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service.
    SourceControl FunctionAppSourceControl
    A source_control block, as defined below.
    StorageAccountAccessKey string

    The access key which will be used to access the backend storage account for the Function App.

    Note: When integrating a CI/CD pipeline and expecting to run from a deployed package in Azure you must seed your app settings as part of the application code for function app to be successfully deployed. Important Default key pairs: ("WEBSITE_RUN_FROM_PACKAGE" = "", "FUNCTIONS_WORKER_RUNTIME" = "node" (or python, etc), "WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY" = "").

    Note: When using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    StorageAccountName string
    The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    Version string
    The runtime version associated with the Function App. Defaults to ~1.
    AppServicePlanId string
    The ID of the App Service Plan within which to create this Function App.
    AppSettings map[string]string

    A map of key-value pairs for App Settings and custom values.

    NOTE: The values for AzureWebJobsStorage and FUNCTIONS_EXTENSION_VERSION will be filled by other input arguments and shouldn't be configured separately. AzureWebJobsStorage is filled based on storage_account_name and storage_account_access_key. FUNCTIONS_EXTENSION_VERSION is filled based on version.

    AuthSettings FunctionAppAuthSettingsArgs
    A auth_settings block as defined below.
    ClientCertMode string
    The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required and Optional.
    ConnectionStrings []FunctionAppConnectionStringArgs
    An connection_string block as defined below.
    CustomDomainVerificationId string
    An identifier used by App Service to perform domain ownership verification via DNS TXT record.
    DailyMemoryTimeQuota int
    The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
    DefaultHostname string
    The default hostname associated with the Function App - such as mysite.azurewebsites.net
    EnableBuiltinLogging bool
    Should the built-in logging of this Function App be enabled? Defaults to true.
    Enabled bool
    Is the Function App enabled? Defaults to true.
    HttpsOnly bool
    Can the Function App only be accessed via HTTPS? Defaults to false.
    Identity FunctionAppIdentityArgs
    An identity block as defined below.
    KeyVaultReferenceIdentityId string
    The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See Access vaults with a user-assigned identity for more information.
    Kind string
    The Function App kind - such as functionapp,linux,container
    Location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    Name string
    Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule.
    OsType string

    A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "".

    NOTE: This value will be linux for Linux derivatives, or an empty string for Windows (default). When set to linux you must also set azure.appservice.Plan arguments as kind = "Linux" and reserved = true

    OutboundIpAddresses string
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12
    PossibleOutboundIpAddresses string
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.
    ResourceGroupName string
    The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
    SiteConfig FunctionAppSiteConfigArgs
    A site_config object as defined below.
    SiteCredentials []FunctionAppSiteCredentialArgs
    A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service.
    SourceControl FunctionAppSourceControlArgs
    A source_control block, as defined below.
    StorageAccountAccessKey string

    The access key which will be used to access the backend storage account for the Function App.

    Note: When integrating a CI/CD pipeline and expecting to run from a deployed package in Azure you must seed your app settings as part of the application code for function app to be successfully deployed. Important Default key pairs: ("WEBSITE_RUN_FROM_PACKAGE" = "", "FUNCTIONS_WORKER_RUNTIME" = "node" (or python, etc), "WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY" = "").

    Note: When using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    StorageAccountName string
    The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    Version string
    The runtime version associated with the Function App. Defaults to ~1.
    appServicePlanId String
    The ID of the App Service Plan within which to create this Function App.
    appSettings Map<String,String>

    A map of key-value pairs for App Settings and custom values.

    NOTE: The values for AzureWebJobsStorage and FUNCTIONS_EXTENSION_VERSION will be filled by other input arguments and shouldn't be configured separately. AzureWebJobsStorage is filled based on storage_account_name and storage_account_access_key. FUNCTIONS_EXTENSION_VERSION is filled based on version.

    authSettings FunctionAppAuthSettings
    A auth_settings block as defined below.
    clientCertMode String
    The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required and Optional.
    connectionStrings List<FunctionAppConnectionString>
    An connection_string block as defined below.
    customDomainVerificationId String
    An identifier used by App Service to perform domain ownership verification via DNS TXT record.
    dailyMemoryTimeQuota Integer
    The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
    defaultHostname String
    The default hostname associated with the Function App - such as mysite.azurewebsites.net
    enableBuiltinLogging Boolean
    Should the built-in logging of this Function App be enabled? Defaults to true.
    enabled Boolean
    Is the Function App enabled? Defaults to true.
    httpsOnly Boolean
    Can the Function App only be accessed via HTTPS? Defaults to false.
    identity FunctionAppIdentity
    An identity block as defined below.
    keyVaultReferenceIdentityId String
    The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See Access vaults with a user-assigned identity for more information.
    kind String
    The Function App kind - such as functionapp,linux,container
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule.
    osType String

    A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "".

    NOTE: This value will be linux for Linux derivatives, or an empty string for Windows (default). When set to linux you must also set azure.appservice.Plan arguments as kind = "Linux" and reserved = true

    outboundIpAddresses String
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12
    possibleOutboundIpAddresses String
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.
    resourceGroupName String
    The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
    siteConfig FunctionAppSiteConfig
    A site_config object as defined below.
    siteCredentials List<FunctionAppSiteCredential>
    A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service.
    sourceControl FunctionAppSourceControl
    A source_control block, as defined below.
    storageAccountAccessKey String

    The access key which will be used to access the backend storage account for the Function App.

    Note: When integrating a CI/CD pipeline and expecting to run from a deployed package in Azure you must seed your app settings as part of the application code for function app to be successfully deployed. Important Default key pairs: ("WEBSITE_RUN_FROM_PACKAGE" = "", "FUNCTIONS_WORKER_RUNTIME" = "node" (or python, etc), "WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY" = "").

    Note: When using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    storageAccountName String
    The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    version String
    The runtime version associated with the Function App. Defaults to ~1.
    appServicePlanId string
    The ID of the App Service Plan within which to create this Function App.
    appSettings {[key: string]: string}

    A map of key-value pairs for App Settings and custom values.

    NOTE: The values for AzureWebJobsStorage and FUNCTIONS_EXTENSION_VERSION will be filled by other input arguments and shouldn't be configured separately. AzureWebJobsStorage is filled based on storage_account_name and storage_account_access_key. FUNCTIONS_EXTENSION_VERSION is filled based on version.

    authSettings FunctionAppAuthSettings
    A auth_settings block as defined below.
    clientCertMode string
    The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required and Optional.
    connectionStrings FunctionAppConnectionString[]
    An connection_string block as defined below.
    customDomainVerificationId string
    An identifier used by App Service to perform domain ownership verification via DNS TXT record.
    dailyMemoryTimeQuota number
    The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
    defaultHostname string
    The default hostname associated with the Function App - such as mysite.azurewebsites.net
    enableBuiltinLogging boolean
    Should the built-in logging of this Function App be enabled? Defaults to true.
    enabled boolean
    Is the Function App enabled? Defaults to true.
    httpsOnly boolean
    Can the Function App only be accessed via HTTPS? Defaults to false.
    identity FunctionAppIdentity
    An identity block as defined below.
    keyVaultReferenceIdentityId string
    The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See Access vaults with a user-assigned identity for more information.
    kind string
    The Function App kind - such as functionapp,linux,container
    location string
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name string
    Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule.
    osType string

    A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "".

    NOTE: This value will be linux for Linux derivatives, or an empty string for Windows (default). When set to linux you must also set azure.appservice.Plan arguments as kind = "Linux" and reserved = true

    outboundIpAddresses string
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12
    possibleOutboundIpAddresses string
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.
    resourceGroupName string
    The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
    siteConfig FunctionAppSiteConfig
    A site_config object as defined below.
    siteCredentials FunctionAppSiteCredential[]
    A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service.
    sourceControl FunctionAppSourceControl
    A source_control block, as defined below.
    storageAccountAccessKey string

    The access key which will be used to access the backend storage account for the Function App.

    Note: When integrating a CI/CD pipeline and expecting to run from a deployed package in Azure you must seed your app settings as part of the application code for function app to be successfully deployed. Important Default key pairs: ("WEBSITE_RUN_FROM_PACKAGE" = "", "FUNCTIONS_WORKER_RUNTIME" = "node" (or python, etc), "WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY" = "").

    Note: When using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    storageAccountName string
    The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    version string
    The runtime version associated with the Function App. Defaults to ~1.
    app_service_plan_id str
    The ID of the App Service Plan within which to create this Function App.
    app_settings Mapping[str, str]

    A map of key-value pairs for App Settings and custom values.

    NOTE: The values for AzureWebJobsStorage and FUNCTIONS_EXTENSION_VERSION will be filled by other input arguments and shouldn't be configured separately. AzureWebJobsStorage is filled based on storage_account_name and storage_account_access_key. FUNCTIONS_EXTENSION_VERSION is filled based on version.

    auth_settings FunctionAppAuthSettingsArgs
    A auth_settings block as defined below.
    client_cert_mode str
    The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required and Optional.
    connection_strings Sequence[FunctionAppConnectionStringArgs]
    An connection_string block as defined below.
    custom_domain_verification_id str
    An identifier used by App Service to perform domain ownership verification via DNS TXT record.
    daily_memory_time_quota int
    The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
    default_hostname str
    The default hostname associated with the Function App - such as mysite.azurewebsites.net
    enable_builtin_logging bool
    Should the built-in logging of this Function App be enabled? Defaults to true.
    enabled bool
    Is the Function App enabled? Defaults to true.
    https_only bool
    Can the Function App only be accessed via HTTPS? Defaults to false.
    identity FunctionAppIdentityArgs
    An identity block as defined below.
    key_vault_reference_identity_id str
    The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See Access vaults with a user-assigned identity for more information.
    kind str
    The Function App kind - such as functionapp,linux,container
    location str
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name str
    Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule.
    os_type str

    A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "".

    NOTE: This value will be linux for Linux derivatives, or an empty string for Windows (default). When set to linux you must also set azure.appservice.Plan arguments as kind = "Linux" and reserved = true

    outbound_ip_addresses str
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12
    possible_outbound_ip_addresses str
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.
    resource_group_name str
    The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
    site_config FunctionAppSiteConfigArgs
    A site_config object as defined below.
    site_credentials Sequence[FunctionAppSiteCredentialArgs]
    A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service.
    source_control FunctionAppSourceControlArgs
    A source_control block, as defined below.
    storage_account_access_key str

    The access key which will be used to access the backend storage account for the Function App.

    Note: When integrating a CI/CD pipeline and expecting to run from a deployed package in Azure you must seed your app settings as part of the application code for function app to be successfully deployed. Important Default key pairs: ("WEBSITE_RUN_FROM_PACKAGE" = "", "FUNCTIONS_WORKER_RUNTIME" = "node" (or python, etc), "WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY" = "").

    Note: When using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    storage_account_name str
    The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    version str
    The runtime version associated with the Function App. Defaults to ~1.
    appServicePlanId String
    The ID of the App Service Plan within which to create this Function App.
    appSettings Map<String>

    A map of key-value pairs for App Settings and custom values.

    NOTE: The values for AzureWebJobsStorage and FUNCTIONS_EXTENSION_VERSION will be filled by other input arguments and shouldn't be configured separately. AzureWebJobsStorage is filled based on storage_account_name and storage_account_access_key. FUNCTIONS_EXTENSION_VERSION is filled based on version.

    authSettings Property Map
    A auth_settings block as defined below.
    clientCertMode String
    The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required and Optional.
    connectionStrings List<Property Map>
    An connection_string block as defined below.
    customDomainVerificationId String
    An identifier used by App Service to perform domain ownership verification via DNS TXT record.
    dailyMemoryTimeQuota Number
    The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan.
    defaultHostname String
    The default hostname associated with the Function App - such as mysite.azurewebsites.net
    enableBuiltinLogging Boolean
    Should the built-in logging of this Function App be enabled? Defaults to true.
    enabled Boolean
    Is the Function App enabled? Defaults to true.
    httpsOnly Boolean
    Can the Function App only be accessed via HTTPS? Defaults to false.
    identity Property Map
    An identity block as defined below.
    keyVaultReferenceIdentityId String
    The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See Access vaults with a user-assigned identity for more information.
    kind String
    The Function App kind - such as functionapp,linux,container
    location String
    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
    name String
    Specifies the name of the Function App. Changing this forces a new resource to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule.
    osType String

    A string indicating the Operating System type for this function app. Possible values are linux and ``(empty string). Changing this forces a new resource to be created. Defaults to "".

    NOTE: This value will be linux for Linux derivatives, or an empty string for Windows (default). When set to linux you must also set azure.appservice.Plan arguments as kind = "Linux" and reserved = true

    outboundIpAddresses String
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12
    possibleOutboundIpAddresses String
    A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.
    resourceGroupName String
    The name of the resource group in which to create the Function App. Changing this forces a new resource to be created.
    siteConfig Property Map
    A site_config object as defined below.
    siteCredentials List<Property Map>
    A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service.
    sourceControl Property Map
    A source_control block, as defined below.
    storageAccountAccessKey String

    The access key which will be used to access the backend storage account for the Function App.

    Note: When integrating a CI/CD pipeline and expecting to run from a deployed package in Azure you must seed your app settings as part of the application code for function app to be successfully deployed. Important Default key pairs: ("WEBSITE_RUN_FROM_PACKAGE" = "", "FUNCTIONS_WORKER_RUNTIME" = "node" (or python, etc), "WEBSITE_NODE_DEFAULT_VERSION" = "10.14.1", "APPINSIGHTS_INSTRUMENTATIONKEY" = "").

    Note: When using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    storageAccountName String
    The backend storage account name which will be used by this Function App (such as the dashboard, logs). Changing this forces a new resource to be created.
    tags Map<String>
    A mapping of tags to assign to the resource.
    version String
    The runtime version associated with the Function App. Defaults to ~1.

    Supporting Types

    FunctionAppAuthSettings, FunctionAppAuthSettingsArgs

    Enabled bool
    Is Authentication enabled?
    ActiveDirectory FunctionAppAuthSettingsActiveDirectory
    A active_directory block as defined below.
    AdditionalLoginParams Dictionary<string, string>
    Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".
    AllowedExternalRedirectUrls List<string>
    External URLs that can be redirected to as part of logging in or logging out of the app.
    DefaultProvider string

    The default provider to use when multiple providers have been set up. Possible values are AzureActiveDirectory, Facebook, Google, MicrosoftAccount and Twitter.

    NOTE: When using multiple providers, the default provider must be set for settings like unauthenticated_client_action to work.

    Facebook FunctionAppAuthSettingsFacebook
    A facebook block as defined below.
    Google FunctionAppAuthSettingsGoogle
    A google block as defined below.
    Issuer string
    Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
    Microsoft FunctionAppAuthSettingsMicrosoft
    A microsoft block as defined below.
    RuntimeVersion string
    The runtime version of the Authentication/Authorization module.
    TokenRefreshExtensionHours double
    The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to 72.
    TokenStoreEnabled bool
    If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to false.
    Twitter FunctionAppAuthSettingsTwitter
    A twitter block as defined below.
    UnauthenticatedClientAction string
    The action to take when an unauthenticated client attempts to access the app. Possible values are AllowAnonymous and RedirectToLoginPage.
    Enabled bool
    Is Authentication enabled?
    ActiveDirectory FunctionAppAuthSettingsActiveDirectory
    A active_directory block as defined below.
    AdditionalLoginParams map[string]string
    Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".
    AllowedExternalRedirectUrls []string
    External URLs that can be redirected to as part of logging in or logging out of the app.
    DefaultProvider string

    The default provider to use when multiple providers have been set up. Possible values are AzureActiveDirectory, Facebook, Google, MicrosoftAccount and Twitter.

    NOTE: When using multiple providers, the default provider must be set for settings like unauthenticated_client_action to work.

    Facebook FunctionAppAuthSettingsFacebook
    A facebook block as defined below.
    Google FunctionAppAuthSettingsGoogle
    A google block as defined below.
    Issuer string
    Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
    Microsoft FunctionAppAuthSettingsMicrosoft
    A microsoft block as defined below.
    RuntimeVersion string
    The runtime version of the Authentication/Authorization module.
    TokenRefreshExtensionHours float64
    The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to 72.
    TokenStoreEnabled bool
    If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to false.
    Twitter FunctionAppAuthSettingsTwitter
    A twitter block as defined below.
    UnauthenticatedClientAction string
    The action to take when an unauthenticated client attempts to access the app. Possible values are AllowAnonymous and RedirectToLoginPage.
    enabled Boolean
    Is Authentication enabled?
    activeDirectory FunctionAppAuthSettingsActiveDirectory
    A active_directory block as defined below.
    additionalLoginParams Map<String,String>
    Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".
    allowedExternalRedirectUrls List<String>
    External URLs that can be redirected to as part of logging in or logging out of the app.
    defaultProvider String

    The default provider to use when multiple providers have been set up. Possible values are AzureActiveDirectory, Facebook, Google, MicrosoftAccount and Twitter.

    NOTE: When using multiple providers, the default provider must be set for settings like unauthenticated_client_action to work.

    facebook FunctionAppAuthSettingsFacebook
    A facebook block as defined below.
    google FunctionAppAuthSettingsGoogle
    A google block as defined below.
    issuer String
    Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
    microsoft FunctionAppAuthSettingsMicrosoft
    A microsoft block as defined below.
    runtimeVersion String
    The runtime version of the Authentication/Authorization module.
    tokenRefreshExtensionHours Double
    The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to 72.
    tokenStoreEnabled Boolean
    If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to false.
    twitter FunctionAppAuthSettingsTwitter
    A twitter block as defined below.
    unauthenticatedClientAction String
    The action to take when an unauthenticated client attempts to access the app. Possible values are AllowAnonymous and RedirectToLoginPage.
    enabled boolean
    Is Authentication enabled?
    activeDirectory FunctionAppAuthSettingsActiveDirectory
    A active_directory block as defined below.
    additionalLoginParams {[key: string]: string}
    Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".
    allowedExternalRedirectUrls string[]
    External URLs that can be redirected to as part of logging in or logging out of the app.
    defaultProvider string

    The default provider to use when multiple providers have been set up. Possible values are AzureActiveDirectory, Facebook, Google, MicrosoftAccount and Twitter.

    NOTE: When using multiple providers, the default provider must be set for settings like unauthenticated_client_action to work.

    facebook FunctionAppAuthSettingsFacebook
    A facebook block as defined below.
    google FunctionAppAuthSettingsGoogle
    A google block as defined below.
    issuer string
    Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
    microsoft FunctionAppAuthSettingsMicrosoft
    A microsoft block as defined below.
    runtimeVersion string
    The runtime version of the Authentication/Authorization module.
    tokenRefreshExtensionHours number
    The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to 72.
    tokenStoreEnabled boolean
    If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to false.
    twitter FunctionAppAuthSettingsTwitter
    A twitter block as defined below.
    unauthenticatedClientAction string
    The action to take when an unauthenticated client attempts to access the app. Possible values are AllowAnonymous and RedirectToLoginPage.
    enabled bool
    Is Authentication enabled?
    active_directory FunctionAppAuthSettingsActiveDirectory
    A active_directory block as defined below.
    additional_login_params Mapping[str, str]
    Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".
    allowed_external_redirect_urls Sequence[str]
    External URLs that can be redirected to as part of logging in or logging out of the app.
    default_provider str

    The default provider to use when multiple providers have been set up. Possible values are AzureActiveDirectory, Facebook, Google, MicrosoftAccount and Twitter.

    NOTE: When using multiple providers, the default provider must be set for settings like unauthenticated_client_action to work.

    facebook FunctionAppAuthSettingsFacebook
    A facebook block as defined below.
    google FunctionAppAuthSettingsGoogle
    A google block as defined below.
    issuer str
    Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
    microsoft FunctionAppAuthSettingsMicrosoft
    A microsoft block as defined below.
    runtime_version str
    The runtime version of the Authentication/Authorization module.
    token_refresh_extension_hours float
    The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to 72.
    token_store_enabled bool
    If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to false.
    twitter FunctionAppAuthSettingsTwitter
    A twitter block as defined below.
    unauthenticated_client_action str
    The action to take when an unauthenticated client attempts to access the app. Possible values are AllowAnonymous and RedirectToLoginPage.
    enabled Boolean
    Is Authentication enabled?
    activeDirectory Property Map
    A active_directory block as defined below.
    additionalLoginParams Map<String>
    Login parameters to send to the OpenID Connect authorization endpoint when a user logs in. Each parameter must be in the form "key=value".
    allowedExternalRedirectUrls List<String>
    External URLs that can be redirected to as part of logging in or logging out of the app.
    defaultProvider String

    The default provider to use when multiple providers have been set up. Possible values are AzureActiveDirectory, Facebook, Google, MicrosoftAccount and Twitter.

    NOTE: When using multiple providers, the default provider must be set for settings like unauthenticated_client_action to work.

    facebook Property Map
    A facebook block as defined below.
    google Property Map
    A google block as defined below.
    issuer String
    Issuer URI. When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/.
    microsoft Property Map
    A microsoft block as defined below.
    runtimeVersion String
    The runtime version of the Authentication/Authorization module.
    tokenRefreshExtensionHours Number
    The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to 72.
    tokenStoreEnabled Boolean
    If enabled the module will durably store platform-specific security tokens that are obtained during login flows. Defaults to false.
    twitter Property Map
    A twitter block as defined below.
    unauthenticatedClientAction String
    The action to take when an unauthenticated client attempts to access the app. Possible values are AllowAnonymous and RedirectToLoginPage.

    FunctionAppAuthSettingsActiveDirectory, FunctionAppAuthSettingsActiveDirectoryArgs

    ClientId string
    The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.
    AllowedAudiences List<string>
    Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
    ClientSecret string
    The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.
    ClientId string
    The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.
    AllowedAudiences []string
    Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
    ClientSecret string
    The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.
    clientId String
    The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.
    allowedAudiences List<String>
    Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
    clientSecret String
    The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.
    clientId string
    The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.
    allowedAudiences string[]
    Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
    clientSecret string
    The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.
    client_id str
    The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.
    allowed_audiences Sequence[str]
    Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
    client_secret str
    The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.
    clientId String
    The Client ID of this relying party application. Enables OpenIDConnection authentication with Azure Active Directory.
    allowedAudiences List<String>
    Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
    clientSecret String
    The Client Secret of this relying party application. If no secret is provided, implicit flow will be used.

    FunctionAppAuthSettingsFacebook, FunctionAppAuthSettingsFacebookArgs

    AppId string
    The App ID of the Facebook app used for login
    AppSecret string
    The App Secret of the Facebook app used for Facebook login.
    OauthScopes List<string>
    The OAuth 2.0 scopes that will be requested as part of Facebook login authentication. https://developers.facebook.com/docs/facebook-login
    AppId string
    The App ID of the Facebook app used for login
    AppSecret string
    The App Secret of the Facebook app used for Facebook login.
    OauthScopes []string
    The OAuth 2.0 scopes that will be requested as part of Facebook login authentication. https://developers.facebook.com/docs/facebook-login
    appId String
    The App ID of the Facebook app used for login
    appSecret String
    The App Secret of the Facebook app used for Facebook login.
    oauthScopes List<String>
    The OAuth 2.0 scopes that will be requested as part of Facebook login authentication. https://developers.facebook.com/docs/facebook-login
    appId string
    The App ID of the Facebook app used for login
    appSecret string
    The App Secret of the Facebook app used for Facebook login.
    oauthScopes string[]
    The OAuth 2.0 scopes that will be requested as part of Facebook login authentication. https://developers.facebook.com/docs/facebook-login
    app_id str
    The App ID of the Facebook app used for login
    app_secret str
    The App Secret of the Facebook app used for Facebook login.
    oauth_scopes Sequence[str]
    The OAuth 2.0 scopes that will be requested as part of Facebook login authentication. https://developers.facebook.com/docs/facebook-login
    appId String
    The App ID of the Facebook app used for login
    appSecret String
    The App Secret of the Facebook app used for Facebook login.
    oauthScopes List<String>
    The OAuth 2.0 scopes that will be requested as part of Facebook login authentication. https://developers.facebook.com/docs/facebook-login

    FunctionAppAuthSettingsGoogle, FunctionAppAuthSettingsGoogleArgs

    ClientId string
    The OpenID Connect Client ID for the Google web application.
    ClientSecret string
    The client secret associated with the Google web application.
    OauthScopes List<string>
    The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. https://developers.google.com/identity/sign-in/web/
    ClientId string
    The OpenID Connect Client ID for the Google web application.
    ClientSecret string
    The client secret associated with the Google web application.
    OauthScopes []string
    The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. https://developers.google.com/identity/sign-in/web/
    clientId String
    The OpenID Connect Client ID for the Google web application.
    clientSecret String
    The client secret associated with the Google web application.
    oauthScopes List<String>
    The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. https://developers.google.com/identity/sign-in/web/
    clientId string
    The OpenID Connect Client ID for the Google web application.
    clientSecret string
    The client secret associated with the Google web application.
    oauthScopes string[]
    The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. https://developers.google.com/identity/sign-in/web/
    client_id str
    The OpenID Connect Client ID for the Google web application.
    client_secret str
    The client secret associated with the Google web application.
    oauth_scopes Sequence[str]
    The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. https://developers.google.com/identity/sign-in/web/
    clientId String
    The OpenID Connect Client ID for the Google web application.
    clientSecret String
    The client secret associated with the Google web application.
    oauthScopes List<String>
    The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. https://developers.google.com/identity/sign-in/web/

    FunctionAppAuthSettingsMicrosoft, FunctionAppAuthSettingsMicrosoftArgs

    ClientId string
    The OAuth 2.0 client ID that was created for the app used for authentication.
    ClientSecret string
    The OAuth 2.0 client secret that was created for the app used for authentication.
    OauthScopes List<string>
    The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. https://msdn.microsoft.com/en-us/library/dn631845.aspx
    ClientId string
    The OAuth 2.0 client ID that was created for the app used for authentication.
    ClientSecret string
    The OAuth 2.0 client secret that was created for the app used for authentication.
    OauthScopes []string
    The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. https://msdn.microsoft.com/en-us/library/dn631845.aspx
    clientId String
    The OAuth 2.0 client ID that was created for the app used for authentication.
    clientSecret String
    The OAuth 2.0 client secret that was created for the app used for authentication.
    oauthScopes List<String>
    The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. https://msdn.microsoft.com/en-us/library/dn631845.aspx
    clientId string
    The OAuth 2.0 client ID that was created for the app used for authentication.
    clientSecret string
    The OAuth 2.0 client secret that was created for the app used for authentication.
    oauthScopes string[]
    The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. https://msdn.microsoft.com/en-us/library/dn631845.aspx
    client_id str
    The OAuth 2.0 client ID that was created for the app used for authentication.
    client_secret str
    The OAuth 2.0 client secret that was created for the app used for authentication.
    oauth_scopes Sequence[str]
    The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. https://msdn.microsoft.com/en-us/library/dn631845.aspx
    clientId String
    The OAuth 2.0 client ID that was created for the app used for authentication.
    clientSecret String
    The OAuth 2.0 client secret that was created for the app used for authentication.
    oauthScopes List<String>
    The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. https://msdn.microsoft.com/en-us/library/dn631845.aspx

    FunctionAppAuthSettingsTwitter, FunctionAppAuthSettingsTwitterArgs

    ConsumerKey string
    The OAuth 1.0a consumer key of the Twitter application used for sign-in.
    ConsumerSecret string
    The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
    ConsumerKey string
    The OAuth 1.0a consumer key of the Twitter application used for sign-in.
    ConsumerSecret string
    The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
    consumerKey String
    The OAuth 1.0a consumer key of the Twitter application used for sign-in.
    consumerSecret String
    The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
    consumerKey string
    The OAuth 1.0a consumer key of the Twitter application used for sign-in.
    consumerSecret string
    The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
    consumer_key str
    The OAuth 1.0a consumer key of the Twitter application used for sign-in.
    consumer_secret str
    The OAuth 1.0a consumer secret of the Twitter application used for sign-in.
    consumerKey String
    The OAuth 1.0a consumer key of the Twitter application used for sign-in.
    consumerSecret String
    The OAuth 1.0a consumer secret of the Twitter application used for sign-in.

    FunctionAppConnectionString, FunctionAppConnectionStringArgs

    Name string
    The name of the Connection String.
    Type string
    The type of the Connection String. Possible values are APIHub, Custom, DocDb, EventHub, MySQL, NotificationHub, PostgreSQL, RedisCache, ServiceBus, SQLAzure and SQLServer.
    Value string
    The value for the Connection String.
    Name string
    The name of the Connection String.
    Type string
    The type of the Connection String. Possible values are APIHub, Custom, DocDb, EventHub, MySQL, NotificationHub, PostgreSQL, RedisCache, ServiceBus, SQLAzure and SQLServer.
    Value string
    The value for the Connection String.
    name String
    The name of the Connection String.
    type String
    The type of the Connection String. Possible values are APIHub, Custom, DocDb, EventHub, MySQL, NotificationHub, PostgreSQL, RedisCache, ServiceBus, SQLAzure and SQLServer.
    value String
    The value for the Connection String.
    name string
    The name of the Connection String.
    type string
    The type of the Connection String. Possible values are APIHub, Custom, DocDb, EventHub, MySQL, NotificationHub, PostgreSQL, RedisCache, ServiceBus, SQLAzure and SQLServer.
    value string
    The value for the Connection String.
    name str
    The name of the Connection String.
    type str
    The type of the Connection String. Possible values are APIHub, Custom, DocDb, EventHub, MySQL, NotificationHub, PostgreSQL, RedisCache, ServiceBus, SQLAzure and SQLServer.
    value str
    The value for the Connection String.
    name String
    The name of the Connection String.
    type String
    The type of the Connection String. Possible values are APIHub, Custom, DocDb, EventHub, MySQL, NotificationHub, PostgreSQL, RedisCache, ServiceBus, SQLAzure and SQLServer.
    value String
    The value for the Connection String.

    FunctionAppIdentity, FunctionAppIdentityArgs

    Type string

    Specifies the identity type of the Function App. Possible values are SystemAssigned (where Azure will generate a Service Principal for you), UserAssigned where you can specify the Service Principal IDs in the identity_ids field, and SystemAssigned, UserAssigned which assigns both a system managed identity as well as the specified user assigned identities.

    NOTE: When type is set to SystemAssigned, The assigned principal_id and tenant_id can be retrieved after the Function App has been created. More details are available below.

    IdentityIds List<string>
    Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned.
    PrincipalId string
    The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service.
    TenantId string
    The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service.
    Type string

    Specifies the identity type of the Function App. Possible values are SystemAssigned (where Azure will generate a Service Principal for you), UserAssigned where you can specify the Service Principal IDs in the identity_ids field, and SystemAssigned, UserAssigned which assigns both a system managed identity as well as the specified user assigned identities.

    NOTE: When type is set to SystemAssigned, The assigned principal_id and tenant_id can be retrieved after the Function App has been created. More details are available below.

    IdentityIds []string
    Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned.
    PrincipalId string
    The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service.
    TenantId string
    The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service.
    type String

    Specifies the identity type of the Function App. Possible values are SystemAssigned (where Azure will generate a Service Principal for you), UserAssigned where you can specify the Service Principal IDs in the identity_ids field, and SystemAssigned, UserAssigned which assigns both a system managed identity as well as the specified user assigned identities.

    NOTE: When type is set to SystemAssigned, The assigned principal_id and tenant_id can be retrieved after the Function App has been created. More details are available below.

    identityIds List<String>
    Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned.
    principalId String
    The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service.
    tenantId String
    The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service.
    type string

    Specifies the identity type of the Function App. Possible values are SystemAssigned (where Azure will generate a Service Principal for you), UserAssigned where you can specify the Service Principal IDs in the identity_ids field, and SystemAssigned, UserAssigned which assigns both a system managed identity as well as the specified user assigned identities.

    NOTE: When type is set to SystemAssigned, The assigned principal_id and tenant_id can be retrieved after the Function App has been created. More details are available below.

    identityIds string[]
    Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned.
    principalId string
    The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service.
    tenantId string
    The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service.
    type str

    Specifies the identity type of the Function App. Possible values are SystemAssigned (where Azure will generate a Service Principal for you), UserAssigned where you can specify the Service Principal IDs in the identity_ids field, and SystemAssigned, UserAssigned which assigns both a system managed identity as well as the specified user assigned identities.

    NOTE: When type is set to SystemAssigned, The assigned principal_id and tenant_id can be retrieved after the Function App has been created. More details are available below.

    identity_ids Sequence[str]
    Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned.
    principal_id str
    The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service.
    tenant_id str
    The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service.
    type String

    Specifies the identity type of the Function App. Possible values are SystemAssigned (where Azure will generate a Service Principal for you), UserAssigned where you can specify the Service Principal IDs in the identity_ids field, and SystemAssigned, UserAssigned which assigns both a system managed identity as well as the specified user assigned identities.

    NOTE: When type is set to SystemAssigned, The assigned principal_id and tenant_id can be retrieved after the Function App has been created. More details are available below.

    identityIds List<String>
    Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned.
    principalId String
    The Principal ID for the Service Principal associated with the Managed Service Identity of this App Service.
    tenantId String
    The Tenant ID for the Service Principal associated with the Managed Service Identity of this App Service.

    FunctionAppSiteConfig, FunctionAppSiteConfigArgs

    AlwaysOn bool
    Should the Function App be loaded at all times? Defaults to false.
    AppScaleLimit int
    The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.
    AutoSwapSlotName string

    The name of the slot to automatically swap to during deployment

    NOTE: This attribute is only used for slots.

    Cors FunctionAppSiteConfigCors
    A cors block as defined below.
    DotnetFrameworkVersion string
    The version of the .NET framework's CLR used in this function app. Possible values are v4.0 (including .NET Core 2.1 and 3.1), v5.0 and v6.0. For more information on which .NET Framework version to use based on the runtime version you're targeting - please see this table. Defaults to v4.0.
    ElasticInstanceMinimum int
    The number of minimum instances for this function app. Only affects apps on the Premium plan.
    FtpsState string
    State of FTP / FTPS service for this function app. Possible values include: AllAllowed, FtpsOnly and Disabled. Defaults to AllAllowed.
    HealthCheckPath string
    Path which will be checked for this function app health.
    Http2Enabled bool
    Specifies whether or not the HTTP2 protocol should be enabled. Defaults to false.
    IpRestrictions List<FunctionAppSiteConfigIpRestriction>

    A list of ip_restriction objects representing IP restrictions as defined below.

    NOTE User has to explicitly set ip_restriction to empty slice ([]) to remove it.

    JavaVersion string
    Java version hosted by the function app in Azure. Possible values are 1.8, 11 & 17 (In-Preview).
    LinuxFxVersion string
    Linux App Framework and version for the AppService, e.g. DOCKER|(golang:latest).
    MinTlsVersion string
    The minimum supported TLS version for the function app. Possible values are 1.0, 1.1, and 1.2. Defaults to 1.2 for new function apps.
    PreWarmedInstanceCount int
    The number of pre-warmed instances for this function app. Only affects apps on the Premium plan.
    RuntimeScaleMonitoringEnabled bool
    Should Runtime Scale Monitoring be enabled?. Only applicable to apps on the Premium plan. Defaults to false.
    ScmIpRestrictions List<FunctionAppSiteConfigScmIpRestriction>

    A list of scm_ip_restriction objects representing IP restrictions as defined below.

    NOTE User has to explicitly set scm_ip_restriction to empty slice ([]) to remove it.

    ScmType string

    The type of Source Control used by the Function App. Valid values include: BitBucketGit, BitBucketHg, CodePlexGit, CodePlexHg, Dropbox, ExternalGit, ExternalHg, GitHub, LocalGit, None (default), OneDrive, Tfs, VSO, and VSTSRM.

    NOTE: This setting is incompatible with the source_control block which updates this value based on the setting provided.

    ScmUseMainIpRestriction bool

    IP security restrictions for scm to use main. Defaults to false.

    NOTE Any scm_ip_restriction blocks configured are ignored by the service when scm_use_main_ip_restriction is set to true. Any scm restrictions will become active if this is subsequently set to false or removed.

    Use32BitWorkerProcess bool

    Should the Function App run in 32 bit mode, rather than 64 bit mode? Defaults to true.

    Note: when using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    VnetRouteAllEnabled bool
    WebsocketsEnabled bool
    Should WebSockets be enabled?
    AlwaysOn bool
    Should the Function App be loaded at all times? Defaults to false.
    AppScaleLimit int
    The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.
    AutoSwapSlotName string

    The name of the slot to automatically swap to during deployment

    NOTE: This attribute is only used for slots.

    Cors FunctionAppSiteConfigCors
    A cors block as defined below.
    DotnetFrameworkVersion string
    The version of the .NET framework's CLR used in this function app. Possible values are v4.0 (including .NET Core 2.1 and 3.1), v5.0 and v6.0. For more information on which .NET Framework version to use based on the runtime version you're targeting - please see this table. Defaults to v4.0.
    ElasticInstanceMinimum int
    The number of minimum instances for this function app. Only affects apps on the Premium plan.
    FtpsState string
    State of FTP / FTPS service for this function app. Possible values include: AllAllowed, FtpsOnly and Disabled. Defaults to AllAllowed.
    HealthCheckPath string
    Path which will be checked for this function app health.
    Http2Enabled bool
    Specifies whether or not the HTTP2 protocol should be enabled. Defaults to false.
    IpRestrictions []FunctionAppSiteConfigIpRestriction

    A list of ip_restriction objects representing IP restrictions as defined below.

    NOTE User has to explicitly set ip_restriction to empty slice ([]) to remove it.

    JavaVersion string
    Java version hosted by the function app in Azure. Possible values are 1.8, 11 & 17 (In-Preview).
    LinuxFxVersion string
    Linux App Framework and version for the AppService, e.g. DOCKER|(golang:latest).
    MinTlsVersion string
    The minimum supported TLS version for the function app. Possible values are 1.0, 1.1, and 1.2. Defaults to 1.2 for new function apps.
    PreWarmedInstanceCount int
    The number of pre-warmed instances for this function app. Only affects apps on the Premium plan.
    RuntimeScaleMonitoringEnabled bool
    Should Runtime Scale Monitoring be enabled?. Only applicable to apps on the Premium plan. Defaults to false.
    ScmIpRestrictions []FunctionAppSiteConfigScmIpRestriction

    A list of scm_ip_restriction objects representing IP restrictions as defined below.

    NOTE User has to explicitly set scm_ip_restriction to empty slice ([]) to remove it.

    ScmType string

    The type of Source Control used by the Function App. Valid values include: BitBucketGit, BitBucketHg, CodePlexGit, CodePlexHg, Dropbox, ExternalGit, ExternalHg, GitHub, LocalGit, None (default), OneDrive, Tfs, VSO, and VSTSRM.

    NOTE: This setting is incompatible with the source_control block which updates this value based on the setting provided.

    ScmUseMainIpRestriction bool

    IP security restrictions for scm to use main. Defaults to false.

    NOTE Any scm_ip_restriction blocks configured are ignored by the service when scm_use_main_ip_restriction is set to true. Any scm restrictions will become active if this is subsequently set to false or removed.

    Use32BitWorkerProcess bool

    Should the Function App run in 32 bit mode, rather than 64 bit mode? Defaults to true.

    Note: when using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    VnetRouteAllEnabled bool
    WebsocketsEnabled bool
    Should WebSockets be enabled?
    alwaysOn Boolean
    Should the Function App be loaded at all times? Defaults to false.
    appScaleLimit Integer
    The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.
    autoSwapSlotName String

    The name of the slot to automatically swap to during deployment

    NOTE: This attribute is only used for slots.

    cors FunctionAppSiteConfigCors
    A cors block as defined below.
    dotnetFrameworkVersion String
    The version of the .NET framework's CLR used in this function app. Possible values are v4.0 (including .NET Core 2.1 and 3.1), v5.0 and v6.0. For more information on which .NET Framework version to use based on the runtime version you're targeting - please see this table. Defaults to v4.0.
    elasticInstanceMinimum Integer
    The number of minimum instances for this function app. Only affects apps on the Premium plan.
    ftpsState String
    State of FTP / FTPS service for this function app. Possible values include: AllAllowed, FtpsOnly and Disabled. Defaults to AllAllowed.
    healthCheckPath String
    Path which will be checked for this function app health.
    http2Enabled Boolean
    Specifies whether or not the HTTP2 protocol should be enabled. Defaults to false.
    ipRestrictions List<FunctionAppSiteConfigIpRestriction>

    A list of ip_restriction objects representing IP restrictions as defined below.

    NOTE User has to explicitly set ip_restriction to empty slice ([]) to remove it.

    javaVersion String
    Java version hosted by the function app in Azure. Possible values are 1.8, 11 & 17 (In-Preview).
    linuxFxVersion String
    Linux App Framework and version for the AppService, e.g. DOCKER|(golang:latest).
    minTlsVersion String
    The minimum supported TLS version for the function app. Possible values are 1.0, 1.1, and 1.2. Defaults to 1.2 for new function apps.
    preWarmedInstanceCount Integer
    The number of pre-warmed instances for this function app. Only affects apps on the Premium plan.
    runtimeScaleMonitoringEnabled Boolean
    Should Runtime Scale Monitoring be enabled?. Only applicable to apps on the Premium plan. Defaults to false.
    scmIpRestrictions List<FunctionAppSiteConfigScmIpRestriction>

    A list of scm_ip_restriction objects representing IP restrictions as defined below.

    NOTE User has to explicitly set scm_ip_restriction to empty slice ([]) to remove it.

    scmType String

    The type of Source Control used by the Function App. Valid values include: BitBucketGit, BitBucketHg, CodePlexGit, CodePlexHg, Dropbox, ExternalGit, ExternalHg, GitHub, LocalGit, None (default), OneDrive, Tfs, VSO, and VSTSRM.

    NOTE: This setting is incompatible with the source_control block which updates this value based on the setting provided.

    scmUseMainIpRestriction Boolean

    IP security restrictions for scm to use main. Defaults to false.

    NOTE Any scm_ip_restriction blocks configured are ignored by the service when scm_use_main_ip_restriction is set to true. Any scm restrictions will become active if this is subsequently set to false or removed.

    use32BitWorkerProcess Boolean

    Should the Function App run in 32 bit mode, rather than 64 bit mode? Defaults to true.

    Note: when using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    vnetRouteAllEnabled Boolean
    websocketsEnabled Boolean
    Should WebSockets be enabled?
    alwaysOn boolean
    Should the Function App be loaded at all times? Defaults to false.
    appScaleLimit number
    The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.
    autoSwapSlotName string

    The name of the slot to automatically swap to during deployment

    NOTE: This attribute is only used for slots.

    cors FunctionAppSiteConfigCors
    A cors block as defined below.
    dotnetFrameworkVersion string
    The version of the .NET framework's CLR used in this function app. Possible values are v4.0 (including .NET Core 2.1 and 3.1), v5.0 and v6.0. For more information on which .NET Framework version to use based on the runtime version you're targeting - please see this table. Defaults to v4.0.
    elasticInstanceMinimum number
    The number of minimum instances for this function app. Only affects apps on the Premium plan.
    ftpsState string
    State of FTP / FTPS service for this function app. Possible values include: AllAllowed, FtpsOnly and Disabled. Defaults to AllAllowed.
    healthCheckPath string
    Path which will be checked for this function app health.
    http2Enabled boolean
    Specifies whether or not the HTTP2 protocol should be enabled. Defaults to false.
    ipRestrictions FunctionAppSiteConfigIpRestriction[]

    A list of ip_restriction objects representing IP restrictions as defined below.

    NOTE User has to explicitly set ip_restriction to empty slice ([]) to remove it.

    javaVersion string
    Java version hosted by the function app in Azure. Possible values are 1.8, 11 & 17 (In-Preview).
    linuxFxVersion string
    Linux App Framework and version for the AppService, e.g. DOCKER|(golang:latest).
    minTlsVersion string
    The minimum supported TLS version for the function app. Possible values are 1.0, 1.1, and 1.2. Defaults to 1.2 for new function apps.
    preWarmedInstanceCount number
    The number of pre-warmed instances for this function app. Only affects apps on the Premium plan.
    runtimeScaleMonitoringEnabled boolean
    Should Runtime Scale Monitoring be enabled?. Only applicable to apps on the Premium plan. Defaults to false.
    scmIpRestrictions FunctionAppSiteConfigScmIpRestriction[]

    A list of scm_ip_restriction objects representing IP restrictions as defined below.

    NOTE User has to explicitly set scm_ip_restriction to empty slice ([]) to remove it.

    scmType string

    The type of Source Control used by the Function App. Valid values include: BitBucketGit, BitBucketHg, CodePlexGit, CodePlexHg, Dropbox, ExternalGit, ExternalHg, GitHub, LocalGit, None (default), OneDrive, Tfs, VSO, and VSTSRM.

    NOTE: This setting is incompatible with the source_control block which updates this value based on the setting provided.

    scmUseMainIpRestriction boolean

    IP security restrictions for scm to use main. Defaults to false.

    NOTE Any scm_ip_restriction blocks configured are ignored by the service when scm_use_main_ip_restriction is set to true. Any scm restrictions will become active if this is subsequently set to false or removed.

    use32BitWorkerProcess boolean

    Should the Function App run in 32 bit mode, rather than 64 bit mode? Defaults to true.

    Note: when using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    vnetRouteAllEnabled boolean
    websocketsEnabled boolean
    Should WebSockets be enabled?
    always_on bool
    Should the Function App be loaded at all times? Defaults to false.
    app_scale_limit int
    The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.
    auto_swap_slot_name str

    The name of the slot to automatically swap to during deployment

    NOTE: This attribute is only used for slots.

    cors FunctionAppSiteConfigCors
    A cors block as defined below.
    dotnet_framework_version str
    The version of the .NET framework's CLR used in this function app. Possible values are v4.0 (including .NET Core 2.1 and 3.1), v5.0 and v6.0. For more information on which .NET Framework version to use based on the runtime version you're targeting - please see this table. Defaults to v4.0.
    elastic_instance_minimum int
    The number of minimum instances for this function app. Only affects apps on the Premium plan.
    ftps_state str
    State of FTP / FTPS service for this function app. Possible values include: AllAllowed, FtpsOnly and Disabled. Defaults to AllAllowed.
    health_check_path str
    Path which will be checked for this function app health.
    http2_enabled bool
    Specifies whether or not the HTTP2 protocol should be enabled. Defaults to false.
    ip_restrictions Sequence[FunctionAppSiteConfigIpRestriction]

    A list of ip_restriction objects representing IP restrictions as defined below.

    NOTE User has to explicitly set ip_restriction to empty slice ([]) to remove it.

    java_version str
    Java version hosted by the function app in Azure. Possible values are 1.8, 11 & 17 (In-Preview).
    linux_fx_version str
    Linux App Framework and version for the AppService, e.g. DOCKER|(golang:latest).
    min_tls_version str
    The minimum supported TLS version for the function app. Possible values are 1.0, 1.1, and 1.2. Defaults to 1.2 for new function apps.
    pre_warmed_instance_count int
    The number of pre-warmed instances for this function app. Only affects apps on the Premium plan.
    runtime_scale_monitoring_enabled bool
    Should Runtime Scale Monitoring be enabled?. Only applicable to apps on the Premium plan. Defaults to false.
    scm_ip_restrictions Sequence[FunctionAppSiteConfigScmIpRestriction]

    A list of scm_ip_restriction objects representing IP restrictions as defined below.

    NOTE User has to explicitly set scm_ip_restriction to empty slice ([]) to remove it.

    scm_type str

    The type of Source Control used by the Function App. Valid values include: BitBucketGit, BitBucketHg, CodePlexGit, CodePlexHg, Dropbox, ExternalGit, ExternalHg, GitHub, LocalGit, None (default), OneDrive, Tfs, VSO, and VSTSRM.

    NOTE: This setting is incompatible with the source_control block which updates this value based on the setting provided.

    scm_use_main_ip_restriction bool

    IP security restrictions for scm to use main. Defaults to false.

    NOTE Any scm_ip_restriction blocks configured are ignored by the service when scm_use_main_ip_restriction is set to true. Any scm restrictions will become active if this is subsequently set to false or removed.

    use32_bit_worker_process bool

    Should the Function App run in 32 bit mode, rather than 64 bit mode? Defaults to true.

    Note: when using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    vnet_route_all_enabled bool
    websockets_enabled bool
    Should WebSockets be enabled?
    alwaysOn Boolean
    Should the Function App be loaded at all times? Defaults to false.
    appScaleLimit Number
    The number of workers this function app can scale out to. Only applicable to apps on the Consumption and Premium plan.
    autoSwapSlotName String

    The name of the slot to automatically swap to during deployment

    NOTE: This attribute is only used for slots.

    cors Property Map
    A cors block as defined below.
    dotnetFrameworkVersion String
    The version of the .NET framework's CLR used in this function app. Possible values are v4.0 (including .NET Core 2.1 and 3.1), v5.0 and v6.0. For more information on which .NET Framework version to use based on the runtime version you're targeting - please see this table. Defaults to v4.0.
    elasticInstanceMinimum Number
    The number of minimum instances for this function app. Only affects apps on the Premium plan.
    ftpsState String
    State of FTP / FTPS service for this function app. Possible values include: AllAllowed, FtpsOnly and Disabled. Defaults to AllAllowed.
    healthCheckPath String
    Path which will be checked for this function app health.
    http2Enabled Boolean
    Specifies whether or not the HTTP2 protocol should be enabled. Defaults to false.
    ipRestrictions List<Property Map>

    A list of ip_restriction objects representing IP restrictions as defined below.

    NOTE User has to explicitly set ip_restriction to empty slice ([]) to remove it.

    javaVersion String
    Java version hosted by the function app in Azure. Possible values are 1.8, 11 & 17 (In-Preview).
    linuxFxVersion String
    Linux App Framework and version for the AppService, e.g. DOCKER|(golang:latest).
    minTlsVersion String
    The minimum supported TLS version for the function app. Possible values are 1.0, 1.1, and 1.2. Defaults to 1.2 for new function apps.
    preWarmedInstanceCount Number
    The number of pre-warmed instances for this function app. Only affects apps on the Premium plan.
    runtimeScaleMonitoringEnabled Boolean
    Should Runtime Scale Monitoring be enabled?. Only applicable to apps on the Premium plan. Defaults to false.
    scmIpRestrictions List<Property Map>

    A list of scm_ip_restriction objects representing IP restrictions as defined below.

    NOTE User has to explicitly set scm_ip_restriction to empty slice ([]) to remove it.

    scmType String

    The type of Source Control used by the Function App. Valid values include: BitBucketGit, BitBucketHg, CodePlexGit, CodePlexHg, Dropbox, ExternalGit, ExternalHg, GitHub, LocalGit, None (default), OneDrive, Tfs, VSO, and VSTSRM.

    NOTE: This setting is incompatible with the source_control block which updates this value based on the setting provided.

    scmUseMainIpRestriction Boolean

    IP security restrictions for scm to use main. Defaults to false.

    NOTE Any scm_ip_restriction blocks configured are ignored by the service when scm_use_main_ip_restriction is set to true. Any scm restrictions will become active if this is subsequently set to false or removed.

    use32BitWorkerProcess Boolean

    Should the Function App run in 32 bit mode, rather than 64 bit mode? Defaults to true.

    Note: when using an App Service Plan in the Free or Shared Tiers use_32_bit_worker_process must be set to true.

    vnetRouteAllEnabled Boolean
    websocketsEnabled Boolean
    Should WebSockets be enabled?

    FunctionAppSiteConfigCors, FunctionAppSiteConfigCorsArgs

    AllowedOrigins List<string>
    A list of origins which should be able to make cross-origin calls. * can be used to allow all calls.
    SupportCredentials bool
    Are credentials supported?
    AllowedOrigins []string
    A list of origins which should be able to make cross-origin calls. * can be used to allow all calls.
    SupportCredentials bool
    Are credentials supported?
    allowedOrigins List<String>
    A list of origins which should be able to make cross-origin calls. * can be used to allow all calls.
    supportCredentials Boolean
    Are credentials supported?
    allowedOrigins string[]
    A list of origins which should be able to make cross-origin calls. * can be used to allow all calls.
    supportCredentials boolean
    Are credentials supported?
    allowed_origins Sequence[str]
    A list of origins which should be able to make cross-origin calls. * can be used to allow all calls.
    support_credentials bool
    Are credentials supported?
    allowedOrigins List<String>
    A list of origins which should be able to make cross-origin calls. * can be used to allow all calls.
    supportCredentials Boolean
    Are credentials supported?

    FunctionAppSiteConfigIpRestriction, FunctionAppSiteConfigIpRestrictionArgs

    Action string
    Does this restriction Allow or Deny access for this IP range. Defaults to Allow.
    Headers FunctionAppSiteConfigIpRestrictionHeaders
    The headers block for this specific ip_restriction as defined below.
    IpAddress string
    The IP Address used for this IP Restriction in CIDR notation.
    Name string
    The name for this IP Restriction.
    Priority int
    The priority for this IP Restriction. Restrictions are enforced in priority order. By default, the priority is set to 65000 if not specified.
    ServiceTag string
    The Service Tag used for this IP Restriction.
    VirtualNetworkSubnetId string

    The Virtual Network Subnet ID used for this IP Restriction.

    NOTE: One of either ip_address, service_tag or virtual_network_subnet_id must be specified

    Action string
    Does this restriction Allow or Deny access for this IP range. Defaults to Allow.
    Headers FunctionAppSiteConfigIpRestrictionHeaders
    The headers block for this specific ip_restriction as defined below.
    IpAddress string
    The IP Address used for this IP Restriction in CIDR notation.
    Name string
    The name for this IP Restriction.
    Priority int
    The priority for this IP Restriction. Restrictions are enforced in priority order. By default, the priority is set to 65000 if not specified.
    ServiceTag string
    The Service Tag used for this IP Restriction.
    VirtualNetworkSubnetId string

    The Virtual Network Subnet ID used for this IP Restriction.

    NOTE: One of either ip_address, service_tag or virtual_network_subnet_id must be specified

    action String
    Does this restriction Allow or Deny access for this IP range. Defaults to Allow.
    headers FunctionAppSiteConfigIpRestrictionHeaders
    The headers block for this specific ip_restriction as defined below.
    ipAddress String
    The IP Address used for this IP Restriction in CIDR notation.
    name String
    The name for this IP Restriction.
    priority Integer
    The priority for this IP Restriction. Restrictions are enforced in priority order. By default, the priority is set to 65000 if not specified.
    serviceTag String
    The Service Tag used for this IP Restriction.
    virtualNetworkSubnetId String

    The Virtual Network Subnet ID used for this IP Restriction.

    NOTE: One of either ip_address, service_tag or virtual_network_subnet_id must be specified

    action string
    Does this restriction Allow or Deny access for this IP range. Defaults to Allow.
    headers FunctionAppSiteConfigIpRestrictionHeaders
    The headers block for this specific ip_restriction as defined below.
    ipAddress string
    The IP Address used for this IP Restriction in CIDR notation.
    name string
    The name for this IP Restriction.
    priority number
    The priority for this IP Restriction. Restrictions are enforced in priority order. By default, the priority is set to 65000 if not specified.
    serviceTag string
    The Service Tag used for this IP Restriction.
    virtualNetworkSubnetId string

    The Virtual Network Subnet ID used for this IP Restriction.

    NOTE: One of either ip_address, service_tag or virtual_network_subnet_id must be specified

    action str
    Does this restriction Allow or Deny access for this IP range. Defaults to Allow.
    headers FunctionAppSiteConfigIpRestrictionHeaders
    The headers block for this specific ip_restriction as defined below.
    ip_address str
    The IP Address used for this IP Restriction in CIDR notation.
    name str
    The name for this IP Restriction.
    priority int
    The priority for this IP Restriction. Restrictions are enforced in priority order. By default, the priority is set to 65000 if not specified.
    service_tag str
    The Service Tag used for this IP Restriction.
    virtual_network_subnet_id str

    The Virtual Network Subnet ID used for this IP Restriction.

    NOTE: One of either ip_address, service_tag or virtual_network_subnet_id must be specified

    action String
    Does this restriction Allow or Deny access for this IP range. Defaults to Allow.
    headers Property Map
    The headers block for this specific ip_restriction as defined below.
    ipAddress String
    The IP Address used for this IP Restriction in CIDR notation.
    name String
    The name for this IP Restriction.
    priority Number
    The priority for this IP Restriction. Restrictions are enforced in priority order. By default, the priority is set to 65000 if not specified.
    serviceTag String
    The Service Tag used for this IP Restriction.
    virtualNetworkSubnetId String

    The Virtual Network Subnet ID used for this IP Restriction.

    NOTE: One of either ip_address, service_tag or virtual_network_subnet_id must be specified

    FunctionAppSiteConfigIpRestrictionHeaders, FunctionAppSiteConfigIpRestrictionHeadersArgs

    XAzureFdids List<string>
    A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.
    XFdHealthProbe string
    A list to allow the Azure FrontDoor health probe header. Only allowed value is "1".
    XForwardedFors List<string>
    A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8
    XForwardedHosts List<string>
    A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.
    XAzureFdids []string
    A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.
    XFdHealthProbe string
    A list to allow the Azure FrontDoor health probe header. Only allowed value is "1".
    XForwardedFors []string
    A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8
    XForwardedHosts []string
    A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.
    xAzureFdids List<String>
    A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.
    xFdHealthProbe String
    A list to allow the Azure FrontDoor health probe header. Only allowed value is "1".
    xForwardedFors List<String>
    A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8
    xForwardedHosts List<String>
    A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.
    xAzureFdids string[]
    A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.
    xFdHealthProbe string
    A list to allow the Azure FrontDoor health probe header. Only allowed value is "1".
    xForwardedFors string[]
    A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8
    xForwardedHosts string[]
    A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.
    x_azure_fdids Sequence[str]
    A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.
    x_fd_health_probe str
    A list to allow the Azure FrontDoor health probe header. Only allowed value is "1".
    x_forwarded_fors Sequence[str]
    A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8
    x_forwarded_hosts Sequence[str]
    A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.
    xAzureFdids List<String>
    A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.
    xFdHealthProbe String
    A list to allow the Azure FrontDoor health probe header. Only allowed value is "1".
    xForwardedFors List<String>
    A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8
    xForwardedHosts List<String>
    A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.

    FunctionAppSiteConfigScmIpRestriction, FunctionAppSiteConfigScmIpRestrictionArgs

    Action string
    Allow or Deny access for this IP range. Defaults to Allow.
    Headers FunctionAppSiteConfigScmIpRestrictionHeaders
    The headers block for this specific scm_ip_restriction as defined below.
    IpAddress string
    The IP Address used for this IP Restriction in CIDR notation.
    Name string
    The name for this IP Restriction.
    Priority int
    The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified.
    ServiceTag string
    The Service Tag used for this IP Restriction.
    VirtualNetworkSubnetId string

    The Virtual Network Subnet ID used for this IP Restriction.

    NOTE: One of either ip_address, service_tag or virtual_network_subnet_id must be specified

    Action string
    Allow or Deny access for this IP range. Defaults to Allow.
    Headers FunctionAppSiteConfigScmIpRestrictionHeaders
    The headers block for this specific scm_ip_restriction as defined below.
    IpAddress string
    The IP Address used for this IP Restriction in CIDR notation.
    Name string
    The name for this IP Restriction.
    Priority int
    The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified.
    ServiceTag string
    The Service Tag used for this IP Restriction.
    VirtualNetworkSubnetId string

    The Virtual Network Subnet ID used for this IP Restriction.

    NOTE: One of either ip_address, service_tag or virtual_network_subnet_id must be specified

    action String
    Allow or Deny access for this IP range. Defaults to Allow.
    headers FunctionAppSiteConfigScmIpRestrictionHeaders
    The headers block for this specific scm_ip_restriction as defined below.
    ipAddress String
    The IP Address used for this IP Restriction in CIDR notation.
    name String
    The name for this IP Restriction.
    priority Integer
    The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified.
    serviceTag String
    The Service Tag used for this IP Restriction.
    virtualNetworkSubnetId String

    The Virtual Network Subnet ID used for this IP Restriction.

    NOTE: One of either ip_address, service_tag or virtual_network_subnet_id must be specified

    action string
    Allow or Deny access for this IP range. Defaults to Allow.
    headers FunctionAppSiteConfigScmIpRestrictionHeaders
    The headers block for this specific scm_ip_restriction as defined below.
    ipAddress string
    The IP Address used for this IP Restriction in CIDR notation.
    name string
    The name for this IP Restriction.
    priority number
    The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified.
    serviceTag string
    The Service Tag used for this IP Restriction.
    virtualNetworkSubnetId string

    The Virtual Network Subnet ID used for this IP Restriction.

    NOTE: One of either ip_address, service_tag or virtual_network_subnet_id must be specified

    action str
    Allow or Deny access for this IP range. Defaults to Allow.
    headers FunctionAppSiteConfigScmIpRestrictionHeaders
    The headers block for this specific scm_ip_restriction as defined below.
    ip_address str
    The IP Address used for this IP Restriction in CIDR notation.
    name str
    The name for this IP Restriction.
    priority int
    The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified.
    service_tag str
    The Service Tag used for this IP Restriction.
    virtual_network_subnet_id str

    The Virtual Network Subnet ID used for this IP Restriction.

    NOTE: One of either ip_address, service_tag or virtual_network_subnet_id must be specified

    action String
    Allow or Deny access for this IP range. Defaults to Allow.
    headers Property Map
    The headers block for this specific scm_ip_restriction as defined below.
    ipAddress String
    The IP Address used for this IP Restriction in CIDR notation.
    name String
    The name for this IP Restriction.
    priority Number
    The priority for this IP Restriction. Restrictions are enforced in priority order. By default, priority is set to 65000 if not specified.
    serviceTag String
    The Service Tag used for this IP Restriction.
    virtualNetworkSubnetId String

    The Virtual Network Subnet ID used for this IP Restriction.

    NOTE: One of either ip_address, service_tag or virtual_network_subnet_id must be specified

    FunctionAppSiteConfigScmIpRestrictionHeaders, FunctionAppSiteConfigScmIpRestrictionHeadersArgs

    XAzureFdids List<string>
    A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.
    XFdHealthProbe string
    A list to allow the Azure FrontDoor health probe header. Only allowed value is "1".
    XForwardedFors List<string>
    A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8
    XForwardedHosts List<string>
    A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.
    XAzureFdids []string
    A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.
    XFdHealthProbe string
    A list to allow the Azure FrontDoor health probe header. Only allowed value is "1".
    XForwardedFors []string
    A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8
    XForwardedHosts []string
    A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.
    xAzureFdids List<String>
    A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.
    xFdHealthProbe String
    A list to allow the Azure FrontDoor health probe header. Only allowed value is "1".
    xForwardedFors List<String>
    A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8
    xForwardedHosts List<String>
    A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.
    xAzureFdids string[]
    A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.
    xFdHealthProbe string
    A list to allow the Azure FrontDoor health probe header. Only allowed value is "1".
    xForwardedFors string[]
    A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8
    xForwardedHosts string[]
    A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.
    x_azure_fdids Sequence[str]
    A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.
    x_fd_health_probe str
    A list to allow the Azure FrontDoor health probe header. Only allowed value is "1".
    x_forwarded_fors Sequence[str]
    A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8
    x_forwarded_hosts Sequence[str]
    A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.
    xAzureFdids List<String>
    A list of allowed Azure FrontDoor IDs in UUID notation with a maximum of 8.
    xFdHealthProbe String
    A list to allow the Azure FrontDoor health probe header. Only allowed value is "1".
    xForwardedFors List<String>
    A list of allowed 'X-Forwarded-For' IPs in CIDR notation with a maximum of 8
    xForwardedHosts List<String>
    A list of allowed 'X-Forwarded-Host' domains with a maximum of 8.

    FunctionAppSiteCredential, FunctionAppSiteCredentialArgs

    Password string
    The password associated with the username, which can be used to publish to this App Service.
    Username string
    The username which can be used to publish to this App Service
    Password string
    The password associated with the username, which can be used to publish to this App Service.
    Username string
    The username which can be used to publish to this App Service
    password String
    The password associated with the username, which can be used to publish to this App Service.
    username String
    The username which can be used to publish to this App Service
    password string
    The password associated with the username, which can be used to publish to this App Service.
    username string
    The username which can be used to publish to this App Service
    password str
    The password associated with the username, which can be used to publish to this App Service.
    username str
    The username which can be used to publish to this App Service
    password String
    The password associated with the username, which can be used to publish to this App Service.
    username String
    The username which can be used to publish to this App Service

    FunctionAppSourceControl, FunctionAppSourceControlArgs

    Branch string
    The branch of the remote repository to use. Defaults to 'master'.
    ManualIntegration bool
    Limits to manual integration. Defaults to false if not specified.
    RepoUrl string
    The URL of the source code repository.
    RollbackEnabled bool
    Enable roll-back for the repository. Defaults to false if not specified.
    UseMercurial bool
    Use Mercurial if true, otherwise uses Git.
    Branch string
    The branch of the remote repository to use. Defaults to 'master'.
    ManualIntegration bool
    Limits to manual integration. Defaults to false if not specified.
    RepoUrl string
    The URL of the source code repository.
    RollbackEnabled bool
    Enable roll-back for the repository. Defaults to false if not specified.
    UseMercurial bool
    Use Mercurial if true, otherwise uses Git.
    branch String
    The branch of the remote repository to use. Defaults to 'master'.
    manualIntegration Boolean
    Limits to manual integration. Defaults to false if not specified.
    repoUrl String
    The URL of the source code repository.
    rollbackEnabled Boolean
    Enable roll-back for the repository. Defaults to false if not specified.
    useMercurial Boolean
    Use Mercurial if true, otherwise uses Git.
    branch string
    The branch of the remote repository to use. Defaults to 'master'.
    manualIntegration boolean
    Limits to manual integration. Defaults to false if not specified.
    repoUrl string
    The URL of the source code repository.
    rollbackEnabled boolean
    Enable roll-back for the repository. Defaults to false if not specified.
    useMercurial boolean
    Use Mercurial if true, otherwise uses Git.
    branch str
    The branch of the remote repository to use. Defaults to 'master'.
    manual_integration bool
    Limits to manual integration. Defaults to false if not specified.
    repo_url str
    The URL of the source code repository.
    rollback_enabled bool
    Enable roll-back for the repository. Defaults to false if not specified.
    use_mercurial bool
    Use Mercurial if true, otherwise uses Git.
    branch String
    The branch of the remote repository to use. Defaults to 'master'.
    manualIntegration Boolean
    Limits to manual integration. Defaults to false if not specified.
    repoUrl String
    The URL of the source code repository.
    rollbackEnabled Boolean
    Enable roll-back for the repository. Defaults to false if not specified.
    useMercurial Boolean
    Use Mercurial if true, otherwise uses Git.

    Import

    Function Apps can be imported using the resource id, e.g.

    $ pulumi import azure:appservice/functionApp:FunctionApp functionapp1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/functionapp1
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure Classic v5.83.0 published on Monday, Jul 8, 2024 by Pulumi