Linux Function App Args
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleAccount = new azure.storage.Account("example", {
name: "linuxfunctionappsa",
resourceGroupName: example.name,
location: example.location,
accountTier: "Standard",
accountReplicationType: "LRS",
});
const exampleServicePlan = new azure.appservice.ServicePlan("example", {
name: "example-app-service-plan",
resourceGroupName: example.name,
location: example.location,
osType: "Linux",
skuName: "B1",
});
const exampleLinuxFunctionApp = new azure.appservice.LinuxFunctionApp("example", {
name: "example-linux-function-app",
resourceGroupName: example.name,
location: example.location,
storageAccountName: exampleAccount.name,
storageAccountAccessKey: exampleAccount.primaryAccessKey,
servicePlanId: exampleServicePlan.id,
siteConfig: {},
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_account = azure.storage.Account("example",
name="linuxfunctionappsa",
resource_group_name=example.name,
location=example.location,
account_tier="Standard",
account_replication_type="LRS")
example_service_plan = azure.appservice.ServicePlan("example",
name="example-app-service-plan",
resource_group_name=example.name,
location=example.location,
os_type="Linux",
sku_name="B1")
example_linux_function_app = azure.appservice.LinuxFunctionApp("example",
name="example-linux-function-app",
resource_group_name=example.name,
location=example.location,
storage_account_name=example_account.name,
storage_account_access_key=example_account.primary_access_key,
service_plan_id=example_service_plan.id,
site_config={})
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 = "example-resources",
Location = "West Europe",
});
var exampleAccount = new Azure.Storage.Account("example", new()
{
Name = "linuxfunctionappsa",
ResourceGroupName = example.Name,
Location = example.Location,
AccountTier = "Standard",
AccountReplicationType = "LRS",
});
var exampleServicePlan = new Azure.AppService.ServicePlan("example", new()
{
Name = "example-app-service-plan",
ResourceGroupName = example.Name,
Location = example.Location,
OsType = "Linux",
SkuName = "B1",
});
var exampleLinuxFunctionApp = new Azure.AppService.LinuxFunctionApp("example", new()
{
Name = "example-linux-function-app",
ResourceGroupName = example.Name,
Location = example.Location,
StorageAccountName = exampleAccount.Name,
StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,
ServicePlanId = exampleServicePlan.Id,
SiteConfig = null,
});
});
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("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleAccount, err := storage.NewAccount(ctx, "example", &storage.AccountArgs{
Name: pulumi.String("linuxfunctionappsa"),
ResourceGroupName: example.Name,
Location: example.Location,
AccountTier: pulumi.String("Standard"),
AccountReplicationType: pulumi.String("LRS"),
})
if err != nil {
return err
}
exampleServicePlan, err := appservice.NewServicePlan(ctx, "example", &appservice.ServicePlanArgs{
Name: pulumi.String("example-app-service-plan"),
ResourceGroupName: example.Name,
Location: example.Location,
OsType: pulumi.String("Linux"),
SkuName: pulumi.String("B1"),
})
if err != nil {
return err
}
_, err = appservice.NewLinuxFunctionApp(ctx, "example", &appservice.LinuxFunctionAppArgs{
Name: pulumi.String("example-linux-function-app"),
ResourceGroupName: example.Name,
Location: example.Location,
StorageAccountName: exampleAccount.Name,
StorageAccountAccessKey: exampleAccount.PrimaryAccessKey,
ServicePlanId: exampleServicePlan.ID(),
SiteConfig: &appservice.LinuxFunctionAppSiteConfigArgs{},
})
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.ServicePlan;
import com.pulumi.azure.appservice.ServicePlanArgs;
import com.pulumi.azure.appservice.LinuxFunctionApp;
import com.pulumi.azure.appservice.LinuxFunctionAppArgs;
import com.pulumi.azure.appservice.inputs.LinuxFunctionAppSiteConfigArgs;
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("example-resources")
.location("West Europe")
.build());
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.name("linuxfunctionappsa")
.resourceGroupName(example.name())
.location(example.location())
.accountTier("Standard")
.accountReplicationType("LRS")
.build());
var exampleServicePlan = new ServicePlan("exampleServicePlan", ServicePlanArgs.builder()
.name("example-app-service-plan")
.resourceGroupName(example.name())
.location(example.location())
.osType("Linux")
.skuName("B1")
.build());
var exampleLinuxFunctionApp = new LinuxFunctionApp("exampleLinuxFunctionApp", LinuxFunctionAppArgs.builder()
.name("example-linux-function-app")
.resourceGroupName(example.name())
.location(example.location())
.storageAccountName(exampleAccount.name())
.storageAccountAccessKey(exampleAccount.primaryAccessKey())
.servicePlanId(exampleServicePlan.id())
.siteConfig(LinuxFunctionAppSiteConfigArgs.builder()
.build())
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleAccount:
type: azure:storage:Account
name: example
properties:
name: linuxfunctionappsa
resourceGroupName: ${example.name}
location: ${example.location}
accountTier: Standard
accountReplicationType: LRS
exampleServicePlan:
type: azure:appservice:ServicePlan
name: example
properties:
name: example-app-service-plan
resourceGroupName: ${example.name}
location: ${example.location}
osType: Linux
skuName: B1
exampleLinuxFunctionApp:
type: azure:appservice:LinuxFunctionApp
name: example
properties:
name: example-linux-function-app
resourceGroupName: ${example.name}
location: ${example.location}
storageAccountName: ${exampleAccount.name}
storageAccountAccessKey: ${exampleAccount.primaryAccessKey}
servicePlanId: ${exampleServicePlan.id}
siteConfig: {}
API Providers
This resource uses the following Azure API Providers:
Microsoft.Web
: 2023-12-01, 2023-01-01
Import
Linux Function Apps can be imported using the resource id
, e.g.
$ pulumi import azure:appservice/linuxFunctionApp:LinuxFunctionApp example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1
Constructors
Properties
A map of key-value pairs for [App
A auth_settings
block as defined below.
An auth_settings_v2
block as defined below.
A backup
block as defined below.
Should built in logging be enabled. Configures AzureWebJobsDashboard
app setting based on the configured storage setting. Defaults to true
.
Should the function app use Client Certificates.
Paths to exclude when using client certificates, separated by ;
The mode of the Function App's client certificates requirement for incoming requests. Possible values are Required
, Optional
, and OptionalInteractiveUser
. Defaults to Optional
.
One or more connection_string
blocks as defined below.
Should the settings for linking the Function App to storage be suppressed.
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. Defaults to 0
.
Should the default FTP Basic Authentication publishing profile be enabled. Defaults to true
.
The runtime version associated with the Function App. Defaults to ~4
.
A identity
block as defined below.
The User Assigned Identity ID used for accessing KeyVault secrets. The identity must be assigned to the application in the identity
block. For more information see - Access vaults with a user-assigned identity
The name which should be used for this Linux Function App. Changing this forces a new Linux Function App to be created. Limit the function name to 32 characters to avoid naming collisions. For more information about Function App naming rule and Host ID Collisions
Should public network access be enabled for the Function App. Defaults to true
.
The name of the Resource Group where the Linux Function App should exist. Changing this forces a new Linux Function App to be created.
The ID of the App Service Plan within which to create this Function App.
A site_config
block as defined below.
A sticky_settings
block as defined below.
The access key which will be used to access the backend storage account for the Function App. Conflicts with storage_uses_managed_identity
.
The backend storage account name which will be used by this Function App.
One or more storage_account
blocks as defined below.
The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.
Should the Function App use Managed Identity to access the storage account. Conflicts with storage_account_access_key
.
Whether backup and restore operations over the linked virtual network are enabled. Defaults to false
.
Should the traffic for the image pull be routed over virtual network enabled. Defaults to false
.
Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to true
.
The local path and filename of the Zip packaged application to deploy to this Linux Function App.