Windows Function App Slot Args
Manages a Windows Function App Slot.
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: "windowsfunctionappsa",
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: "Windows",
skuName: "Y1",
});
const exampleWindowsFunctionApp = new azure.appservice.WindowsFunctionApp("example", {
name: "example-windows-function-app",
resourceGroupName: example.name,
location: example.location,
storageAccountName: exampleAccount.name,
servicePlanId: exampleServicePlan.id,
siteConfig: {},
});
const exampleWindowsFunctionAppSlot = new azure.appservice.WindowsFunctionAppSlot("example", {
name: "example-slot",
functionAppId: exampleWindowsFunctionApp.id,
storageAccountName: exampleAccount.name,
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="windowsfunctionappsa",
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="Windows",
sku_name="Y1")
example_windows_function_app = azure.appservice.WindowsFunctionApp("example",
name="example-windows-function-app",
resource_group_name=example.name,
location=example.location,
storage_account_name=example_account.name,
service_plan_id=example_service_plan.id,
site_config={})
example_windows_function_app_slot = azure.appservice.WindowsFunctionAppSlot("example",
name="example-slot",
function_app_id=example_windows_function_app.id,
storage_account_name=example_account.name,
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 = "windowsfunctionappsa",
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 = "Windows",
SkuName = "Y1",
});
var exampleWindowsFunctionApp = new Azure.AppService.WindowsFunctionApp("example", new()
{
Name = "example-windows-function-app",
ResourceGroupName = example.Name,
Location = example.Location,
StorageAccountName = exampleAccount.Name,
ServicePlanId = exampleServicePlan.Id,
SiteConfig = null,
});
var exampleWindowsFunctionAppSlot = new Azure.AppService.WindowsFunctionAppSlot("example", new()
{
Name = "example-slot",
FunctionAppId = exampleWindowsFunctionApp.Id,
StorageAccountName = exampleAccount.Name,
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("windowsfunctionappsa"),
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("Windows"),
SkuName: pulumi.String("Y1"),
})
if err != nil {
return err
}
exampleWindowsFunctionApp, err := appservice.NewWindowsFunctionApp(ctx, "example", &appservice.WindowsFunctionAppArgs{
Name: pulumi.String("example-windows-function-app"),
ResourceGroupName: example.Name,
Location: example.Location,
StorageAccountName: exampleAccount.Name,
ServicePlanId: exampleServicePlan.ID(),
SiteConfig: &appservice.WindowsFunctionAppSiteConfigArgs{},
})
if err != nil {
return err
}
_, err = appservice.NewWindowsFunctionAppSlot(ctx, "example", &appservice.WindowsFunctionAppSlotArgs{
Name: pulumi.String("example-slot"),
FunctionAppId: exampleWindowsFunctionApp.ID(),
StorageAccountName: exampleAccount.Name,
SiteConfig: &appservice.WindowsFunctionAppSlotSiteConfigArgs{},
})
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.WindowsFunctionApp;
import com.pulumi.azure.appservice.WindowsFunctionAppArgs;
import com.pulumi.azure.appservice.inputs.WindowsFunctionAppSiteConfigArgs;
import com.pulumi.azure.appservice.WindowsFunctionAppSlot;
import com.pulumi.azure.appservice.WindowsFunctionAppSlotArgs;
import com.pulumi.azure.appservice.inputs.WindowsFunctionAppSlotSiteConfigArgs;
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("windowsfunctionappsa")
.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("Windows")
.skuName("Y1")
.build());
var exampleWindowsFunctionApp = new WindowsFunctionApp("exampleWindowsFunctionApp", WindowsFunctionAppArgs.builder()
.name("example-windows-function-app")
.resourceGroupName(example.name())
.location(example.location())
.storageAccountName(exampleAccount.name())
.servicePlanId(exampleServicePlan.id())
.siteConfig()
.build());
var exampleWindowsFunctionAppSlot = new WindowsFunctionAppSlot("exampleWindowsFunctionAppSlot", WindowsFunctionAppSlotArgs.builder()
.name("example-slot")
.functionAppId(exampleWindowsFunctionApp.id())
.storageAccountName(exampleAccount.name())
.siteConfig()
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleAccount:
type: azure:storage:Account
name: example
properties:
name: windowsfunctionappsa
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: Windows
skuName: Y1
exampleWindowsFunctionApp:
type: azure:appservice:WindowsFunctionApp
name: example
properties:
name: example-windows-function-app
resourceGroupName: ${example.name}
location: ${example.location}
storageAccountName: ${exampleAccount.name}
servicePlanId: ${exampleServicePlan.id}
siteConfig: {}
exampleWindowsFunctionAppSlot:
type: azure:appservice:WindowsFunctionAppSlot
name: example
properties:
name: example-slot
functionAppId: ${exampleWindowsFunctionApp.id}
storageAccountName: ${exampleAccount.name}
siteConfig: {}
Import
A Windows Function App Slot can be imported using the resource id
, e.g.
$ pulumi import azure:appservice/windowsFunctionAppSlot:WindowsFunctionAppSlot example "/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1/slots/slot1"
Constructors
Properties
A map of key-value pairs for App Settings and custom values.
an auth_settings
block as detailed below.
an auth_settings_v2
block as detailed below.
a backup
block as detailed below.
Should built-in logging be enabled. Configures AzureWebJobsDashboard
app setting based on the configured storage setting. Defaults to true
.
Should the Function App Slot use Client Certificates.
Paths to exclude when using client certificates, separated by ;
The mode of the Function App Slot's client certificates requirement for incoming requests. Possible values are Required
, Optional
, and OptionalInteractiveUser
. Defaults to Optional
.
a connection_string
block as detailed below.
Force disable the content share settings.
The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps in Consumption Plans. Defaults to 0
.
Should the default FTP Basic Authentication publishing profile be enabled. Defaults to true
.
The name of the Windows Function App this Slot is a member of. Changing this forces a new resource to be created.
The runtime version associated with the Function App Slot. Defaults to ~4
.
an identity
block as detailed 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
Should public network access be enabled for the Function App. Defaults to true
.
The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Windows Function App will be used.
a site_config
block as detailed below.
The access key which will be used to access the storage account for the Function App Slot.
The backend storage account name which will be used by this Function App Slot.
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 Slot.
Should the Function App Slot use its Managed Identity to access storage.
Whether backup and restore operations over the linked virtual network are enabled. Defaults to false
.
Specifies whether traffic for the image pull should be routed over virtual network. Defaults to false
.
Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to true
.