Interation Service Environment
Manages private and isolated Logic App instances within an Azure virtual network. !>NOTE: The azure.logicapps.InterationServiceEnvironment
resource is deprecated and will be removed in v4.0 of the Azure Provider. The underlying Azure Service is being retired on 2024-08-31 and new instances cannot be provisioned by default after 2022-11-01. More information on the retirement and how to migrate to Logic Apps Standard can be found here.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "exampleRG1",
location: "West Europe",
});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
name: "example-vnet1",
location: example.location,
resourceGroupName: example.name,
addressSpaces: ["10.0.0.0/22"],
});
const isesubnet1 = new azure.network.Subnet("isesubnet1", {
name: "isesubnet1",
resourceGroupName: example.name,
virtualNetworkName: exampleVirtualNetwork.name,
addressPrefixes: ["10.0.1.0/27"],
delegations: [{
name: "integrationServiceEnvironments",
serviceDelegation: {
name: "Microsoft.Logic/integrationServiceEnvironments",
},
}],
});
const isesubnet2 = new azure.network.Subnet("isesubnet2", {
name: "isesubnet2",
resourceGroupName: example.name,
virtualNetworkName: exampleVirtualNetwork.name,
addressPrefixes: ["10.0.1.32/27"],
});
const isesubnet3 = new azure.network.Subnet("isesubnet3", {
name: "isesubnet3",
resourceGroupName: example.name,
virtualNetworkName: exampleVirtualNetwork.name,
addressPrefixes: ["10.0.1.64/27"],
});
const isesubnet4 = new azure.network.Subnet("isesubnet4", {
name: "isesubnet4",
resourceGroupName: example.name,
virtualNetworkName: exampleVirtualNetwork.name,
addressPrefixes: ["10.0.1.96/27"],
});
const exampleInterationServiceEnvironment = new azure.logicapps.InterationServiceEnvironment("example", {
name: "example-ise",
location: example.location,
resourceGroupName: example.name,
skuName: "Developer_0",
accessEndpointType: "Internal",
virtualNetworkSubnetIds: [
isesubnet1.id,
isesubnet2.id,
isesubnet3.id,
isesubnet4.id,
],
tags: {
environment: "development",
},
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="exampleRG1",
location="West Europe")
example_virtual_network = azure.network.VirtualNetwork("example",
name="example-vnet1",
location=example.location,
resource_group_name=example.name,
address_spaces=["10.0.0.0/22"])
isesubnet1 = azure.network.Subnet("isesubnet1",
name="isesubnet1",
resource_group_name=example.name,
virtual_network_name=example_virtual_network.name,
address_prefixes=["10.0.1.0/27"],
delegations=[{
"name": "integrationServiceEnvironments",
"service_delegation": {
"name": "Microsoft.Logic/integrationServiceEnvironments",
},
}])
isesubnet2 = azure.network.Subnet("isesubnet2",
name="isesubnet2",
resource_group_name=example.name,
virtual_network_name=example_virtual_network.name,
address_prefixes=["10.0.1.32/27"])
isesubnet3 = azure.network.Subnet("isesubnet3",
name="isesubnet3",
resource_group_name=example.name,
virtual_network_name=example_virtual_network.name,
address_prefixes=["10.0.1.64/27"])
isesubnet4 = azure.network.Subnet("isesubnet4",
name="isesubnet4",
resource_group_name=example.name,
virtual_network_name=example_virtual_network.name,
address_prefixes=["10.0.1.96/27"])
example_interation_service_environment = azure.logicapps.InterationServiceEnvironment("example",
name="example-ise",
location=example.location,
resource_group_name=example.name,
sku_name="Developer_0",
access_endpoint_type="Internal",
virtual_network_subnet_ids=[
isesubnet1.id,
isesubnet2.id,
isesubnet3.id,
isesubnet4.id,
],
tags={
"environment": "development",
})
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 = "exampleRG1",
Location = "West Europe",
});
var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
{
Name = "example-vnet1",
Location = example.Location,
ResourceGroupName = example.Name,
AddressSpaces = new[]
{
"10.0.0.0/22",
},
});
var isesubnet1 = new Azure.Network.Subnet("isesubnet1", new()
{
Name = "isesubnet1",
ResourceGroupName = example.Name,
VirtualNetworkName = exampleVirtualNetwork.Name,
AddressPrefixes = new[]
{
"10.0.1.0/27",
},
Delegations = new[]
{
new Azure.Network.Inputs.SubnetDelegationArgs
{
Name = "integrationServiceEnvironments",
ServiceDelegation = new Azure.Network.Inputs.SubnetDelegationServiceDelegationArgs
{
Name = "Microsoft.Logic/integrationServiceEnvironments",
},
},
},
});
var isesubnet2 = new Azure.Network.Subnet("isesubnet2", new()
{
Name = "isesubnet2",
ResourceGroupName = example.Name,
VirtualNetworkName = exampleVirtualNetwork.Name,
AddressPrefixes = new[]
{
"10.0.1.32/27",
},
});
var isesubnet3 = new Azure.Network.Subnet("isesubnet3", new()
{
Name = "isesubnet3",
ResourceGroupName = example.Name,
VirtualNetworkName = exampleVirtualNetwork.Name,
AddressPrefixes = new[]
{
"10.0.1.64/27",
},
});
var isesubnet4 = new Azure.Network.Subnet("isesubnet4", new()
{
Name = "isesubnet4",
ResourceGroupName = example.Name,
VirtualNetworkName = exampleVirtualNetwork.Name,
AddressPrefixes = new[]
{
"10.0.1.96/27",
},
});
var exampleInterationServiceEnvironment = new Azure.LogicApps.InterationServiceEnvironment("example", new()
{
Name = "example-ise",
Location = example.Location,
ResourceGroupName = example.Name,
SkuName = "Developer_0",
AccessEndpointType = "Internal",
VirtualNetworkSubnetIds = new[]
{
isesubnet1.Id,
isesubnet2.Id,
isesubnet3.Id,
isesubnet4.Id,
},
Tags =
{
{ "environment", "development" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/logicapps"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
"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("exampleRG1"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
Name: pulumi.String("example-vnet1"),
Location: example.Location,
ResourceGroupName: example.Name,
AddressSpaces: pulumi.StringArray{
pulumi.String("10.0.0.0/22"),
},
})
if err != nil {
return err
}
isesubnet1, err := network.NewSubnet(ctx, "isesubnet1", &network.SubnetArgs{
Name: pulumi.String("isesubnet1"),
ResourceGroupName: example.Name,
VirtualNetworkName: exampleVirtualNetwork.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.1.0/27"),
},
Delegations: network.SubnetDelegationArray{
&network.SubnetDelegationArgs{
Name: pulumi.String("integrationServiceEnvironments"),
ServiceDelegation: &network.SubnetDelegationServiceDelegationArgs{
Name: pulumi.String("Microsoft.Logic/integrationServiceEnvironments"),
},
},
},
})
if err != nil {
return err
}
isesubnet2, err := network.NewSubnet(ctx, "isesubnet2", &network.SubnetArgs{
Name: pulumi.String("isesubnet2"),
ResourceGroupName: example.Name,
VirtualNetworkName: exampleVirtualNetwork.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.1.32/27"),
},
})
if err != nil {
return err
}
isesubnet3, err := network.NewSubnet(ctx, "isesubnet3", &network.SubnetArgs{
Name: pulumi.String("isesubnet3"),
ResourceGroupName: example.Name,
VirtualNetworkName: exampleVirtualNetwork.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.1.64/27"),
},
})
if err != nil {
return err
}
isesubnet4, err := network.NewSubnet(ctx, "isesubnet4", &network.SubnetArgs{
Name: pulumi.String("isesubnet4"),
ResourceGroupName: example.Name,
VirtualNetworkName: exampleVirtualNetwork.Name,
AddressPrefixes: pulumi.StringArray{
pulumi.String("10.0.1.96/27"),
},
})
if err != nil {
return err
}
_, err = logicapps.NewInterationServiceEnvironment(ctx, "example", &logicapps.InterationServiceEnvironmentArgs{
Name: pulumi.String("example-ise"),
Location: example.Location,
ResourceGroupName: example.Name,
SkuName: pulumi.String("Developer_0"),
AccessEndpointType: pulumi.String("Internal"),
VirtualNetworkSubnetIds: pulumi.StringArray{
isesubnet1.ID(),
isesubnet2.ID(),
isesubnet3.ID(),
isesubnet4.ID(),
},
Tags: pulumi.StringMap{
"environment": pulumi.String("development"),
},
})
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.network.VirtualNetwork;
import com.pulumi.azure.network.VirtualNetworkArgs;
import com.pulumi.azure.network.Subnet;
import com.pulumi.azure.network.SubnetArgs;
import com.pulumi.azure.network.inputs.SubnetDelegationArgs;
import com.pulumi.azure.network.inputs.SubnetDelegationServiceDelegationArgs;
import com.pulumi.azure.logicapps.InterationServiceEnvironment;
import com.pulumi.azure.logicapps.InterationServiceEnvironmentArgs;
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("exampleRG1")
.location("West Europe")
.build());
var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
.name("example-vnet1")
.location(example.location())
.resourceGroupName(example.name())
.addressSpaces("10.0.0.0/22")
.build());
var isesubnet1 = new Subnet("isesubnet1", SubnetArgs.builder()
.name("isesubnet1")
.resourceGroupName(example.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.1.0/27")
.delegations(SubnetDelegationArgs.builder()
.name("integrationServiceEnvironments")
.serviceDelegation(SubnetDelegationServiceDelegationArgs.builder()
.name("Microsoft.Logic/integrationServiceEnvironments")
.build())
.build())
.build());
var isesubnet2 = new Subnet("isesubnet2", SubnetArgs.builder()
.name("isesubnet2")
.resourceGroupName(example.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.1.32/27")
.build());
var isesubnet3 = new Subnet("isesubnet3", SubnetArgs.builder()
.name("isesubnet3")
.resourceGroupName(example.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.1.64/27")
.build());
var isesubnet4 = new Subnet("isesubnet4", SubnetArgs.builder()
.name("isesubnet4")
.resourceGroupName(example.name())
.virtualNetworkName(exampleVirtualNetwork.name())
.addressPrefixes("10.0.1.96/27")
.build());
var exampleInterationServiceEnvironment = new InterationServiceEnvironment("exampleInterationServiceEnvironment", InterationServiceEnvironmentArgs.builder()
.name("example-ise")
.location(example.location())
.resourceGroupName(example.name())
.skuName("Developer_0")
.accessEndpointType("Internal")
.virtualNetworkSubnetIds(
isesubnet1.id(),
isesubnet2.id(),
isesubnet3.id(),
isesubnet4.id())
.tags(Map.of("environment", "development"))
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: exampleRG1
location: West Europe
exampleVirtualNetwork:
type: azure:network:VirtualNetwork
name: example
properties:
name: example-vnet1
location: ${example.location}
resourceGroupName: ${example.name}
addressSpaces:
- 10.0.0.0/22
isesubnet1:
type: azure:network:Subnet
properties:
name: isesubnet1
resourceGroupName: ${example.name}
virtualNetworkName: ${exampleVirtualNetwork.name}
addressPrefixes:
- 10.0.1.0/27
delegations:
- name: integrationServiceEnvironments
serviceDelegation:
name: Microsoft.Logic/integrationServiceEnvironments
isesubnet2:
type: azure:network:Subnet
properties:
name: isesubnet2
resourceGroupName: ${example.name}
virtualNetworkName: ${exampleVirtualNetwork.name}
addressPrefixes:
- 10.0.1.32/27
isesubnet3:
type: azure:network:Subnet
properties:
name: isesubnet3
resourceGroupName: ${example.name}
virtualNetworkName: ${exampleVirtualNetwork.name}
addressPrefixes:
- 10.0.1.64/27
isesubnet4:
type: azure:network:Subnet
properties:
name: isesubnet4
resourceGroupName: ${example.name}
virtualNetworkName: ${exampleVirtualNetwork.name}
addressPrefixes:
- 10.0.1.96/27
exampleInterationServiceEnvironment:
type: azure:logicapps:InterationServiceEnvironment
name: example
properties:
name: example-ise
location: ${example.location}
resourceGroupName: ${example.name}
skuName: Developer_0
accessEndpointType: Internal
virtualNetworkSubnetIds:
- ${isesubnet1.id}
- ${isesubnet2.id}
- ${isesubnet3.id}
- ${isesubnet4.id}
tags:
environment: development
Import
Integration Service Environments can be imported using the resource id
, e.g.
$ pulumi import azure:logicapps/interationServiceEnvironment:InterationServiceEnvironment example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Logic/integrationServiceEnvironments/ise1
Properties
The type of access endpoint to use for the Integration Service Environment. Possible Values are Internal
and External
. Changing this forces a new Integration Service Environment to be created.
The list of access endpoint IP addresses of connector.
The list of outgoing IP addresses of connector.
The name of the Resource Group where the Integration Service Environment should exist. Changing this forces a new Integration Service Environment to be created.
A list of virtual network subnet ids to be used by Integration Service Environment. Exactly four distinct ids to /27
subnets must be provided. Changing this forces a new Integration Service Environment to be created.
The list of access endpoint IP addresses of workflow.
The list of outgoing IP addresses of workflow.