WindowsFunctionAppArgs

data class WindowsFunctionAppArgs(val appSettings: Output<Map<String, String>>? = null, val authSettings: Output<WindowsFunctionAppAuthSettingsArgs>? = null, val authSettingsV2: Output<WindowsFunctionAppAuthSettingsV2Args>? = null, val backup: Output<WindowsFunctionAppBackupArgs>? = null, val builtinLoggingEnabled: Output<Boolean>? = null, val clientCertificateEnabled: Output<Boolean>? = null, val clientCertificateExclusionPaths: Output<String>? = null, val clientCertificateMode: Output<String>? = null, val connectionStrings: Output<List<WindowsFunctionAppConnectionStringArgs>>? = null, val contentShareForceDisabled: Output<Boolean>? = null, val dailyMemoryTimeQuota: Output<Int>? = null, val enabled: Output<Boolean>? = null, val ftpPublishBasicAuthenticationEnabled: Output<Boolean>? = null, val functionsExtensionVersion: Output<String>? = null, val httpsOnly: Output<Boolean>? = null, val identity: Output<WindowsFunctionAppIdentityArgs>? = null, val keyVaultReferenceIdentityId: Output<String>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val publicNetworkAccessEnabled: Output<Boolean>? = null, val resourceGroupName: Output<String>? = null, val servicePlanId: Output<String>? = null, val siteConfig: Output<WindowsFunctionAppSiteConfigArgs>? = null, val stickySettings: Output<WindowsFunctionAppStickySettingsArgs>? = null, val storageAccountAccessKey: Output<String>? = null, val storageAccountName: Output<String>? = null, val storageAccounts: Output<List<WindowsFunctionAppStorageAccountArgs>>? = null, val storageKeyVaultSecretId: Output<String>? = null, val storageUsesManagedIdentity: Output<Boolean>? = null, val tags: Output<Map<String, String>>? = null, val virtualNetworkBackupRestoreEnabled: Output<Boolean>? = null, val virtualNetworkSubnetId: Output<String>? = null, val vnetImagePullEnabled: Output<Boolean>? = null, val webdeployPublishBasicAuthenticationEnabled: Output<Boolean>? = null, val zipDeployFile: Output<String>? = null) : ConvertibleToJava<WindowsFunctionAppArgs>

Manages a Windows Function App.

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,
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="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,
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 = "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,
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("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
}
_, err = appservice.NewWindowsFunctionApp(ctx, "example", &appservice.WindowsFunctionAppArgs{
Name: pulumi.String("example-windows-function-app"),
ResourceGroupName: example.Name,
Location: example.Location,
StorageAccountName: exampleAccount.Name,
StorageAccountAccessKey: exampleAccount.PrimaryAccessKey,
ServicePlanId: exampleServicePlan.ID(),
SiteConfig: &appservice.WindowsFunctionAppSiteConfigArgs{},
})
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 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())
.storageAccountAccessKey(exampleAccount.primaryAccessKey())
.servicePlanId(exampleServicePlan.id())
.siteConfig(WindowsFunctionAppSiteConfigArgs.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: 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}
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

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

$ pulumi import azure:appservice/windowsFunctionApp:WindowsFunctionApp example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1

Constructors

Link copied to clipboard
constructor(appSettings: Output<Map<String, String>>? = null, authSettings: Output<WindowsFunctionAppAuthSettingsArgs>? = null, authSettingsV2: Output<WindowsFunctionAppAuthSettingsV2Args>? = null, backup: Output<WindowsFunctionAppBackupArgs>? = null, builtinLoggingEnabled: Output<Boolean>? = null, clientCertificateEnabled: Output<Boolean>? = null, clientCertificateExclusionPaths: Output<String>? = null, clientCertificateMode: Output<String>? = null, connectionStrings: Output<List<WindowsFunctionAppConnectionStringArgs>>? = null, contentShareForceDisabled: Output<Boolean>? = null, dailyMemoryTimeQuota: Output<Int>? = null, enabled: Output<Boolean>? = null, ftpPublishBasicAuthenticationEnabled: Output<Boolean>? = null, functionsExtensionVersion: Output<String>? = null, httpsOnly: Output<Boolean>? = null, identity: Output<WindowsFunctionAppIdentityArgs>? = null, keyVaultReferenceIdentityId: Output<String>? = null, location: Output<String>? = null, name: Output<String>? = null, publicNetworkAccessEnabled: Output<Boolean>? = null, resourceGroupName: Output<String>? = null, servicePlanId: Output<String>? = null, siteConfig: Output<WindowsFunctionAppSiteConfigArgs>? = null, stickySettings: Output<WindowsFunctionAppStickySettingsArgs>? = null, storageAccountAccessKey: Output<String>? = null, storageAccountName: Output<String>? = null, storageAccounts: Output<List<WindowsFunctionAppStorageAccountArgs>>? = null, storageKeyVaultSecretId: Output<String>? = null, storageUsesManagedIdentity: Output<Boolean>? = null, tags: Output<Map<String, String>>? = null, virtualNetworkBackupRestoreEnabled: Output<Boolean>? = null, virtualNetworkSubnetId: Output<String>? = null, vnetImagePullEnabled: Output<Boolean>? = null, webdeployPublishBasicAuthenticationEnabled: Output<Boolean>? = null, zipDeployFile: Output<String>? = null)

Properties

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

A map of key-value pairs for [App

Link copied to clipboard

A auth_settings block as defined below.

Link copied to clipboard

A auth_settings_v2 block as defined below.

Link copied to clipboard

A backup block as defined below.

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

Should built in logging be enabled. Configures AzureWebJobsDashboard app setting based on the configured storage setting. Defaults to true.

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

Should the function app use Client Certificates.

Link copied to clipboard

Paths to exclude when using client certificates, separated by ;

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

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

Link copied to clipboard

One or more connection_string blocks as defined below.

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

Should Content Share Settings be disabled. Defaults to false.

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. Defaults to 0.

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

Is the Function App enabled? Defaults to true.

Link copied to clipboard

Should the default FTP Basic Authentication publishing profile be enabled. Defaults to true.

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

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

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

A identity block as defined below.

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

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

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

The Azure Region where the Windows Function App should exist. Changing this forces a new Windows Function App to be created.

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

The name which should be used for this Windows Function App. Changing this forces a new Windows 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

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

Should public network access be enabled for the Function App. Defaults to true.

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

The name of the Resource Group where the Windows Function App should exist. Changing this forces a new Windows Function App to be created.

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

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

Link copied to clipboard

A site_config block as defined below.

Link copied to clipboard

A sticky_settings 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. Conflicts with storage_uses_managed_identity.

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

The backend storage account name which will be used by this Function App.

Link copied to clipboard

One or more storage_account blocks as defined below.

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

The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.

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

Should the Function App use Managed Identity to access the storage account. Conflicts with storage_account_access_key.

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

A mapping of tags which should be assigned to the Windows Function App.

Link copied to clipboard

Whether backup and restore operations over the linked virtual network are enabled. Defaults to false.

Link copied to clipboard
val virtualNetworkSubnetId: Output<String>? = null
Link copied to clipboard
val vnetImagePullEnabled: Output<Boolean>? = null

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.

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

The local path and filename of the Zip packaged application to deploy to this Windows Function App.

Functions

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