Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.appservice.kotlin
import com.pulumi.azure.appservice.WindowsFunctionAppArgs.builder
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppAuthSettingsArgs
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppAuthSettingsArgsBuilder
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppAuthSettingsV2Args
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppAuthSettingsV2ArgsBuilder
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppBackupArgs
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppBackupArgsBuilder
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppConnectionStringArgs
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppConnectionStringArgsBuilder
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppIdentityArgs
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppIdentityArgsBuilder
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppSiteConfigArgs
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppSiteConfigArgsBuilder
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppStickySettingsArgs
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppStickySettingsArgsBuilder
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppStorageAccountArgs
import com.pulumi.azure.appservice.kotlin.inputs.WindowsFunctionAppStorageAccountArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Manages a Windows Function App.
* ## Example Usage
*
* ```typescript
* 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: {},
* });
* ```
* ```python
* 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=azure.appservice.WindowsFunctionAppSiteConfigArgs())
* ```
* ```csharp
* 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,
* });
* });
* ```
* ```go
* 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("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: nil,
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* 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()
* .build());
* }
* }
* ```
* ```yaml
* 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: {}
* ```
*
* ## Import
* Windows Function Apps can be imported using the `resource id`, e.g.
* ```sh
* $ pulumi import azure:appservice/windowsFunctionApp:WindowsFunctionApp example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1
* ```
* @property appSettings A map of key-value pairs for [App
* Settings](https://docs.microsoft.com/en-us/azure/azure-functions/functions-app-settings) and custom values.
* @property authSettings A `auth_settings` block as defined below.
* @property authSettingsV2 A `auth_settings_v2` block as defined below.
* @property backup A `backup` block as defined below.
* @property builtinLoggingEnabled Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting. Defaults to `true`.
* @property clientCertificateEnabled Should the function app use Client Certificates.
* @property clientCertificateExclusionPaths Paths to exclude when using client certificates, separated by ;
* @property clientCertificateMode The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.
* @property connectionStrings One or more `connection_string` blocks as defined below.
* @property contentShareForceDisabled Should Content Share Settings be disabled. Defaults to `false`.
* @property dailyMemoryTimeQuota 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`.
* @property enabled Is the Function App enabled? Defaults to `true`.
* @property ftpPublishBasicAuthenticationEnabled Should the default FTP Basic Authentication publishing profile be enabled. Defaults to `true`.
* @property functionsExtensionVersion The runtime version associated with the Function App. Defaults to `~4`.
* @property httpsOnly Can the Function App only be accessed via HTTPS?. Defaults to `false`.
* @property identity A `identity` block as defined below.
* @property keyVaultReferenceIdentityId 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](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#access-vaults-with-a-user-assigned-identity)
* @property location The Azure Region where the Windows Function App should exist. Changing this forces a new Windows Function App to be created.
* @property name 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](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules#microsoftweb) and [Host ID Collisions](https://github.com/Azure/azure-functions-host/wiki/Host-IDs#host-id-collisions)
* @property publicNetworkAccessEnabled Should public network access be enabled for the Function App. Defaults to `true`.
* @property resourceGroupName The name of the Resource Group where the Windows Function App should exist. Changing this forces a new Windows Function App to be created.
* @property servicePlanId The ID of the App Service Plan within which to create this Function App.
* @property siteConfig A `site_config` block as defined below.
* @property stickySettings A `sticky_settings` block as defined below.
* @property storageAccountAccessKey The access key which will be used to access the backend storage account for the Function App. Conflicts with `storage_uses_managed_identity`.
* @property storageAccountName The backend storage account name which will be used by this Function App.
* @property storageAccounts One or more `storage_account` blocks as defined below.
* @property storageKeyVaultSecretId The Key Vault Secret ID, optionally including version, that contains the Connection String to connect to the storage account for this Function App.
* > **NOTE:** `storage_key_vault_secret_id` cannot be used with `storage_account_name`.
* > **NOTE:** `storage_key_vault_secret_id` used without a version will use the latest version of the secret, however, the service can take up to 24h to pick up a rotation of the latest version. See the [official docs](https://docs.microsoft.com/azure/app-service/app-service-key-vault-references#rotation) for more information.
* @property storageUsesManagedIdentity Should the Function App use Managed Identity to access the storage account. Conflicts with `storage_account_access_key`.
* > **NOTE:** One of `storage_account_access_key` or `storage_uses_managed_identity` must be specified when using `storage_account_name`.
* @property tags A mapping of tags which should be assigned to the Windows Function App.
* @property virtualNetworkSubnetId
* @property webdeployPublishBasicAuthenticationEnabled Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to `true`.
* > **NOTE:** Setting this value to true will disable the ability to use `zip_deploy_file` which currently relies on the default publishing profile.
* @property zipDeployFile The local path and filename of the Zip packaged application to deploy to this Windows Function App.
* > **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in `app_settings`. Refer to the [Azure docs](https://learn.microsoft.com/en-us/azure/azure-functions/functions-deployment-technologies) for further details.
*/
public data class WindowsFunctionAppArgs(
public val appSettings: Output