FunctionAppArgs

data class FunctionAppArgs(val appServicePlanId: Output<String>? = null, val appSettings: Output<Map<String, String>>? = null, val authSettings: Output<FunctionAppAuthSettingsArgs>? = null, val clientCertMode: Output<String>? = null, val connectionStrings: Output<List<FunctionAppConnectionStringArgs>>? = null, val dailyMemoryTimeQuota: Output<Int>? = null, val enableBuiltinLogging: Output<Boolean>? = null, val enabled: Output<Boolean>? = null, val httpsOnly: Output<Boolean>? = null, val identity: Output<FunctionAppIdentityArgs>? = null, val keyVaultReferenceIdentityId: Output<String>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val osType: Output<String>? = null, val resourceGroupName: Output<String>? = null, val siteConfig: Output<FunctionAppSiteConfigArgs>? = null, val sourceControl: Output<FunctionAppSourceControlArgs>? = null, val storageAccountAccessKey: Output<String>? = null, val storageAccountName: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val version: Output<String>? = null) : ConvertibleToJava<FunctionAppArgs>

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 and azure.appservice.WindowsFunctionApp 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)
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 main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/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
})
}
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)
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 main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/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
})
}
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")
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 main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/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
})
}
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)

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.

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

Constructors

Link copied to clipboard
constructor(appServicePlanId: Output<String>? = null, appSettings: Output<Map<String, String>>? = null, authSettings: Output<FunctionAppAuthSettingsArgs>? = null, clientCertMode: Output<String>? = null, connectionStrings: Output<List<FunctionAppConnectionStringArgs>>? = null, dailyMemoryTimeQuota: Output<Int>? = null, enableBuiltinLogging: Output<Boolean>? = null, enabled: Output<Boolean>? = null, httpsOnly: Output<Boolean>? = null, identity: Output<FunctionAppIdentityArgs>? = null, keyVaultReferenceIdentityId: Output<String>? = null, location: Output<String>? = null, name: Output<String>? = null, osType: Output<String>? = null, resourceGroupName: Output<String>? = null, siteConfig: Output<FunctionAppSiteConfigArgs>? = null, sourceControl: Output<FunctionAppSourceControlArgs>? = null, storageAccountAccessKey: Output<String>? = null, storageAccountName: Output<String>? = null, tags: Output<Map<String, String>>? = null, version: Output<String>? = null)

Properties

Link copied to clipboard
val appServicePlanId: Output<String>? = null

The ID of the App Service Plan within which to create this Function App.

Link copied to clipboard
val appSettings: Output<Map<String, String>>? = null

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

Link copied to clipboard

A auth_settings block as defined below.

Link copied to clipboard
val clientCertMode: Output<String>? = null

The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required and Optional.

Link copied to clipboard

An connection_string block as defined below.

Link copied to clipboard
val dailyMemoryTimeQuota: Output<Int>? = null

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.

Link copied to clipboard
val enableBuiltinLogging: Output<Boolean>? = null

Should the built-in logging of this Function App be enabled? Defaults to true.

Link copied to clipboard
val enabled: Output<Boolean>? = null

Is the Function App enabled? Defaults to true.

Link copied to clipboard
val httpsOnly: Output<Boolean>? = null

Can the Function App only be accessed via HTTPS? Defaults to false.

Link copied to clipboard
val identity: Output<FunctionAppIdentityArgs>? = null

An identity block as defined below.

Link copied to clipboard
val keyVaultReferenceIdentityId: Output<String>? = null

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.

Link copied to clipboard
val location: Output<String>? = null

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

Link copied to clipboard
val name: Output<String>? = null

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.

Link copied to clipboard
val osType: Output<String>? = null

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 "".

Link copied to clipboard
val resourceGroupName: Output<String>? = null

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

Link copied to clipboard

A site_config object as defined below.

Link copied to clipboard

A source_control block, as defined below.

Link copied to clipboard
val storageAccountAccessKey: Output<String>? = null

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

Link copied to clipboard
val storageAccountName: Output<String>? = null

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.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A mapping of tags to assign to the resource.

Link copied to clipboard
val version: Output<String>? = null

The runtime version associated with the Function App. Defaults to ~1.

Functions

Link copied to clipboard
open override fun toJava(): FunctionAppArgs