FunctionAppSlotArgs

data class FunctionAppSlotArgs(val appServicePlanId: Output<String>? = null, val appSettings: Output<Map<String, String>>? = null, val authSettings: Output<FunctionAppSlotAuthSettingsArgs>? = null, val connectionStrings: Output<List<FunctionAppSlotConnectionStringArgs>>? = null, val dailyMemoryTimeQuota: Output<Int>? = null, val enableBuiltinLogging: Output<Boolean>? = null, val enabled: Output<Boolean>? = null, val functionAppName: Output<String>? = null, val httpsOnly: Output<Boolean>? = null, val identity: Output<FunctionAppSlotIdentityArgs>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val osType: Output<String>? = null, val resourceGroupName: Output<String>? = null, val siteConfig: Output<FunctionAppSlotSiteConfigArgs>? = null, val storageAccountAccessKey: Output<String>? = null, val storageAccountName: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val version: Output<String>? = null) : ConvertibleToJava<FunctionAppSlotArgs>

Manages a Function App deployment Slot. !>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.LinuxFunctionAppSlot resources instead.

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,
});
const exampleFunctionAppSlot = new azure.appservice.FunctionAppSlot("example", {
name: "test-azure-functions_slot",
location: example.location,
resourceGroupName: example.name,
appServicePlanId: examplePlan.id,
functionAppName: exampleFunctionApp.name,
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)
example_function_app_slot = azure.appservice.FunctionAppSlot("example",
name="test-azure-functions_slot",
location=example.location,
resource_group_name=example.name,
app_service_plan_id=example_plan.id,
function_app_name=example_function_app.name,
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,
});
var exampleFunctionAppSlot = new Azure.AppService.FunctionAppSlot("example", new()
{
Name = "test-azure-functions_slot",
Location = example.Location,
ResourceGroupName = example.Name,
AppServicePlanId = examplePlan.Id,
FunctionAppName = exampleFunctionApp.Name,
StorageAccountName = exampleAccount.Name,
StorageAccountAccessKey = exampleAccount.PrimaryAccessKey,
});
});
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
}
exampleFunctionApp, 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
}
_, err = appservice.NewFunctionAppSlot(ctx, "example", &appservice.FunctionAppSlotArgs{
Name: pulumi.String("test-azure-functions_slot"),
Location: example.Location,
ResourceGroupName: example.Name,
AppServicePlanId: examplePlan.ID(),
FunctionAppName: exampleFunctionApp.Name,
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 com.pulumi.azure.appservice.FunctionAppSlot;
import com.pulumi.azure.appservice.FunctionAppSlotArgs;
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());
var exampleFunctionAppSlot = new FunctionAppSlot("exampleFunctionAppSlot", FunctionAppSlotArgs.builder()
.name("test-azure-functions_slot")
.location(example.location())
.resourceGroupName(example.name())
.appServicePlanId(examplePlan.id())
.functionAppName(exampleFunctionApp.name())
.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}
exampleFunctionAppSlot:
type: azure:appservice:FunctionAppSlot
name: example
properties:
name: test-azure-functions_slot
location: ${example.location}
resourceGroupName: ${example.name}
appServicePlanId: ${examplePlan.id}
functionAppName: ${exampleFunctionApp.name}
storageAccountName: ${exampleAccount.name}
storageAccountAccessKey: ${exampleAccount.primaryAccessKey}

Import

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

$ pulumi import azure:appservice/functionAppSlot:FunctionAppSlot functionapp1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/functionapp1/slots/staging

Constructors

Link copied to clipboard
constructor(appServicePlanId: Output<String>? = null, appSettings: Output<Map<String, String>>? = null, authSettings: Output<FunctionAppSlotAuthSettingsArgs>? = null, connectionStrings: Output<List<FunctionAppSlotConnectionStringArgs>>? = null, dailyMemoryTimeQuota: Output<Int>? = null, enableBuiltinLogging: Output<Boolean>? = null, enabled: Output<Boolean>? = null, functionAppName: Output<String>? = null, httpsOnly: Output<Boolean>? = null, identity: Output<FunctionAppSlotIdentityArgs>? = null, location: Output<String>? = null, name: Output<String>? = null, osType: Output<String>? = null, resourceGroupName: Output<String>? = null, siteConfig: Output<FunctionAppSlotSiteConfigArgs>? = 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 Slot. Changing this forces a new resource to be created.

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

A key-value pair of App Settings.

Link copied to clipboard

An auth_settings block as defined below.

Link copied to clipboard

A 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 the 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 functionAppName: Output<String>? = null

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

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

An identity block as defined below.

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.

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

A string indicating the Operating System type for this function app. The only possible value is linux. Changing this forces a new resource to be created.

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

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

Link copied to clipboard

A site_config object 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 the 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(): FunctionAppSlotArgs