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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.appservice.kotlin
import com.pulumi.azure.appservice.LinuxFunctionAppSlotArgs.builder
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotAuthSettingsArgs
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotAuthSettingsArgsBuilder
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotAuthSettingsV2Args
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotAuthSettingsV2ArgsBuilder
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotBackupArgs
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotBackupArgsBuilder
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotConnectionStringArgs
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotConnectionStringArgsBuilder
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotIdentityArgs
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotIdentityArgsBuilder
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotSiteConfigArgs
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotSiteConfigArgsBuilder
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotStorageAccountArgs
import com.pulumi.azure.appservice.kotlin.inputs.LinuxFunctionAppSlotStorageAccountArgsBuilder
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 Linux Function App Slot.
* ## 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: "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: "Y1",
* });
* const exampleLinuxFunctionApp = new azure.appservice.LinuxFunctionApp("example", {
* name: "example-linux-function-app",
* resourceGroupName: example.name,
* location: example.location,
* servicePlanId: exampleServicePlan.id,
* storageAccountName: exampleAccount.name,
* siteConfig: {},
* });
* const exampleLinuxFunctionAppSlot = new azure.appservice.LinuxFunctionAppSlot("example", {
* name: "example-linux-function-app-slot",
* functionAppId: exampleLinuxFunctionApp.id,
* storageAccountName: exampleAccount.name,
* 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="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="Y1")
* example_linux_function_app = azure.appservice.LinuxFunctionApp("example",
* name="example-linux-function-app",
* resource_group_name=example.name,
* location=example.location,
* service_plan_id=example_service_plan.id,
* storage_account_name=example_account.name,
* site_config={})
* example_linux_function_app_slot = azure.appservice.LinuxFunctionAppSlot("example",
* name="example-linux-function-app-slot",
* function_app_id=example_linux_function_app.id,
* storage_account_name=example_account.name,
* site_config={})
* ```
* ```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 = "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 = "Y1",
* });
* var exampleLinuxFunctionApp = new Azure.AppService.LinuxFunctionApp("example", new()
* {
* Name = "example-linux-function-app",
* ResourceGroupName = example.Name,
* Location = example.Location,
* ServicePlanId = exampleServicePlan.Id,
* StorageAccountName = exampleAccount.Name,
* SiteConfig = null,
* });
* var exampleLinuxFunctionAppSlot = new Azure.AppService.LinuxFunctionAppSlot("example", new()
* {
* Name = "example-linux-function-app-slot",
* FunctionAppId = exampleLinuxFunctionApp.Id,
* StorageAccountName = exampleAccount.Name,
* 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("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("Y1"),
* })
* if err != nil {
* return err
* }
* exampleLinuxFunctionApp, err := appservice.NewLinuxFunctionApp(ctx, "example", &appservice.LinuxFunctionAppArgs{
* Name: pulumi.String("example-linux-function-app"),
* ResourceGroupName: example.Name,
* Location: example.Location,
* ServicePlanId: exampleServicePlan.ID(),
* StorageAccountName: exampleAccount.Name,
* SiteConfig: nil,
* })
* if err != nil {
* return err
* }
* _, err = appservice.NewLinuxFunctionAppSlot(ctx, "example", &appservice.LinuxFunctionAppSlotArgs{
* Name: pulumi.String("example-linux-function-app-slot"),
* FunctionAppId: exampleLinuxFunctionApp.ID(),
* StorageAccountName: exampleAccount.Name,
* 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.LinuxFunctionApp;
* import com.pulumi.azure.appservice.LinuxFunctionAppArgs;
* import com.pulumi.azure.appservice.inputs.LinuxFunctionAppSiteConfigArgs;
* import com.pulumi.azure.appservice.LinuxFunctionAppSlot;
* import com.pulumi.azure.appservice.LinuxFunctionAppSlotArgs;
* import com.pulumi.azure.appservice.inputs.LinuxFunctionAppSlotSiteConfigArgs;
* 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("Y1")
* .build());
* var exampleLinuxFunctionApp = new LinuxFunctionApp("exampleLinuxFunctionApp", LinuxFunctionAppArgs.builder()
* .name("example-linux-function-app")
* .resourceGroupName(example.name())
* .location(example.location())
* .servicePlanId(exampleServicePlan.id())
* .storageAccountName(exampleAccount.name())
* .siteConfig()
* .build());
* var exampleLinuxFunctionAppSlot = new LinuxFunctionAppSlot("exampleLinuxFunctionAppSlot", LinuxFunctionAppSlotArgs.builder()
* .name("example-linux-function-app-slot")
* .functionAppId(exampleLinuxFunctionApp.id())
* .storageAccountName(exampleAccount.name())
* .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: 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: Y1
* exampleLinuxFunctionApp:
* type: azure:appservice:LinuxFunctionApp
* name: example
* properties:
* name: example-linux-function-app
* resourceGroupName: ${example.name}
* location: ${example.location}
* servicePlanId: ${exampleServicePlan.id}
* storageAccountName: ${exampleAccount.name}
* siteConfig: {}
* exampleLinuxFunctionAppSlot:
* type: azure:appservice:LinuxFunctionAppSlot
* name: example
* properties:
* name: example-linux-function-app-slot
* functionAppId: ${exampleLinuxFunctionApp.id}
* storageAccountName: ${exampleAccount.name}
* siteConfig: {}
* ```
*
* ## Import
* A Linux Function App Slot can be imported using the `resource id`, e.g.
* ```sh
* $ pulumi import azure:appservice/linuxFunctionAppSlot:LinuxFunctionAppSlot example "/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1/slots/slot1"
* ```
* @property appSettings A map of key-value pairs for [App Settings](https://docs.microsoft.com/azure/azure-functions/functions-app-settings) and custom values.
* @property authSettings an `auth_settings` block as detailed below.
* @property authSettingsV2 an `auth_settings_v2` block as detailed below.
* @property backup a `backup` block as detailed 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 Slot use Client Certificates.
* @property clientCertificateExclusionPaths Paths to exclude when using client certificates, separated by ;
* @property clientCertificateMode The mode of the Function App Slot's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`. Defaults to `Optional`.
* @property connectionStrings a `connection_string` block as detailed below.
* @property contentShareForceDisabled Force disable the content share settings.
* @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 in Consumption Plans. Defaults to `0`.
* @property enabled Is the Linux Function App Slot enabled. Defaults to `true`.
* @property ftpPublishBasicAuthenticationEnabled Are the default FTP Basic Authentication publishing credentials enabled. Defaults to `true`.
* @property functionAppId The ID of the Linux Function App this Slot is a member of. Changing this forces a new resource to be created.
* @property functionsExtensionVersion The runtime version associated with the Function App Slot. Defaults to `~4`.
* @property httpsOnly Can the Function App Slot only be accessed via HTTPS?. Defaults to `false`.
* @property identity An `identity` block as detailed 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 name Specifies the name of the Function App Slot. Changing this forces a new resource to be created.
* @property publicNetworkAccessEnabled Should public network access be enabled for the Function App. Defaults to `true`.
* @property servicePlanId The ID of the Service Plan in which to run this slot. If not specified the same Service Plan as the Linux Function App will be used.
* @property siteConfig a `site_config` block as detailed below.
* @property storageAccountAccessKey The access key which will be used to access the storage account for the Function App Slot.
* @property storageAccountName The backend storage account name which will be used by this Function App Slot.
* @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 Slot use its Managed Identity to access storage.
* > **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 Linux Function App.
* @property virtualNetworkSubnetId
* @property webdeployPublishBasicAuthenticationEnabled Should the default WebDeploy Basic Authentication publishing credentials enabled. Defaults to `true`.
*/
public data class LinuxFunctionAppSlotArgs(
public val appSettings: Output