StandardArgs

data class StandardArgs(val appServicePlanId: Output<String>? = null, val appSettings: Output<Map<String, String>>? = null, val bundleVersion: Output<String>? = null, val clientAffinityEnabled: Output<Boolean>? = null, val clientCertificateMode: Output<String>? = null, val connectionStrings: Output<List<StandardConnectionStringArgs>>? = null, val enabled: Output<Boolean>? = null, val httpsOnly: Output<Boolean>? = null, val identity: Output<StandardIdentityArgs>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val resourceGroupName: Output<String>? = null, val siteConfig: Output<StandardSiteConfigArgs>? = null, val storageAccountAccessKey: Output<String>? = null, val storageAccountName: Output<String>? = null, val storageAccountShareName: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val useExtensionBundle: Output<Boolean>? = null, val version: Output<String>? = null, val virtualNetworkSubnetId: Output<String>? = null) : ConvertibleToJava<StandardArgs>

Manages a Logic App (Standard / Single Tenant)

Example Usage

With App Service Plan)

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.logicapps.Standard;
import com.pulumi.azure.logicapps.StandardArgs;
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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.accountTier("Standard")
.accountReplicationType("LRS")
.build());
var examplePlan = new Plan("examplePlan", PlanArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.kind("elastic")
.sku(PlanSkuArgs.builder()
.tier("WorkflowStandard")
.size("WS1")
.build())
.build());
var exampleStandard = new Standard("exampleStandard", StandardArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.appServicePlanId(examplePlan.id())
.storageAccountName(exampleAccount.name())
.storageAccountAccessKey(exampleAccount.primaryAccessKey())
.appSettings(Map.ofEntries(
Map.entry("FUNCTIONS_WORKER_RUNTIME", "node"),
Map.entry("WEBSITE_NODE_DEFAULT_VERSION", "~18")
))
.build());
}
}

For Container Mode)

Note: You must set azure.appservice.Plan kind to Linux and reserved to true when used with linux_fx_version

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.logicapps.Standard;
import com.pulumi.azure.logicapps.StandardArgs;
import com.pulumi.azure.logicapps.inputs.StandardSiteConfigArgs;
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 exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleAccount = new Account("exampleAccount", AccountArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.accountTier("Standard")
.accountReplicationType("LRS")
.build());
var examplePlan = new Plan("examplePlan", PlanArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.kind("Linux")
.reserved(true)
.sku(PlanSkuArgs.builder()
.tier("WorkflowStandard")
.size("WS1")
.build())
.build());
var exampleStandard = new Standard("exampleStandard", StandardArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.appServicePlanId(examplePlan.id())
.storageAccountName(exampleAccount.name())
.storageAccountAccessKey(exampleAccount.primaryAccessKey())
.siteConfig(StandardSiteConfigArgs.builder()
.linuxFxVersion("DOCKER|mcr.microsoft.com/azure-functions/dotnet:3.0-appservice")
.build())
.appSettings(Map.ofEntries(
Map.entry("DOCKER_REGISTRY_SERVER_URL", "https://<server-name>.azurecr.io"),
Map.entry("DOCKER_REGISTRY_SERVER_USERNAME", "username"),
Map.entry("DOCKER_REGISTRY_SERVER_PASSWORD", "password")
))
.build());
}
}

Import

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

$ pulumi import azure:logicapps/standard:Standard logicapp1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/logicapp1

Constructors

Link copied to clipboard
fun StandardArgs(appServicePlanId: Output<String>? = null, appSettings: Output<Map<String, String>>? = null, bundleVersion: Output<String>? = null, clientAffinityEnabled: Output<Boolean>? = null, clientCertificateMode: Output<String>? = null, connectionStrings: Output<List<StandardConnectionStringArgs>>? = null, enabled: Output<Boolean>? = null, httpsOnly: Output<Boolean>? = null, identity: Output<StandardIdentityArgs>? = null, location: Output<String>? = null, name: Output<String>? = null, resourceGroupName: Output<String>? = null, siteConfig: Output<StandardSiteConfigArgs>? = null, storageAccountAccessKey: Output<String>? = null, storageAccountName: Output<String>? = null, storageAccountShareName: Output<String>? = null, tags: Output<Map<String, String>>? = null, useExtensionBundle: Output<Boolean>? = null, version: Output<String>? = null, virtualNetworkSubnetId: Output<String>? = null)

Functions

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

Properties

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

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

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

A map of key-value pairs for App Settings and custom values.

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

If use_extension_bundle then controls the allowed range for bundle versions. Default [1.*, 2.0.0)

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

Should the Logic App send session affinity cookies, which route client requests in the same session to the same instance?

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

The mode of the Logic App's client certificates requirement for incoming requests. Possible values are Required and Optional.

Link copied to clipboard

An connection_string block as defined below.

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

Is the Logic App enabled? Defaults to true.

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

Can the Logic App only be accessed via HTTPS? Defaults to false.

Link copied to clipboard
val identity: Output<StandardIdentityArgs>? = null

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 Logic App 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 Logic App. Changing this forces a new resource to be created.

Link copied to clipboard
val siteConfig: Output<StandardSiteConfigArgs>? = null

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 Logic App

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

The backend storage account name which will be used by this Logic App (e.g. for Stateful workflows data). Changing this forces a new resource to be created.

Link copied to clipboard
val storageAccountShareName: Output<String>? = null
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 useExtensionBundle: Output<Boolean>? = null

Should the logic app use the bundled extension package? If true, then application settings for AzureFunctionsJobHost__extensionBundle__id and AzureFunctionsJobHost__extensionBundle__version will be created. Defaults to true.

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

The runtime version associated with the Logic App Defaults to ~3.

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