Standard

class Standard : KotlinCustomResource

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

Properties

Link copied to clipboard

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

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

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

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

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

Link copied to clipboard

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

Link copied to clipboard

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

An identifier used by App Service to perform domain ownership verification via DNS TXT record.

Link copied to clipboard
val defaultHostname: Output<String>

The default hostname associated with the Logic App - such as mysite.azurewebsites.net

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

Is the Logic App enabled? Defaults to true.

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

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

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

An identity block as defined below.

Link copied to clipboard
val kind: Output<String>

The Logic App kind - will be functionapp,workflowapp

Link copied to clipboard
val location: Output<String>

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>

Specifies the name of the Logic App Changing this forces a new resource to be created.

Link copied to clipboard

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12

Link copied to clipboard

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

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

A site_config object as defined below.

Link copied to clipboard

A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service.

Link copied to clipboard

The access key which will be used to access the backend storage account for the Logic App

Link copied to clipboard

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
Link copied to clipboard
val tags: Output<Map<String, String>>?

A mapping of tags to assign to the resource.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

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>?

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

Link copied to clipboard